GA4如何通过主域标签跟踪不同子域的访客来源?
主域GA4跟踪子域来源及Referrer数据展示解决方案
一、实现子域来源跟踪
1. 配置Cookie共享(同主域子域场景)
如果子域是同主域下的二级域名(如sub1.example.com指向example.com),需确保GA4的Cookie域设置为**.example.com**(带前缀点),让子域与主域共享用户标识:
- 通过GTM配置:在GA4配置标签的“字段设置”中添加
cookie_domain字段,值设为.example.com - 直接修改代码:
gtag('config', 'G-XXXXXX', { cookie_domain: '.example.com' });
2. 自定义维度捕获子域来源
GA4默认不会单独拆分子域来源,需通过自定义参数+维度实现:
步骤1:传递子域参数
- GTM场景:在GA4配置标签的“用户属性”或“事件参数”中添加
subdomain_source,值选择内置变量{{Referrer Hostname}}(若无直接来源则设为direct) - 代码场景:修改GA4初始化代码,主动传递来源子域:
gtag('config', 'G-XXXXXX', { custom_map: { 'dimension1': 'subdomain_source' }, subdomain_source: document.referrer ? new URL(document.referrer).hostname : 'direct' });
步骤2:创建GA4自定义维度
- 进入GA4后台 → 管理 → 自定义定义 → 创建自定义维度
- 名称填“子域来源”,范围选“用户”(跟踪用户首次访问的子域)或“事件”(跟踪每次会话的子域)
- 参数名称填
subdomain_source,保存后等待数据同步(通常24小时内生效)
3. 跨域测量配置(不同域名别名场景)
若子域是独立域名做CNAME指向主域(如otherdomain.com指向example.com),需配置跨域测量:
- 进入GA4后台 → 管理 → 数据流 → 选择主域数据流 → 更多设置 → 跨域测量
- 添加所有子域/别名域名到“跨域列表”,格式为
otherdomain.com、sub1.example.com等 - 确保网站的
Referrer-Policy头设置为strict-origin-when-cross-origin或更宽松的策略,保证referrer数据正常传递
二、Referrer数据已传递但GA4面板不展示的解决办法
1. 检查内部流量排除规则
GA4默认会将同域/内部IP的流量排除,若子域被误加入内部流量列表:
- 进入GA4后台 → 管理 → 数据流 → 选择主域数据流 → 排除内部流量
- 检查列表中是否包含目标子域,若有则删除,避免数据被过滤
2. 调整推荐排除列表
若GA4将子域视为“内部来源”而不展示,需修改推荐排除设置:
- 进入GA4后台 → 管理 → 数据流 → 更多设置 → 推荐排除列表
- 移除主域或子域的规则,让GA4将子域referrer视为外部来源
3. 通过探索功能自定义报告
即使数据已被收集,GA4默认报告可能不展示自定义维度,需用探索功能创建专属报告:
- 进入GA4后台 → 探索 → 创建 → 空白探索
- 在“维度”中添加自定义维度“子域来源”,在“指标”中添加用户数、会话数等
- 将维度拖到“行”区域,指标拖到“值”区域,即可看到各子域的来源数据
4. 验证数据是否实际收集
在GA4实时报告中,查看页面浏览事件的参数,确认referrer或subdomain_source是否存在:
- 进入GA4后台 → 实时 → 事件 → 点击
page_view事件 → 查看参数列表 - 若参数存在,说明数据已收集,仅需通过自定义报告展示;若不存在,需检查代码/GTM配置是否生效
内容的提问来源于stack exchange,提问作者xxredxoctoberxx
相关产品推荐
相关产品推荐

