Client ID 是否与 Session Unification 协同工作?

Does Client ID work in concert with Session Unification?

我有一个网站,用户通常会在其中执行以下操作:

  1. 来自社交媒体(浏览器收到 _ga 客户端 ID cookie)
  2. 环顾四周(GA 网页浏览量)
  3. 流失(GA 会话超时)
  4. 几天后回来注册(GA 网页浏览量 + CreateUser 事件)
  5. 创建项目(GA 页面浏览量 + CreateProject 事件)

在 4 和 5,我的服务器发送包含用户 ID 的事件,例如:{ec: "Event Category", ea: "Event Action", uid: '1234'} 到 GA。

在 Google Analytics 网站上,在启用了用户 ID 报告的视图中,我可以检查事件 #5 和(感谢 Session Unification)并查看用户从何时到达的位置返回#4 站点。

然而,我真正想知道的是:用户第一次访问我的网站时从哪里到达#1?

至少在理论上,这应该是可能的,因为用户接受了自#1 以来浏览器一直存在的客户端 ID cookie。

我的问题是:如果我设法将客户端 ID 传递给 #4 和 #5 处的服务器,并使用除了用户 ID 之外的客户端 ID 创建这些事件,那么我是否能够预测在哪里用户最初来自?

我之所以要问,而不仅仅是尝试,是因为将客户端 ID 传递给服务器(创建事件的服务器)将花费我几天的时间才能投入生产。预先了解事物总是一个优势。

非常感谢任何见解!

如果您将 clientId(除了 userId)传递给 Google Analytics用户级别,您可以获得用户所做的一切(或者更好,那个 cookie)。

请注意,如果用户更改浏览器或设备,您将无法跟踪它(因为他有一个新的 cookie,所以 Google 分析的新用户)。您可以将他们的会话与 userId 协调,但 userId 不会协调过去关闭的会话,除非 userId 之前也已与同一 cookie 相关联。

无论如何,您可以使用此代码在 Universal Analytics 中获取 clientId

var trackers = ga.getAll();
var i, len;
for (i = 0, len = trackers.length; i < len; i += 1) {
  if (trackers[i].get('trackingId') === 'UA-XXXXXXX-XX') {
    console.log(trackers[i].get('clientId'));
  }
}

如果您使用 gtag,直接在自定义维度中传递该信息会更简单:

gtag('config', 'UA-XXXXXXX-XX', {
  'custom_map': {
    'dimensionX': 'clientId'
  }
});

关于这句话的示例“用户 ID 不协调过去关闭的会话,除非用户 ID 之前也与同一 cookie 相关联”指的是“userId 发送 到 Google 用户级别自定义维度中的分析(范围)":

If I have 5 sessions:
1) in the first I do not send the userId (as custom dimension at the user level)
2) in the second I do not send it
3) in the third I send it
4) in the fourth I do not send it
5) in the fifth I do not send it

在报告中,我可以看到会话 3、4 和 5 的 userId 值,但看不到会话 1 和 2 的值,因为之前没有相关联。

关于实际userId的更多细节(我的回答中没有提到),你可以阅读官方文档"Data collection begins after implementation":https://support.google.com/analytics/answer/4574780?hl=en