GTM中获取Client ID的4种方式

Google Tag Manager Haran 7年前 (2018-06-25) 4078次浏览 0个评论
文章目录[隐藏]

更新时间:2025年6月30号

这一篇介绍如何在GTM中获取Client ID

第一方Cookie

GA4会将Client ID存储在第一方Cookie _ga里:

GTM中点击「变量」—「新建」—「选择一个变量类型以开始设置」——「第一方Cookie」,命名为“cookie_ga”,做如下设置:

然后创建另一个变量,在GTM中点击「变量」—「新建」—「选择一个变量类型以开始设置」——「自定义 JavaScript」,命名为“Client ID-cookie”,做如下设置:

最后在GTM里预览测试,看变量Client ID-cookies会否能获取到Client ID

可以准确获取到。

gaGlobal

GA4跟踪代码加载后,Client ID会被赋值到window.gaGlobal.vid里 ,可以在浏览器开发者控制台里查看:

可以通过自定义 JavaScript去获取Client ID,在GTM中点击「变量」—「新建」—「选择一个变量类型以开始设置」——「自定义 JavaScript」,命名为“Client ID-gaGlobal”,做如下设置:

 

最后在GTM里预览测试,看变量Client ID-gaGloba会否能获取到Client ID

注意:gaGlobalh获取Client ID会比较慢,不建议使用。

gtag()

gtag()实际是使用Google tag API ,它是需要加载gtag.js才可以使用,也就是硬编码的方式。

如果是使用GTM,它默认是没有加载gtag,所以会报错”gtag is not defined” ,如果仍要使用,需要全局加载:

function gtag() { dataLayer.push(arguments); }

然后才可以使用gtag,受限于代码执行需要使用,并不能够在所有数据发送时,都执行了上述加载,所以可能会出现一些GA4跟踪比上述加载更快,导致获取不到Client ID,所以如果使用GTM,不建议通过这种方式去获取。

customTask

GA4中不支持customTask,所以使用不了。

 

前两种方式都会存在不能及时获取到Client ID的情况,也就是如果将其设置为自定义维度,会有一定比例的Not set。customTask就能及时获取到,但GA4还不支持。

 

延伸阅读:


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

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

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址