我想使用Google的新测量协议从我的服务器而不是JavaScript发送跟踪事件 .
此页面显示客户端ID是必需的:https://developers.google.com/analytics/devguides/collection/protocol/v1/devguide#required
这个页面说它是可选的:https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#visitor
另外,这些文档中定义的格式不同 - 第一页给出一个整数作为示例,只是说它是“一个唯一值”,而第二个链接表示它应该是一个UUID .
如果我在后端发送用户ID或生成的UUID,Google会如何知道将该访问者链接到现有的访问者会话?好像我需要检索GA对现有用户的内部引用 .
任何帮助表示赞赏 - 谢谢!
3 回答
Integer or UUID
当您使用javascript跟踪时,
cid
相当于_utma
cookie中的第二个值 . 在js跟踪中,它是一个随机整数(由Math.round(2147483647 * Math.random())
生成) . 但它被调整并以字符串形式发送:因此您可以使用两种格式(整数或UUID) .Required/Optional
使用js跟踪时,Analytics服务器会忽略使用缺少的用户ID发送的请求 . 所以假设它是必需的 .
Link web visitor with measurement protocol actions
如果您要将后端用户与之前使用Google Analytics#2634387_跟踪的访问者相关联,您可以从
_utma
Cookie中获取cid
值 . 但我不是以前的行动 .Update
当问到这个问题时,
analytics.js
不存在 .cid
现在存储在cookie_ga
中 . 你可以在javascript中获得它:在写这篇文章的时候,当你从跟踪器中获取clientId时,就像上面的代码一样,它不会给你一个UUID,而是两个随机的32位整数,格式为“X.Y” . 此实现可能在将来更改为UUID .
或者使用您自己的值设置它(如后端生成的UUID):
在Rails中:
我正在使用带有快速和通用分析模块的节点,并选择使用嵌入在_ga cookie中的cid而不是生成我自己的cid服务器端 .
我的server.js看起来像这样......
然后,我可以这样做..
HTH