【NOTE】1つめの設定には、ページビュー数に不具合が出る可能性があります。コードの問題かGA側の問題かは不明ですが、導入には慎重になってください。
この前、『Google Analyticsで本当の直帰率を計測する方法』というエントリで、Google Analyticsのトラッキングコードを細工して、直帰率の計測方法を調整する設定をお伝えしました。
その後、Google Analyticsに“Asynchronous Tracking Code”(非同期トラッキングコード)が公開されました(Google Analytics日本版 公式ブログでもアナウンスあり)。
新しい非同期トラッキングコードに変えた場合は、あわせて関数の変更も必要です。
したがって、直帰率をいじるコードも修正しなければなりません。
ということで、非同期トラッキングコード対応の直帰率計測設定を紹介します。
2種類の方法があります。
1つは、前回参照した”The Real Bounce Rate in Google Analytics”という記事の作者、Claudiu Murariu氏 直伝です(新しいコードの場合はどうなるの?と、直接問い合わせて作ってもらいましたw)。
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-X']);
_gaq.push(
['_setAllowAnchor', true],
['_trackPageview']
);
setTimeout('_gaq.push([\'_trackEvent\', \'NoBounce\', \'Over 10 seconds\'])',10000);
(function() {
var ga = document.createElement('script');
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
ga.setAttribute('async', 'true');
document.documentElement.firstChild.appendChild(ga);
})();
</script>
“UA-XXXXX-X”を自分のIDに置き換えて、すべて貼りつけてください。
もう1つは、『ゆっくり…して…イってネ!』のさくらさんが、Twitterで教えてくれた方法です。
var _gaq = [];
_gaq.push(function() {
var pageTracker = _gaq._createAsyncTracker('UA-XXXXX-X');
pageTracker._trackPageview();
setTimeout(function() {
pageTracker._trackEvent('NoBounce', 'NoBounce', 'Over 10 seconds');
}, 10000);
});
IDを置き換えた上のコードを、元々のコードに追加すればOKです。
見た目以外の両者の違いは、僕には分かりませんw(Claudiu Murariu氏から教えてもらった方は、イベントトラッキングの値が以前と変わってます)。
ですが、両方とも正常に機能しているようですし、不具合も見つかっていません。
お好きな方を使ってよろしいかと思います。
ページ末尾に入れる ga.js の場合、ページの読み込みに時間がかかると、り離脱したセッションを正確に計測できないという不都合がありましたが、新しいトラッキングコードではそのような懸念がなくより正確なデータを計測できるため、ぜひ多くのユーザーの皆さまにご利用頂ければと思います。
とのことなので、非同期トラッキングコードを使いつつ、直帰率の計測基準を修正したい方はこのコードを利用してみてください。