← 返回博客
追踪打开率点击率分析

邮件打开率与点击追踪:原理、实现与隐私

追踪像素和点击链接的实现原理、Rovela 内置追踪、Apple MPP 对打开率的影响。

更新于 2026年10月12日
邮件打开率与点击追踪:原理、实现与隐私

邮件打开率与点击追踪:原理、实现与隐私

打开率和点击率是衡量邮件效果的基础指标,但它们的实现原理和局限性值得深入了解。

打开追踪的原理

打开追踪通过在邮件 HTML 里嵌入一个 1×1 像素的透明图片实现。当用户打开邮件加载图片时,请求打到追踪服务器,记录一次打开:

<img src="https://track.yourdomain.com/open?eid=abc123" width="1" height="1" style="display:none;" />
// 追踪服务器
app.get('/open', async (req, res) => {
  const { eid } = req.query;
  await db.query('UPDATE emails SET opened_at = NOW() WHERE id = $1', [eid]);
  // 返回 1×1 透明 GIF
  res.set('Content-Type', 'image/gif');
  res.send(Buffer.from('R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7', 'base64'));
});

点击追踪的原理

把邮件里的链接替换成追踪链接,点击时先经过追踪服务器记录,再重定向到目标 URL:

// 追踪服务器
app.get('/click', async (req, res) => {
  const { eid, url } = req.query;
  await db.query(
    'INSERT INTO email_clicks (email_id, url, clicked_at) VALUES ($1, $2, NOW())',
    [eid, url]
  );
  res.redirect(302, decodeURIComponent(url));
});

Rovela 的内置追踪

Rovela 支持自动追踪打开和点击,并通过 Webhook 推送事件。不需要自己实现上面的逻辑:

// Rovela webhook 事件类型:
// email.opened, email.clicked, email.delivered, email.bounced, email.complained

打开率的局限性

  • Apple Mail Privacy Protection(iOS 15+):预加载所有邮件图片,打开率虚高
  • 图片默认关闭:Outlook 用户不加载图片,打开不被记录
  • 实际打开率通常比数据高 15-20%(未加载图片的用户)

不要单独用打开率评估效果,结合点击率和转化率一起看。