我需要跟踪某人何时从我的服务器下载文件,因此我创建了一个端点,将参数作为文件名。
此端点只发送GA事件并将文件返回给用户。
但是,由于我是服务器端,我无法轻松获取客户端ID以将其发送回Google Analytics。经过一些研究后,这个CID可以在_ga
Cookie中找到,但Google建议不要指望它,因为Cookie可能会在未来发生变化:
那么,我如何收集客户端ID服务器端以将其与我的事件一起发送回来?
答案 0 :(得分:3)
_ga cookie由analytics.js库生成和使用,它是Google Analytics识别您网站上用户的方式。生成此值以存储在cookie中,因此据我所知,您无法从API调用生成它。 即使您已完成研究,也允许我向您提供有关_ga值的一些信息。 你看到的cookie的价值就像GA1.2.XXXXXXXXX.XXXXXXXXXX
您必须提取以获取将与服务器端请求一起发送的CID值的部分是以点(。)分隔的值的最后两部分,意思是:
GA1.2。 XXXXXXXXX.XXXXXXXXXX < - 包含中间点的粗体部分
另外,正如您所引用的那样,Google报告您不应指望这个名称'的cookie。这意味着像getCookie(' _ga')这样的函数将来不会保证有效。但是如果你继续阅读分析跟踪器对象提供了一个函数回调,它将为你提供这个保证的值。
ga(function(tracker) {
var clientId = tracker.get('clientId');
});
我要采用的方法是使用此回调,获取CID,在我的请求的有效负载中加密发送(例如作为额外参数),在服务器上解码它,然后发送测量协议请求。