Google 分析实现跨域名统计

更新日期: 2019-12-31 阅读次数: 5084 字数: 420 分类: Javascript

有些场景下,需要将多个不同的域名放到同一个 Google 分析的媒体资源下,这样所有流量就能在统一的视图下查看。举个例子:

  • 推广/引流类的网站域名是 www.a.com 及 www.b.com
  • 在线下单购买的网站域名是 www.c.com

用户可能先搜索到了 www.a.com 里的内容,然后产生了购买欲望,然后跳转到 www.c.com 进行下单。要监控 a.com 到 c.com 的访问路径,及转化率,就需要将这三个域名放到一个媒体资源下。

示例代码

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-10338482-36"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-xxx-x', {
	  'linker': {
		'domains': ['www.a.com', 'www.b.com', 'www.c.com']
	  }
	});
</script>

实现原理

具体实现原理,及设置方法,可以参考 Google 分析的官方文档 Measure activity across domains

加上域名列表之后,多个域名之间跳转就会被认定为一个活跃用户了,否则会被判断成三个活跃用户。原因是,每次访问时,google 分析代码会生成一个访客ID,即 _ga。在跳转到第二个域名时,又生成了新的访客 ID。所以同一个用户就被判定成了多个活跃用户。而通过配置,在这几个域名之间相互跳转时,GA 代码会自动在链接里追上 _ga 的值,这样就能自动识别是否是同一个用户了。

引荐排除列表

但是,还有一个问题需要注意,虽然一个用户访问三个域名,被当成了一个会话。但是依然会显示会员来源是彼此,需要在“引荐排除列表”里将这几个域名添加上。

Google 分析实现跨域名统计

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式