GoogleAnalyticsのトラッキングのコールバックを設定する

〇〇ページに遷移するためのボタンのクリック率とかを図るためによく、ボタンのクリックイベントを計測したりします。

でも、このページ遷移とトラッキングAPIを同時に叩くと、やっぱりうまくトラッキング出来ないこともチラホラあるみたいです。

Analyticsのページを見ても、明らかに少ないよなーこの数字っていう時が結構あります。

なので、トラッキングAPIが終わってからページ遷移したいんです。

こういう要望のために、Analyticsはちゃんとコールバックを設定できる様になっています。

hitCallbackを使う

ga.jsanalytics.jsも基本的には使い方は一緒で、hitCallbackというkeyで関数を指定します。

// ga.js
_gaq.push(['_trackPageview', {
  page: '/index.html',
  hitCallback: function() { alert('complete!!'); }
}]);

// analytics.js
ga('send', 'pageview', {
  page: '/index.html',
  hitCallback: function() { alert('complete!!'); }
});

pageviewのAPIが完了してからhitCallbackで設定した関数が実行されます。

注意点

GoogleAnalyticsのjsが読み込めないと正常に動作しないため、コールバックでページ遷移をする処理を書いていると、ページ遷移しないボタンが出来上がってうので注意が必要。