もう何年もGoogleアナリティクスを利用されているクライアントから、
「サイトのPDFコンテンツもGoogleアナリティクスのページビューにカウントして欲しい。。。。」
とのご要望があり、早速対応してみました。
こちらのGoogleアナリティクスのヘルプに記載があるように、仮想ページビューという機能を使うことで実現できます。
GoogleアナリティクスのJavascriptライブラリ内で定義されている_trackPageview()関数を使います。
この関数を a タグの onclick イベントハンドラで実行すれは、そのリンクがクリックされたタイミングを仮想のページビューとしてカウントしてくれます。
仮想といえど、アナリティクスのレポート画面では、他のページビューと同様に表示されます(上図参照)。
具体的な_trackPageview の呼び方ですが、こちらの記事が参考になりました。
この記事では非同期トラッキングの実例について解説いただいています。
同期トラッキング、非同期トラッキングの違いについてはこちらの記事が参考になりました。
今回、私の方は
onclick=”pageTracker._trackPageview(‘hogehoge.pdf’);”
のようにonclickイベン・ハンドラ内で直接関数を実行する同期トラッキング方式にしました。
(当然ではありますが、既に当該ページにGoogleアナリティクスのトラッキングコードが埋め込まれていてpageTrackerオブジェクトが生成されている前提です。)
同期トラッキング方式にすることで、クリックのタイミングと同期してページビューがカウントされるため、リアルタイムレポートにも表示してくれます。
「クリック時にオーバヘッドをかけたくない」、「リアルタイムレポートにはカウントされなくてもいい」という場合は非同期トラッキングがお勧めです。
さて、この対応ですが、PDFをリンクしているaタグが大量にある場合は1つ1つ対応するのが大変です。
そこで、ページ内の対象となるAタグを検知して仮想ページビュー処理を行う jquery プラグインを作成しました。
https://github.com/masanoritomizawa/jquery.ga-pdf-tracker
【使い方】
1.Googleアナリティクスのトラッキングコードは埋め込まれている前提です。
2.jQueryプラグインですので、必ずjQueryをロードしてから、プラグインをロードしてください。
例)
<script src=”/js/jquery-1.11.1.min.js” type=”text/javascript” ></script>
<script src=”/js/jquery.ga-pdf-tracker.js” type=”text/javascript” ></script>
3.プラグインを実行します。
例)
<script type="text/javascript"> $(window).load(function(){ $("#hogehoge .selector").ga_pdf_tracker({extention : ['pdf']}); }); </script>
「$(“#hogehoge .selector”)」の部分で要素を指定することにより、指定した要素内にあるAタグが検知対象となります。
よく分からない場合やページ全体のAタグを検知対象としたい場合は、
「$(“body”)」でもよいと思います。
「{extention : [‘pdf’]}」の部分は、検知対象のAタグのうち、href属性で参照しているURLの拡張子が 「.pdf」または「.PDF」の場合に仮想ページビューをカウントするように指定する意味を持ちます。大文字と小文字の区別なく拡張子を検知します。
当方ではPDFのリンクでしか確認していませんが、おそらく .avi や .wmv のhrefリンクでも対応できるはずです。
その場合の記述は、
「{extention : [‘pdf’,’avi’,’wmv’]}」
となります。
コメントを残す