Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Google Analytics空客户端ID_Javascript_Google Analytics_Analytics_Clientid - Fatal编程技术网

Javascript Google Analytics空客户端ID

Javascript Google Analytics空客户端ID,javascript,google-analytics,analytics,clientid,Javascript,Google Analytics,Analytics,Clientid,为什么有时我会得到空的客户端ID? 例如,对于约90%的页面访问者,Google Analytics通常会设置clientID,我会通过以下方式进行检查: ga(function(tracker) { clientId = tracker.get('clientId'); }); 它返回一些xxxxx.xxxxx号码。但对于约10%的访问者来说,它返回的是空值。为什么? Im正在检查ga是否通过以下方式加载: if (typeof ga === 'function') 看来没关系。 我的

为什么有时我会得到空的客户端ID? 例如,对于约90%的页面访问者,Google Analytics通常会设置clientID,我会通过以下方式进行检查:

ga(function(tracker) {
  clientId = tracker.get('clientId');
});
它返回一些xxxxx.xxxxx号码。但对于约10%的访问者来说,它返回的是空值。为什么?

Im正在检查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;
}
有时我会得到“无CID”值。为什么?
如您所见,我正在尝试创建新的GA对象,但它也不起作用。

调用GA命令队列时,传入的函数只有在分析库完全加载后才会执行。在代码中,您将回调函数排队以计算客户端id并将其分配给变量,但当您确定它是否为空时,它实际上仍然为空,因为分析库尚未完全加载,因此导致分配“无CID”


Cf.

调用ga命令队列时,传入的函数仅在分析库完全加载后执行。在代码中,您将回调函数排队以计算客户端id并将其分配给变量,但当您确定它是否为空时,它实际上仍然为空,因为分析库尚未完全加载,因此导致分配“无CID”

比照