如何可靠地获取Google Analytics生成的会话ID?

时间:2014-11-13 18:01:18

标签: javascript google-analytics google-analytics-api

使用最新的analytics.js代码(截至今天)是否可以通过他们的JS API获取会话ID?

3 个答案:

答案 0 :(得分:3)

如果您正在谈论客户端ID,可以按如下方式进行:

ga(function(tracker) {
  var clientId = tracker.get('clientId');
  console.log(clientId);
});

以下是文档中说明的内容:
https://developers.google.com/analytics/devguides/collection/analyticsjs/cookies-user-id#getting_the_client_id_from_the_cookie

请记住,客户端ID(通常)存储在cookie中,因此如果用户清除其Cookie,则会为他们分配一个可能与您拥有的ID不匹配的新客户端ID。

答案 1 :(得分:2)

您可以阅读Google

创建的Cookie
  1. 这是私人(通过谷歌)选择的变量名称/格式,可能随时更改,从而破坏您的代码
  2. 如果您存储该信息,它似乎会破坏其服务条款
  3. https://webmasters.stackexchange.com/questions/51866/can-you-track-one-users-session-with-google-analytics-by-using-the-utma-cooki

    Linking Google Analytics event logs to unique session ID

    http://www.analytics-ninja.com/blog/2011/08/how-google-analytics-calculates-visits.html

答案 2 :(得分:1)

请注意!某些广告拦截器(例如 uBlock Origin )会使用自己的polyfill替换GA脚本。
这意味着您无法正确检查页面上是否加载了真实的GA脚本。

uBlock 的polyfill也更改了GA API,因此当您使用ga(function(tracker){}) 回调将永远不会调用
所以不要中继回调,永远不要等待回调

更好的方法是将自定义clientId手动存储在cookie中,并将此clientId告知GA https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference?hl=en#clientId