ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

MailCheap统计功能详解:打开/点击追踪与收件箱分布报告,数据不再虚高

MailCheap统计功能详解:打开/点击追踪与收件箱分布报告,数据不再虚高

【免费下载链接】mailcheap

Newsletters where you pay for the emails you send, not for dormant subscribers, at a fraction of the price of beehiiv and the like. Open source: self-host it, or use mailcheap.ai.

项目地址:https://gitcode.com/gh_mirrors/mai/mailcheap
点击查看免费下载

MailCheap 是一款开源 Newsletter(邮件通讯)平台,按"实际发出的邮件数"计费,而不是按沉默订阅者收费。除了计费模式,它最受新手关注的其实是统计功能:打开率与点击追踪如何做到"数据不虚高",以及收件箱分布报告如何告诉你读者究竟用哪个邮箱打开邮件。本文带你完整看懂 MailCheap 统计背后的机制和界面。

为什么邮件平台的统计数据容易"虚高"?

很多 Newsletter 作者发现:自己的打开率看起来很高,点进去却没人。问题出在"假打开"上:

  • 安全网关预打开:Microsoft、Proofpoint、Mimecast、Barracuda 等企业邮件安全服务会在邮件到达时自动展开所有链接和图片,被追踪系统记成一次"打开"和"点击";
  • 爬虫与预览器:各种 bot、crawler、headless 浏览器也会访问追踪链接;
  • 重复计数:读者多点几次链接、事件重发,都被算成多次点击。

MailCheap 从设计上就把这些"噪音"挡在了统计之外,这也是它打开/点击数据比较"干净"的原因。

打开追踪:1×1 像素与签名地址

MailCheap 的打开追踪基于一个 1×1 像素的透明图片。每封邮件发送时,系统会在 HTML 的<body>标签最前面插入这个像素,地址形如:

https://<你的域名>/o/<邮件ID>.<签名>

这里有几个细节值得注意(实现见 lib/tracking.js):

  • 签名防伪:签名是对邮件 ID 计算的 HMAC 摘要,无法伪造,也无法被挪用到其他邮件上;
  • 像素放在最前面:因为 Gmail 会截断过长的邮件,像素放最前才能确保先加载、先记录打开;
  • 不拖慢加载:像素请求总是立即返回 1×1 GIF,打开记录在响应发出之后才异步写入(app/o/[token]/route.js),读者不会为统计等待。

💡 小提示:如果你的读者客户端禁用了图片,这次打开就不会被记录。所以 MailCheap 把"点击"视为更强的信号(后文会讲)。

点击追踪:所有链接都经过签名跳转

打开/点击追踪是 MailCheap 的默认能力,无需任何配置。发送邮件时,正文里每个链接都会被自动改写成中转地址,形如:

https://<你的域名>/c/<邮件ID>.<签名>.<目标地址编码>

读者点击后,服务器做三件事(app/c/[token]/route.js):

  1. 校验签名——签名和"邮件 ID + 目标 URL"绑定,不能伪造,也不能借此把访客跳转到任意网站;
  2. 记录这次点击(异步,不阻塞跳转);
  3. 302 重定向到真实目标。

两个安全细节让这套追踪更"干净":

  • 退订链接保持直连:收件箱服务商期待退订链接直接有效,所以它不参与跳转,点击退订也不计入"点击"统计;
  • 签名失效的链接会降级:如果签名对不上(比如密钥轮换过),链接不会自动跳转,而是显示一个"Continue"中转页,由读者手动点击,避免该域名被用于任意跳转攻击。

数据不虚高:三条内置的清洗规则

MailCheap 在 lib/tracking.js 和 lib/email-events.js 中内置了防虚高规则:

规则做法效果
🛡 扫描器过滤匹配 User-Agent 中的 bot / crawl / preview / scan / proofpoint / mimecast / safelinks 等特征;且发送后 30 秒内的访问视为网关预扫描安全网关的"预打开"照常获得重定向,但不计入点击
🔁 只记第一次每个计数器只在"状态首次变化"时移动(如首次打开、首次点击),事件重发无害同一读者反复打开/点击,只算一次
📉 点击即打开读者可能禁用了图片,所以一次点击自动补记为一次打开打开数只增不"漏",且不与重复点击叠加

