documentation about Client ID表示它必须是UUID
Example usage: cid=35009a79-1a05-49d7-b876-2b884d0f825b
但是当查看analytics.js发出的调用时,我发现该值有另一种格式:
cid:714937391.1406537193
这些价值观是什么?它们是如何产生的?如果我想从其他应用程序向该会话追加事件,我可以使用相同的值吗?
客户端ID是否用作会话标识符?
答案 0 :(得分:9)
文档有点误导。客户端ID在技术上不需要是该格式的UUID哈希。它只是建议这种格式来帮助人们避免意外生成重复的客户ID。
analytics.js中客户端ID的格式是随机生成的31位整数,后跟一个点("。"),后跟当前时间(以秒为单位)。
如果您想自己生成此格式的客户端ID(无论出于何种原因),您可以执行以下操作:
var cid = Math.floor(Math.random() * 0x7FFFFFFF) + "." + Math.floor(Date.now() / 1000);
要回答您的其他问题,是的,您可以在服务器端Measurement Protocol点击中使用相同的客户端ID,就像您在analytics.js生成的Cookie中找到的那样,会话将被链接。
此外,如果您希望确保服务器端匹配与客户端匹配尽可能紧密相关,则还应使用User Agent和IP override字段,这些字段是新的到测量协议。如果您不这样做,那么服务器端点击的所有地理数据都会显示为来自服务器所在的位置。
<强>更新强>
此外,如果不清楚如何从JavaScript获取客户端ID,请参阅the documentation建议的内容:
ga(function(tracker) {
var clientId = tracker.get('clientId');
});
请注意,它建议不直接从Cookie中读取数据。