通用分析:客户端ID

7

关于客户端ID的文档指出它必须是UUID。

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

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

cid:714937391.1406537193

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

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


我怀疑Google Analytics G+社区中的某个人可以回答这个问题。https://plus.google.com/u/0/communities/114481059214254340537 - Linda Lawton - DaImTo
一些来自Google群组的更多信息:https://groups.google.com/forum/#!topic/google-analytics-measurement-protocol/eYgtS5VmrVY - nyuen
1个回答

11

文档有些误导。客户端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,会话将链接起来。
此外,如果您想确保服务器端请求与客户端请求尽可能紧密地链接,还应该使用用户代理IP覆盖字段,这些字段是测量协议的新功能。如果不这样做,那么所有服务器端请求的地理数据都将看起来像来自您的服务器所在的位置。 更新 另外,如果不清楚如何从JavaScript中获取客户端ID,这是文档推荐的方法:
ga(function(tracker) {
  var clientId = tracker.get('clientId');
});

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接