2016-10-22 10 views
0

Googleが作成したClientIdをGoogleアナリティクスのカスタムディメンションに統合する方法を探しています。私は指示を見つけましたが、それは私のために働いていません。トラッキングコードを正しくインストールする方法がわかりません。ここでClientIdでGoogle AnalyticsトラッキングコードをPHPフッターに実装するにはどうすればよいですか?

は、実装するためのコードである:ここでは

 ga(function(tracker) { 
      var clientId = tracker.get('clientId'); 
      ga('set', 'dimension2', clientId); 
     }); 

は私の現在のGoogle Analyticsのトラッキングコードです:

<script> 
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 
     (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 
     m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 
     })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 
     ga('create', 'UA-XXXXXXXXXXX', 'auto'); 
     ga('send', 'pageview'); 

     ga(function(tracker) { 
      var clientId = tracker.get('clientId'); 
      ga('set', 'dimension2', clientId); 
     }); 

</script> 

何が間違っている任意のアイデア? ClientIdを間違って取得する機能を実装しましたか?

答えて

1

解決策が見つかりました。ここで私のWordpressカスタム関数.phpファイルで使用するコードです。

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ GOOGLE ANALYTICS START ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 

// google analytics userid variable 
function google_analytics_tracking_code(){ 
    global $userId; 
    $userId = get_current_user_id(); 
    if (!isset($userId)) { 
     $userId = $_SESSION['xxx']; 
    } 
    ?> 

    <script> 
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 
      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 
      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 
      })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 

      <?php 
      // New Google Analytics code to set UserId and ClientId. 

      if (isset($userId)) { 
       $gacode = "ga('create', 'xxx', 'auto', {'userId': $userId});"; 
       echo sprintf($gacode, $userId); 
      }  
      else { 
       $gacode = "ga('create', 'xxx', 'auto');"; 
       echo sprintf($gacode); 
      }?> 
      ga('set', 'dimension1', '<?php echo $userId; ?>'); 

      // Get google client id 
      var ga_client_id = null; 
      ga(function(tracker) { 
       ga_client_id = tracker.get('clientId'); 
       ga('set', 'dimension2', ga_client_id); 
      }); 

      // Set ramdom session id 
      var rand_session_id = null; 
      rand_session_id = new Date().getTime() + '.' + Math.random().toString(36).substring(5); 
      ga('set', 'dimension3', rand_session_id); 

      // Get local time as ISO string with offset at the end 
      var hit_timestamp = null; 
      var now = new Date(); 
      var tzo = -now.getTimezoneOffset(); 
      var dif = tzo >= 0 ? '+' : '-'; 
      var pad = function(num) { 
       var norm = Math.abs(Math.floor(num)); 
       return (norm < 10 ? '0' : '') + norm; 
      }; 
      hit_timestamp = now.getFullYear() 
       + '-' + pad(now.getMonth()+1) 
       + '-' + pad(now.getDate()) 
       + 'T' + pad(now.getHours()) 
       + ':' + pad(now.getMinutes()) 
       + ':' + pad(now.getSeconds()) 
       + '.' + pad(now.getMilliseconds()) 
       + dif + pad(tzo/60) 
       + ':' + pad(tzo % 60); 
      ga('set', 'dimension4', hit_timestamp); 


      ga('send', 'pageview'); 

    </script> 

<?php 
} 
//add_action('wp_login', 'google_analytics_tracking_code', 10, 2); 

// include GA tracking code before the closing body tag 
add_action('wp_footer', 'google_analytics_tracking_code', 10, 2); 

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ GOOGLE ANALYTICS END ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
+0

ニースの答え!あなたのソリューションCD1では、CD2はユーザーレベルのスコープにあり、CD3はセッションスコープにあり、最後のCD4はヒットスコープにあります –

0

インタラクションヒットとともにカスタムディメンションが送信されます。ディメンションは、ページビューが追跡された後でのみ設定されます(別のインタラクションを送信しない)ので、カスタムディメンションは送信されません。カスタムコードはトラッカーの作成後、ページビューの呼び出しの前に配置してください。これは正常に動作するはずです。

関連する問題