2017-01-11 6 views
1

なぜ空のクライアントIDが得られるのですか? は、例えば、Google Analyticsが正常にクライアントIDを設定し、私のページの訪問者の〜90%のために、私はでそれをチェックしています:Googleアナリティクスの空のクライアントID

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

、それはいくつかのxxxxx.xxxxx番号を返します。しかし、訪問者の約10%は空の値を返します。どうして?

if (typeof ga === 'function') 

そして、それはそのOKようだ:Gaがによってロードされている場合

イムチェック。私は「いいえCID」の値を取得していない時に

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; 
} 

と時間: 私の全体の機能は次のようになります。なぜ?? ご覧のとおり、新しいGAオブジェクトを作成しようとしていますが、それも機能しません。

答えて

0

gaコマンドキューを呼び出すと、渡される関数は、アナリティクスライブラリが完全にロードされるとすぐに実行されます。あなたのコードでは、コールバック関数をキューに入れてクライアントIDを評価し、それを変数に代入しますが、空であるかどうかを判断する際には、分析ライブラリがまだ完全にロードされていないためその結果「No CID」が割り当てられる。

Cf. GA command queue

関連する問題