如何在Google Analytics 4 中做跨站跟踪

Google Analytics 4 Haran 3年前 (2022-03-12) 4565次浏览 14个评论
文章目录[隐藏]

更新时间:2024年7月5号

Google Analytics 4 中也可以实现跨站跟踪,而且设置过程更加简单,不需要设置allowLinker,直接在数据流里就可以设置。

设置前提

两个站点要使用相同的衡量ID,将数据发送到同一个媒体资源。

如何在Google Analytics 4 中做跨站跟踪

其次是你的账号必须具备编辑权限。

 

实现原理

实现的原理还是跟统一版的GA是类似的,通过URL上传递,GA4传递的是加密字符串,而不是明文Client ID。

如从A.com跳转到B.com,A的client Id是123,那么点击链接到达B的时候,标识符会通过由键 _gl 标识的网址参数从一个网站传递至另一个网站,gl 表示Google Linker,例如:https://www.B.com/?_gl=1*abcde5*

注意,gl后面的不是Client ID,而是一串加密的字符,叫装饰链接。

Google Analytics 4 上设置跨站跟踪

假设现在要对www.icdata.com和www.test.com做跨站跟踪

GTM上设置

现在已经在这两个网站上分别布署了GTM-A和GTM-B,且在这两个GTM上都用相同的衡量ID(G-HZ4RDGTX66)设置跟踪代码,将数据发送到同一个媒体资源,设置如下:

如何在Google Analytics 4 中做跨站跟踪

Google Analytics 4 上配置网域

现在来做跨站跟踪Google Analytics 4 中点击「管理」——「数据流」,选择你要设置的数据流,然后点击Google代码里的「配置代码设置」

如何在Google Analytics 4 中做跨站跟踪

然后点击「配置您的网域」,将要跨站的两个域名添加上去即可:

如何在Google Analytics 4 中做跨站跟踪

 

然后保存

跨站跟踪测试

GA4上的跨站跟踪设置完成后,在www.ichdata.com上点击跳转到www.test.com,你可以在www.test.com的着陆页上看到如下:

如何在Google Analytics 4 中做跨站跟踪

看到网址参数包含有_gl就表示跨站跟踪测试成功。

前面说到_gl是Google Linker,它里面其实是有三个链接参数,分别是:1、_ga、_ga_3FX847CLRT,作用如下:

  • 1:做时间验证
  • _ga:Client ID的加密值,如807047269.1646632957
  • _ga_3FX847CLRT:是基于_ga_3FX847CLRT里的值加密,如1.16467243915.1.1646731464.6

跨站跟踪验证

我們还可以再验证一下,在浏览器开发者工具里看www.ichdata.com和www.test.com的Cookie _ga:

如何在Google Analytics 4 中做跨站跟踪

Client ID都是一样,自然就可以识别为同一个用户。

 

跨站跟踪失败的几种特殊情况

  • 重定向:如A和B做跨站跟踪,但实际上从A点击B的链接是重定向跳转到C,然后才跳转到B,那么这种情况是做不了跨站跟踪的。
  • 浏览器限制:浏览器的隐私政策限制
  • 代码冲突:代码冲突导致错误

如有疑问,可以在文章底部留言或邮件(haran.huang@ichdata.com) 我~
喜欢 (1)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(14)个小伙伴在吐槽
  1. 我这边网站跨顶级域名,有进行重定向大部分是可以跟踪到的,少部分断开,分成两个用户了,是重定向的原因吗
    zhizhi2024-08-16 17:18 回复 Windows 10 | Chrome 127.0.0.0
    • Haran
      是的
      Haran2024-08-17 08:28 回复 Mac OS X | Chrome 127.0.0.0
      • 如果是重定向的原因,不应该是所有用户都无法识别吗,为什么会出现仅部分用户事件断开(GA给了两个伪id值,并且跳B站点链接都携带_gl),说明用户跨域参数携带正常,就不知道哪一步携带的信息GA未识别为同一用户,您看有什么办法校验吗
        zhizhi2024-08-19 11:32 回复 Windows 10 | Chrome 127.0.0.0
        • Haran
          是的。可能浏览器的一些本地的隐私保护机制将参数移除。可以测试不同浏览器,从A站点跳转到B站点,两者的Cookie _ga的值一样就表示配置正确。少数由于浏览器机制,这个没法处理;如果还有其他特殊情形导致,这需要进一步分析。
          Haran2024-08-19 11:50 回复 Mac OS X | Chrome 127.0.0.0
          • 非常感谢您的回复,我查看从A站点跳转到B站点,两者的Cookie _ga的值不一样,并且这个用户在A站点和B站点都会触发first_visit,但不影响有部分用户的伪id是一致的,_ga的值与伪id应该不是一个概念,另外浏览器也没有获取到规律,从异常用户群设备分布看,Safari (in-app)、Chrome、Edge、Android Webview、Firefox,都存在一定占比,AB站使用不同GTM,发送至同一数据流,A站点GA4配置跨域,在这个数据流中,存在用户只有B站点的事件,但B站点只有一个入口是通过A站点,您看有发现什么问题吗,谢谢
            zhizhi2024-08-19 16:00 Windows 10 | Chrome 127.0.0.0
          • Haran
            两者的Cookie _ga的值不一样,说明跨站跟踪没设置对。
            Haran2024-08-19 16:25 Mac OS X | Chrome 127.0.0.0
  2. 您好,请问跨域的clind_id关联,必须从A域点击跳转到B域才能实现关联。如果是同一台设备同个浏览器,不同页签分别打开A站和B站,此时clind_id仍然是相互独立的吗?
    addcn_data2024-07-10 19:25 回复 Mac OS X | Chrome 126.0.0.0
    • Haran
      clind_id? 没这个东西。如果是同一台设备同个浏览器,不同页签分别打开A站和B站,这种不行。
      Haran2024-07-10 21:48 回复 Mac OS X | Chrome 126.0.0.0
  3. 你好,想请问一下,如果是同一主域下不同站点,想要区分两个站点的流量,是不是只能布局不同的数据流?比如语言站点:www.123.com/en/、www.123.com/jp/。但是主域又有检测代码,这样会不会数据又冲突呀?
    罗伊2023-08-31 09:28 回复 Windows 10 | Chrome 107.0.0.0
    • Haran
      URL有特征,可以通过一个用户属性去区分。
      Haran2023-08-31 09:44 回复 Mac OS X | Chrome 116.0.0.0
  4. 您好,不同顶级域名的两个站点是否需要使用不同的stream?我看ga4新版里面没有hostname了,好像是改用stream name或id去区分是哪个网站的流量。
    柳青2022-04-13 14:35 回复 Windows 7 | Chrome 100.0.4896.75
    • Haran
      不能,要同一个数据流的,有hostname这个维度的
      黄业忠2022-04-13 18:00 回复 Mac OS X | Safari浏览器 604.1
  5. 您好,想问下,GA4的跨子域该怎么做呢,是不是所有子域都放一个property的代码?
    大肠包小肠2022-03-24 09:44 回复 Windows 10 | Chrome 99.0.4844.74
    • Haran
      默认开启,用同一套代码即可。
      黄业忠2022-03-24 11:11 回复 Mac OS X | Chrome 99.0.4844.83