如何通过Google Tag Manager修改Google Analytics视图中的medium参数?
用Google Tag Manager修改GA的Medium值(替代渠道分组方案)
嘿,这个需求我刚好实操过,完全可以用GTM实现,而且比渠道分组更灵活——毕竟渠道分组是事后对数据做归类,而GTM能在数据发送给GA之前就把Medium改成你想要的值,原始数据更准确,后续分析也少了很多麻烦。下面给你一步步说怎么做:
核心思路
通过GTM捕获页面的Referrer,判断是否来自目标域名(比如outlook.live.com),如果是,就把即将发送给GA的medium字段替换成email;其他来源则保留原本的Medium值,不影响正常数据收集。
具体步骤
1. 创建获取Referrer的自定义变量
在GTM后台:
- 进入「变量」>「用户定义变量」,点击「新建」
- 变量类型选择「JavaScript变量」
- 输入代码:
document.referrer - 命名为「Page Referrer」,保存
2. 创建触发条件(针对目标域名的页面访问)
- 进入「触发器」>「新建」
- 触发类型选择「页面视图」(如果是单页应用,可以选「DOM Ready」或「Window Loaded」,根据你的站点情况来)
- 在「触发条件」里添加规则:
{{Page Referrer}} 包含 outlook.live.com - 命名为「Outlook Referral Page View」,保存
3. 修改GA标签的字段设置
这里分UA(Universal Analytics)和GA4两种情况,操作逻辑类似:
针对UA标签:
- 找到你的Universal Analytics跟踪标签,点击编辑
- 滚动到「更多设置」>「自定义维度和指标」>「字段名称」,点击「添加字段」
- 字段名称填:
medium - 值的部分,我们用一个自定义JavaScript函数来判断:
- 点击值输入框旁边的「变量」按钮,选择「新建变量」
- 变量类型选「自定义JavaScript」
- 输入以下代码:
function() { var referrer = {{Page Referrer}}; // 可以添加多个域名判断,比如gmail.com、yahoo.com等 if (referrer.includes('outlook.live.com')) { return 'email'; } else { // 保留原本的Medium值,不影响其他来源 return {{Medium}}; } } - 命名为「Custom Medium - Email Referrals」,保存
- 最后,把这个标签的触发条件改成刚才创建的「Outlook Referral Page View」,或者如果想全局生效(所有页面都判断),也可以保留默认的「所有页面」触发(推荐全局,避免漏统计)
针对GA4标签:
- 找到你的GA4配置标签,点击编辑
- 滚动到「字段」部分,点击「添加字段」
- 字段名称填:
medium - 值同样用上面的自定义JavaScript变量「Custom Medium - Email Referrals」
- 触发条件同样设置为「所有页面」或目标触发器即可
测试验证
用GTM的「预览」模式,从outlook.live.com跳转你的站点,查看GA标签发送的请求参数,确认medium字段已经变成email而不是referral。也可以在GA实时报告里查看「来源/媒介」,确认数据已经正确上报。
和渠道分组的区别
- 渠道分组:是在GA后台对已收集的数据做二次归类,历史数据会按照新规则重新计算,但原始数据的
medium还是referral,如果后续规则变化,可能需要重新调整分组。 - GTM修改:是在数据发送前就修正
medium,GA收集到的原始数据就是email,后续分析不需要依赖分组规则,数据更直接。
内容的提问来源于stack exchange,提问作者user3387682
相关产品推荐
相关产品推荐

