[英]How do I extract Google Analytics campaign data from their cookie with Javascript?
[英]Google Analytics Measurement Protocol: How do I get the client-id from cookie on the server?
我想使用测量协议从服务器发送一个谷歌分析事件。
文档说明了cid是必需的,并且应该是UUID( https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#cid )。
但是,我想使用与_ga cookie中存储的内容相同的客户端ID。 但根据这一点 ,我不应该直接解析cookie中的id,因为它可能会在没有警告的情况下改变。
此外,tracker.get('clientId')在浏览器中返回的字符串不是标准的UUID字符串,所以即使我在浏览器中检索了值并将其发送到服务器,它仍然不是格式化的文档说它应该是。
那么,我需要做什么才能以前向兼容的方式从cookie中获取客户端ID?
使用ga.getAll()[0].get('clientId');
获取clientId。
关于他们的文档,谷歌只是不希望你直接抓取cookie,并解析它,因为cookie将来可能会改变。
他们概述的方法是获取clientId的首选方法。
关于clientId和使用UUID,您几乎可以传递匿名识别某人的任何值(包括使用GA的clientId)。
我们所做的是使用ga.getAll()[0].get('clientId');
获取客户端并将其发送到服务器,我们可以将clientId放入测量协议的require参数,并将服务器端测量协议请求发送回GA,其中包括销售成本等交易数据等。使用clientId允许您将事务连接到源/介质等。
获取ClientID的正确方法是通过传递回调来询问跟踪器。
它必须在ga("create",...)
之后调用ga("create",...)
并且请求是:
ga(function(tracker) {
// very similar to internal method like ga.getAll()[0].get('clientId');
var clientId = tracker.get('clientId');
// now you can pass client id to your internal system
myInternalMeasurementProtocolSetter(clientId);
});
在此之后,您必须调用ga("send"...)
来运行之前的一批设置。
如果您要将其调出初始设置队列,则必须验证GoogleAnalytics是否已初始化。
你可以问ga.getAll();
如果有任何跟踪器。 如果是,那么您可以传递回调。
如果您将使用任何其他方式,您可以提前或延迟陷入困境。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.