除此之外:被停用(blocked)账号的打开与点击一律不计数,其链接直接停止跳转;垃圾邮件陷阱(spam trap)触发的硬退信会直接冻结账号,从源头上避免"为了好看而发"。

收件箱分布报告:看看读者用哪个邮箱打开

打开率整体不错,但读者到底来自哪里?MailCheap 按收件邮箱域名把消息归属到具体服务商(lib/providers.js):

  • Gmail:gmail.com、googlemail.com
  • Outlook:outlook.com、hotmail.com、live.com、msn.com 等
  • Yahoo:yahoo.com、aol.com 等
  • iCloud:icloud.com、me.com、mac.com
  • Proton:proton.me、protonmail.com
  • Other:以上之外的域名

打开某个已发送活动的报告页(components/CampaignReport.jsx),你会看到一张"Inbox"分布表:每个收件箱一行,列出Sent / Delivered / Opened / Clicked / Bounced / Complaints六列数据,按发送量排序。这个表格能回答很实际的问题:

  • 哪家的退信率异常?→ 重点检查那批地址的质量;
  • 哪家的打开率最高?→ 内容发送时间可以往那家用户的活跃时段靠拢;
  • 投诉(Complaints)集中在哪?→ 立即暂停对该批次的发送,避免账号被停。

该报告的数据由 lib/message-stats.js 的聚合规则统一生成:每条消息记录sentAt / deliveredAt / openedAt / clickedAt / bouncedAt / complainedAt时间戳,统计按"是否发生过"累加,天然去重。

在哪里看数据:Overview 与活动报告

MailCheap 的统计入口有两层:

1. Overview 总览页(app/(overview)/page.js/page.js))

  • Last 30 days 卡片:Sent(发送量)、Delivered(送达率)、Opened(打开率)、Clicked(点击率)、Bounced(退信率)、Complaints(投诉率),每个数字下方带与"前 30 天"的环比变化;
  • Subscribers 曲线:最近 30 天订阅者总量,实线为本期、虚线为上一期,对比一目了然;
  • Emails sent per hour:今天逐小时发送量,背后叠着昨天的浅色柱,方便对比节奏(components/ChartSends.jsx)。

2. 活动(Campaign)报告页

发送后进入单个活动页面,看到六张统计卡片(Delivered / Opened / Clicked / Bounced / Complaints / Unsubscribed,均展示"比率 + 绝对数")加上前述收件箱分布表,右侧还有该邮件的完整预览。发送中还能看到进度条与预热(warm-up)提示。

另外,开启归档页(Archive)后,文章页面的阅读次数由 components/TrackView.jsx 统计:同一文章、同一浏览器、24 小时内只算一次,刷新页面不会重复计数。

小结

MailCheap 的统计功能对新手友好之处在于"零配置 + 自动清洗":

  • ✅ 打开/点击追踪默认生效,像素与链接均带 HMAC 签名,无法伪造;
  • ✅ 安全网关预扫描、爬虫访问被自动过滤,30 秒窗口 + User-Agent 特征双重判断;
  • ✅ 每个读者只计首次,退订点击不算互动,数据不虚高;
  • ✅ 收件箱分布报告按 Gmail / Outlook / Yahoo / iCloud / Proton 拆分,直接指导你优化发送策略。

如果你想深入细节,推荐按这条路径阅读源码:lib/tracking.js(签名与像素)→ lib/email-events.js(事件落库)→ lib/email-event-rules.js(各类事件的归一化规则)→ components/CampaignReport.jsx(报告展示)。MailCheap 支持自托管部署,以上规则在你的私有实例中同样生效。

【免费下载链接】mailcheap

Newsletters where you pay for the emails you send, not for dormant subscribers, at a fraction of the price of beehiiv and the like. Open source: self-host it, or use mailcheap.ai.

项目地址:https://gitcode.com/gh_mirrors/mai/mailcheap
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进