GA4/GTM中获取Client ID的2种正确方式

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

更新时间:2025年8月2号

这一篇介绍如何在GA4/GTM中获取Client ID,你可能会首先会想到使用第一方Cookie、自定义JavaScript,或window.gaGlobal.vid的方式,但这几种方式都有可能获取不到Client ID,从而导致not set出现,我是不推荐使用这几种方法的。

有些人还会想到customTask,这是UA里的使用的方式,但GA4不支持,所以也不适用。

GA4该如何正确,准确获取Client ID呢?

  • 如果你是硬编码安转GA4,使用gtag()
  • 如果你是使用GTM安装GA4,使用readAnalyticsStorage API

GA4:gtag()

gtag()实际是使用Google tag API ,它是需要加载gtag.js才可以使用,也就是使用GA4硬编码布署的方式才可以使用gtag,使用方法如下:

gtag('get', 'YOUR_MEASUREMENT_ID', 'client_id', (client_id) => {
    // do something with client_id
})

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

function <a href="https://www.ichdata.com/tag/gtag" title="查看更多关于gtag的文章" target="_blank">gtag</a>() { dataLayer.push(arguments); }

但这样会有执行顺序的问题,全局没加载的时候,使用不了。

 

GTM:readAnalyticsStorage API

这是GTM提供的一个API,用于获取Client ID/Session ID。

它通过自定义变量模板去实现,你需要创建一个自定义变量模板,在里面使用readAnalyticsStorage API去获取Client ID/Session ID,已经有人分享了代码模板,如:https://github.com/luratic/ga4_get_client_id_and_session_info下载后,在的「模板 」——「变量」里导入:

然后就可以用它去创建变量,GTM中点击「变量」—「新建」—「选择一个变量类型以开始设置」——「GA4 – Get Client Id & Session Info (Safe API)」,命名为“Client ID”,做如下设置:

 

延伸阅读:


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

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

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