求助:邮件中Google Analytics图片追踪功能无法正常使用
Hey,我来帮你搞定邮件里的GA追踪问题,先从你测试网页时遇到的无数据坑说起,再给你适配邮件环境的可行方案:
一、先解决网页测试时img标签无数据的问题
你用的GA测量协议请求缺了关键参数!老版本的utmac早就被淘汰了,而且必须要有cid(客户端ID)才能让GA识别唯一用户,不然数据根本不会被记录。
修正后的网页测试用img标签示例:
<img src="https://www.google-analytics.com/collect?v=1&tid=UA-123456789-1&cid=123456.7890123&ec=email&ea=open&t=event" alt="" style="display:none;" />
小贴士:
cid得是每个用户的唯一值,网页里可以用GA的gtag('get', 'UA-123456789-1', 'client_id', (cid) => { ... })获取,或者自己生成一个随机唯一ID(比如UUID)。
二、邮件中GA追踪的正确方案(搞定邮件服务商的限制)
邮件客户端(Gmail、Yahoo这些)要么默认拦截外部图片,要么会替换图片链接,直接用普通img标签肯定不靠谱。给你三个实用方案:
1. 优化测量协议参数,适配邮件环境
当用户允许加载图片时,得确保请求能被GA正确接收。要调整这些参数:
- 用
tid替代老掉牙的utmac(UA和GA4都支持这个参数) - 必须加
cid:用用户邮箱的哈希值(比如MD5加密)作为cid,这样不管用户用什么设备打开邮件,都能关联到同一个用户 - 加
dt:给你的邮件设置一个标识,比如dt=May_2024_Newsletter,方便在GA后台区分不同邮件的追踪数据 - 把图片设为1x1像素,添加隐藏样式,避免影响邮件排版
示例代码:
<img src="https://www.google-analytics.com/collect?v=1&tid=UA-123456789-1&cid=md5(user@example.com)&ec=email&ea=open&dt=May_2024_Newsletter&t=event" alt="" width="1" height="1" style="display:block; border:0; height:1px; width:1px; margin:0; padding:0;" />
注:你的邮件服务商(比如Mailchimp、SendGrid)肯定有用户邮箱的内置变量,直接替换
md5(user@example.com)就行,不用手动加密。
2. 用UTM链接做点击追踪(更靠谱)
图片容易被拦截,但用户点击链接跳转到你网站的行为肯定能被记录。给邮件里的所有跳转链接加上UTM参数,GA会自动识别来源为邮件:
UTM参数说明:
utm_source=email:标记流量来源是邮件utm_medium=newsletter:标记流量媒介是新闻通讯utm_campaign=may_2024_newsletter:标记具体是哪一期邮件活动utm_content(可选):区分同一邮件里的不同链接(比如顶部banner和底部按钮)
示例链接:
<a href="https://yourwebsite.com/latest-news?utm_source=email&utm_medium=newsletter&utm_campaign=may_2024_newsletter&utm_content=top_banner">查看最新资讯</a>
这种方式的优势是:只要用户点击链接,就能被GA记录,完全不受图片拦截的影响,还能追踪到具体的点击行为,比单纯的打开追踪实用得多。
3. GA4用户专属方案(如果已经不用UA了)
要是你已经迁移到GA4,测量协议的接口和参数都有变化,得使用api/mp/event接口,还需要measurement_id和api_secret(在GA4后台的「数据流」设置中生成):
示例img标签:
<img src="https://www.google-analytics.com/mp/event?measurement_id=G-XXXXXXXXXX&api_secret=YOUR_API_SECRET&client_id=md5(user@example.com)&events=[{"name":"email_open","params":{"campaign":"may_2024_newsletter"}}]" alt="" width="1" height="1" style="display:none;" />
注意:
api_secret是敏感信息,不要泄露给用户;参数需要URL编码,所以引号要替换成"。
三、几个关键提醒
- 双管齐下:别只依赖图片追踪,建议同时使用「打开追踪(图片)+点击追踪(UTM链接)」,覆盖不同用户的行为场景
- 合规为先:要符合GDPR、CCPA等隐私法规,比如给用户提供退订选项,明确告知用户你在追踪邮件的打开和点击行为
- 多邮箱测试:发测试邮件到Gmail、Yahoo、Outlook等主流邮箱,去GA的实时报表里查看数据是否正常记录,确保没问题再发送正式邮件
内容的提问来源于stack exchange,提问作者GuRAm

