我打算使用Google Analytics Measurement Protocol。我目前正计划通过将其作为URL参数包含在某些Ajax请求中来捕获客户端ID(cid)。
我发现我可以像这样公开Client ID值:
var ga_cid;
ga(function(tracker) {
ga_cid = tracker.get('clientId');
});
我担心这条路线很糟糕,因为它污染了全局命名空间。但是,我一直无法找到更优雅(最佳实践)的解决方案。
什么是“正确”的方式?我是否想过这个?
答案 0 :(得分:0)
是的,你可能是对的。相反,最好不要像official documentation推荐的那样从Cookie中获取客户端ID。您可以执行以下操作:
{
"placeMessages": {
"<place-push-key>": {
"message-push-key": {
"user_id": "<user-push-key>",
"place_id": "<place-push-key>",
"subject": ""
"message": ""
"date": "<date>"
}
}
},
"userMessages": {
"<user-push-key>": {
"message-push-key": {
}
}
}
}
此页面上提到了更多关于如何根据页面设置方式检索它的选项。
答案 1 :(得分:0)
我最终创建了一个cookie并从PHP引用它,而不是在进行AJAX调用时我必须传递的全局JavaScript变量。
// put the Google Analytics Client ID into a cookie, so that it will be available to PHP
ga(function(tracker) {
var date = new Date();
date.setTime(date.getTime() + (30 * 24 * 60 * 60 * 1000));
document.cookie = 'ga_cid=' + tracker.get('clientId') + '; expires=' + date.toUTCString() + '; path=/';
});
然后在PHP中:
$ga_cid = filter_input(INPUT_COOKIE, 'ga_cid');