为什么有时我会得到空的客户端 ID? 例如,对于约 90% 的页面访问者,Google Analytics 通常设置 clientID,我通过以下方式进行检查:
ga(function(tracker) {
clientId = tracker.get('clientId');
});
它返回一些 xxxxx.xxxxx 数字。但对于大约 10% 的访问者来说,它返回空值。为什么?
我正在检查 ga 是否已加载:
if (typeof ga === 'function')
而且看起来还可以。 我的整个函数如下所示:
function check_ga() {
var clientId = "";
if (typeof ga === 'function') {
ga(function(tracker) {
clientId = tracker.get('clientId');
});
if(clientId == "")
{
ga('create', 'UA-XXXXXX-X', 'auto'); //trying to create new ga object
ga(function(tracker) {
clientId = tracker.get('clientId');
});
}
if(clientId == "")
{
clientId = "No CID";
}
} else {
clientId = "GA Not loaded";
}
return clientId;
}
有时我会得到“No CID”值。为什么?? 如您所见,我正在尝试创建新的 GA 对象,但它也不起作用。
最佳答案
调用 ga 命令队列时,传入的函数仅在分析库完全加载后才会执行。在您的代码中,您将回调函数排队以评估客户端 ID 并将其分配给您的变量,但是当您确定它是否为空时,它实际上仍然是空的,因为分析库尚未完全加载,因此导致分配“无 CID”。
比照。 GA command queue
关于javascript - Google Analytics 空 clientID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41601078/