首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用gtag.js获取客户端ID

使用gtag.js获取客户端ID
EN

Stack Overflow用户
提问于 2018-01-21 23:36:02
回答 3查看 11.1K关注 0票数 14

据我所知,谷歌在几个月前发布了gtag.js,作为谷歌分析的新跟踪方式,最终取代了analytics.js。在建立一个新的谷歌分析账户时,gtag.js是默认的,所以代码片段是这样的:

代码语言:javascript
复制
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-12345678-1', 'auto');
  ga('send', 'pageview');
</script>

要这样做:

代码语言:javascript
复制
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-123456789-1"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-123456789-1');
</script>

我需要做的是用gtag.js获取客户端ID。使用旧脚本,我可以执行以下操作。

代码语言:javascript
复制
ga(function(tracker) {
  let clientId = tracker.get('clientId');
});

从外观上看,gtag.js通过Google Tag Manager加载相同的analytics.js脚本,因为ga变量确实可用。但是,这里有一些不同之处,因为在调用回调时,tracker参数是undefinedbecause gtag.js does not use trackers,所以这种方法clear将不起作用。

我通过the documentation for gtag.js查找了一下,但是没有找到任何关于如何获取客户端ID的信息。analytics.js states not to access the cookie directly获取客户端ID的文档,这很有意义。但是,有没有办法通过gtag.js的cookie应用程序接口获得它,或者我现在必须求助于读取JavaScript吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-01-22 19:11:55

虽然跟踪器id属性不可用,但它仍然是一个合适的ga跟踪器,至少目前是这样。因此,下面的代码可以用来获取clientId:

代码语言:javascript
复制
ga.getAll().forEach( (tracker) => {
  var id = tracker.get('clientId'); console.log(id)
})

在使用ga.getAll()访问ga跟踪器之后,您可以设置'customTask‘,它会将clientId分配给您选择的自定义维度。看看Simo的指南here

票数 12
EN

Stack Overflow用户

发布于 2021-02-07 02:39:37

公认的答案不再有效。正确的、最新的方法是:

代码语言:javascript
复制
gtag('get', 'YOUR_MEASUREMENT_ID', 'client_id', (client_id) => {
    // do something with client_id
})

请参阅official Gtag.js docs中有关get的文档。

票数 4
EN

Stack Overflow用户

发布于 2018-01-21 23:39:24

有一种未记录的方法可以让客户端is进入GA:

代码语言:javascript
复制
gtag('config', 'UA-12345-1', {
  'custom_map': {
    'dimensionX': 'clientId'
  }
});

显然,他们希望提供一种更方便的方法来获取值(您可以直接提供字符串'clientId‘,然后将其解析为正确的值)。

这是由一个叫Yamata Ryoda的人完成的,并在Simo Ahava的一篇文章中详细记录了这一点。我承认我自己还没有测试过它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48368486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档