Googleアナリティクスは通常だとページ遷移毎にデータを送信するので、動的遷移(Ajaxでページ内の一部を書き換えるなど)ではデータの送信が行われません。
そこで今回は、動的遷移でもデータ送信を行う方法を試してみました。
実装方法
今回はサンプルとして、PJAXを使った動的遷移での実装を試してみます。
HTML
#contentsの中が動的に書き変わります。
<div id="page"> <nav id="gnav"> <ul> <li><a href="index.html" class="pjax">ナビ1</a></li> <li><a href="index2.html" class="pjax">ナビ2</a></li> <li><a href="index3.html" class="pjax">ナビ3</a></li> </ul> </nav> <div id="contents"> <p>コンテンツA</p> </div> </div>
JavaScript
PJAXで用意されているコールバックでデータの送信を行います。
$(function() {
$.pjax({
area: '#contents', // 書き換える要素
link: 'a.pjax', // pjax対象のリンク
callback: function(event, setting) {
ga('send','pageview', location.pathname.slice(1));
}
});
});
動的遷移でGoogleアナリティクスにデータを送信するデモページ
Googleアナリティクス上でデータが確認できました。

今回はPJAXで試しましたが、他の実装の場合でも基本は同じで、コンテンツが書き変わった後に「ga(‘send’,’pageview’, 遷移後のURLのパス)」を実行するようにすればOKです。
【参考サイト】
コメントが承認されるまで時間がかかります。