使用Google Analytics跟踪器客户端ID(cid)

时间:2017-03-03 19:31:13

标签: javascript php ajax google-analytics

我打算使用Google Analytics Measurement Protocol。我目前正计划通过将其作为URL参数包含在某些Ajax请求中来捕获客户端ID(cid)。

我发现我可以像这样公开Client ID值:

var ga_cid;
ga(function(tracker) {
    ga_cid = tracker.get('clientId');
});

我担心这条路线很糟糕,因为它污染了全局命名空间。但是,我一直无法找到更优雅(最佳实践)的解决方案。

什么是“正确”的方式?我是否想过这个?

2 个答案:

答案 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');