如何借助GTM追踪来自Mailchimp的GA4表单提交转化
核心思路
因为网站Referrer为空,没法直接通过来源判断用户是否来自Mailchimp,所以要把Mailchimp的标识(mc_cid)存在用户会话里,让后续注册页的按钮点击能读取这个标识,实现精准追踪。
步骤1:存储Mailchimp会话标识
把用户从Mailchimp邮件带来的mc_cid存入浏览器会话存储(Session Storage),整个会话内的页面都能读取到。
创建自定义JS变量:提取URL中的
mc_cid参数
命名为{{MC CID}},代码如下:function() { const urlParams = new URLSearchParams(window.location.search); return urlParams.get('mc_cid') || null; }创建触发条件:用户从Mailchimp进入宣传页时触发
触发类型选「Page View」,条件设为Page URL包含mc_cid=创建HTML标签:把
mc_cid存入Session Storage
标签内容:<script> if ('{{MC CID}}') { sessionStorage.setItem('mailchimp_source', '{{MC CID}}'); } </script>触发条件选刚才创建的「Mailchimp宣传页访问」触发
步骤2:识别注册页的Mailchimp来源用户
在注册页读取会话存储里的标识,判断用户是否来自Mailchimp邮件。
- 创建自定义JS变量:读取Session Storage中的
mailchimp_source
命名为{{Mailchimp Source}},代码如下:function() { return sessionStorage.getItem('mailchimp_source') || null; }
步骤3:调整REGISTER按钮的转化追踪
修改你已有的注册按钮点击标签,添加条件筛选Mailchimp来源用户。
修改触发条件:在原有的「REGISTER按钮点击」触发基础上,追加条件:
{{Mailchimp Source}}不为空
(比如原触发是「点击元素文本等于REGISTER」,现在组合成:点击元素匹配REGISTER按钮 且{{Mailchimp Source}}存在)优化GA4事件参数:在GA4事件标签里,添加自定义参数
source: "mailchimp"和mc_cid: "{{Mailchimp Source}}",方便后续在GA4后台筛选分析
替代方案:URL参数传递(会话存储不可用时)
如果网站限制不能用Session Storage,可以把mc_cid直接传递到注册页URL:
- 复用步骤1的
{{MC CID}}变量 - 创建链接修改标签:给宣传页的「进入注册页」按钮追加
mc_cid参数
触发类型选「Link Click」,条件为点击的URL包含/register,标签内容:<script> document.addEventListener('click', function(e) { const target = e.target.closest('a'); if (target && target.href.includes('/register') && '{{MC CID}}') { target.href += (target.href.includes('?') ? '&' : '?') + 'mc_cid={{MC CID}}'; } }); </script> - 注册页提取参数:创建变量读取注册页URL中的
mc_cid,再用这个变量作为注册按钮点击触发的条件之一
验证方法
- 用GTM预览模式,从Mailchimp测试链接进入宣传页,检查Session Storage是否存入了
mailchimp_source - 点击进入注册页,确认
{{Mailchimp Source}}变量能读取到值 - 点击REGISTER按钮,检查GA4事件是否触发,且参数包含Mailchimp标识
内容的提问来源于stack exchange,提问作者David

