2017-01-11 88 views
1

爲什麼有時我會得到空的客戶ID? 例如,對於〜我的網頁的訪問者谷歌Analytics(分析)的90%設置clientID的正常,我被檢查它:Google Analytics空客戶ID

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

,並返回一些xxxxx.xxxxx號。但是對於約10%的訪問者而言,它返回空值。爲什麼?

if (typeof ga === 'function') 

而且似乎它的確定:

如果GA被加載進出口檢查。 我的整個功能是這樣的:

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對象,但它也無法正常工作。

回答

0

調用ga命令隊列時,只有在分析庫完全加載後纔會執行傳入的函數。在您的代碼中,您排隊回調函數以評估客戶端ID並將其分配給您的變量,但是當您確定它是否爲空時,實際上它仍爲空,因爲分析庫仍未完全加載,因此導致「無CID」被分配。

參考GA command queue

相關問題