Sendgrid如何获取点击跟踪链接 实现AMP邮件手动触发点击事件
SendGrid AMP邮件点击跟踪失效解决方案
前置配置检查
SendGrid V3 API 默认不会自动重写AMP邮件内容的链接,避免改写后内容不符合AMP语法校验规则。你可以先补充enableForAmp参数开启AMP专属链接跟踪,完整配置示例如下:
const msg = { to: '收件人邮箱', from: '发件人邮箱', subject: '邮件主题', content: [ { type: 'text/plain', value: '纯文本内容' }, { type: 'text/html', value: '普通HTML内容' }, { type: 'text/x-amp-html', value: '你的AMP邮件内容' } ], trackingSettings: { clickTracking: { enable: true, enableText: true, enableForAmp: true // 专门控制AMP内容的链接重写开关 } } }
如果配置后动态自定义链接还是无法被重写,可以使用以下两种方案手动实现点击跟踪。
方案1:预生成跟踪链接手动插入AMP内容
你可以提前生成对应目标链接的重写跟踪地址,手动替换到AMP内容中:
- 构造仅包含目标链接的普通测试邮件,调用SendGrid发送接口,开启
clickTracking: true,不包含AMP内容 - 从返回的邮件原始内容中提取目标链接对应的重写后跟踪地址,格式和你给出的示例一致:
http://ur123456.website.com/ls/click?upn=xxxx - 将提取到的跟踪链接替换到AMP邮件的对应链接位置,替换完成后建议先校验AMP内容的合法性,避免链接问题导致邮件无法正常展示
方案2:手动上报点击事件到SendGrid
如果链接是完全动态生成、无法提前预生成跟踪地址,可以主动上报点击数据到SendGrid统计体系:
- 确保你的SendGrid账号API密钥拥有
events.write权限 - 发送邮件时将SendGrid返回的
sg_message_id注入到AMP邮件的变量中,和收件人信息一一对应 - 在AMP邮件中接入
amp-analytics组件,当用户点击动态链接时触发上报请求,请求必填参数包括:event:固定填clickemail:当前收件人邮箱地址sg_message_id:提前注入的对应邮件IDurl:用户点击的原始目标链接sg_event_id:自行生成的唯一事件标识
- 上报成功后点击数据会自动同步到你的SendGrid统计面板,和对应邮件的其他数据合并统计
内容的提问来源于stack exchange,提问作者Alexandr Kazakov
相关产品推荐
相关产品推荐

