【问题标题】:Universal Analytics: Client ID通用分析:客户 ID
【发布时间】:2026-01-23 05:20:03
【问题描述】:

documentation about Client ID 声明它必须是 UUID

Example usage: cid=35009a79-1a05-49d7-b876-2b884d0f825b

但是在查看 analytics.js 发出的调用时,我发现该值具有另一种格式:

cid:714937391.1406537193

这些值是什么?它们是如何产生的?如果我想从不同的应用程序将事件附加到该会话,我可以使用相同的值吗?

客户端 ID 是否用作会话标识符?

【问题讨论】:

标签: google-analytics web-analytics universal-analytics


【解决方案1】:

文档有点误导。从技术上讲,客户端 ID 不需要是该格式的 UUID 哈希。它只是建议使用这种格式来帮助人们避免意外生成重复的客户端 ID。

analytics.js 中客户端 ID 的格式是一个随机生成的 31 位整数,后跟一个点(“.”),后跟当前时间(以秒为单位)。

如果您想自己生成这种格式的客户端 ID(无论出于何种原因),您可以执行以下操作:

var cid = Math.floor(Math.random() * 0x7FFFFFFF) + "." + Math.floor(Date.now() / 1000);

要回答您的其他问题,是的,您可以在服务器端 Measurement Protocol 命中中使用您在 analytics.js 生成的 cookie 中找到的相同客户端 ID,并且会话将被链接。

此外,如果您想确保服务器端点击与客户端点击尽可能紧密相关,您还应该使用测量协议中新增的 User AgentIP override 字段.如果您不这样做,那么您的服务器端点击的所有地理数据将看起来像是来自您的服务器所在的任何地方。

更新

另外,如果不清楚如何从 JavaScript 获取客户端 ID,以下是 the documentation 的建议:

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

请注意,它建议不要直接从 cookie 中读取数据。

【讨论】: