javascript - Google Analytics 空 clientID

标签 javascript google-analytics analytics clientid

为什么有时我会得到空的客户端 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/

相关文章:

javascript - 检测网页是否使用谷歌分析

magento - Google Analytics(分析)Magento速度问题

javascript - 通过性能 api 测量站点加载时间

analytics - Omnibug 有时会将加载事件显示为点击事件?

javascript - 如何跟踪 eager.io 中的失败事件?

php - 从 C 应用程序到 php 的实时视频流

javascript - 验证和默认弹出窗口关闭

ios - 适用于 iOS 的 Google Analytics SDK 3.0 : Anonymize IPs

javascript - 如何使用 jQuery 从上到下移动一个 div?

javascript - 基于 CSS 类在文本区域内动态分配字符限制