关于客户端ID的文档指出它必须是UUID。
Example usage: cid=35009a79-1a05-49d7-b876-2b884d0f825b
但是当查看analytics.js发出的调用时,我发现该值具有另一种格式:
cid:714937391.1406537193
这些值是什么?它们是如何生成的?如果我想从不同的应用程序附加事件到该会话,我可以使用相同的值吗?
客户端ID是否用作会话标识符?
关于客户端ID的文档指出它必须是UUID。
Example usage: cid=35009a79-1a05-49d7-b876-2b884d0f825b
但是当查看analytics.js发出的调用时,我发现该值具有另一种格式:
cid:714937391.1406537193
这些值是什么?它们是如何生成的?如果我想从不同的应用程序附加事件到该会话,我可以使用相同的值吗?
客户端ID是否用作会话标识符?
文档有些误导。客户端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,会话将链接起来。ga(function(tracker) {
var clientId = tracker.get('clientId');
});
请注意它建议不要直接从cookie中读取数据。