AjaxでのAnalyticsによるトラッキング

Ajaxでは、スクリプト内で複数のページ遷移があっても実際のPVが1となってしまいます。(正確にはページ遷移というよりも要素の読み込み。読み込むものがページで、そこにGAタグが設定されている場合はページとしてトラッキングされるはずです)

この場合のAnalyticsによるトラッキング方法をご紹介します。

Analyticsのトラッキングでは、リンククリックなどの際に擬似的にPVを発生させることができますので、この方法をAjaxのEvent発生時に実装します。
Ajaxの動作速度低下を防ぐため、Analyticsの非同期タグの使用を強く推奨します

では、早速具体的な方法をご紹介していきましょう。
まず、使用するAnalyticsのコードは以下の形です。
Ajax読み込み元となるページにGAの非同期タグが設定されていることが前提条件です。

_gaq.push(['_trackPageview','/example/01.html']);

上記コードの /example/01.html の部分を擬似的なURLとします。
Ajax内で読み込んでいる素材のURLとするなど、必要に応じて変更してください。

実際の使用例として、画像要素を入れ替えるスクリプト内で、読み込まれた画像のURLをトラッキングする方法をご紹介しておきます。
まずはhtmlコードから。

<img src="/images/01.jpg" width="640" height="480" id="target" />
<ul class="links">
<li><a href="/images/02.jpg">画像2</a></li>
<li><a href="/images/03.jpg">画像3</a></li>
<li><a href="/images/04.jpg">画像4</a></li>
</ul>

このコードのul内のリンクをクリックされた時に、Ajaxで最初のimgタグのsrcを変更し、Analyticsにトラッキングさせるというものです。

<script type="text/javascript">
$('.links a').click(function(){
	var linksrc = $(this).attr("href");
	$("#target").attr("src",linksrc);
	var trackimage = linksrc.replace(".jpg",".html");
	_gaq.push(['_trackPageview',trackimage]);
	return false;
});</script>

Google Analyticsでは、拡張子jpgをトラッキングしてくれませんので、トラッキングさせる際に拡張子をhtmlにリプレースしています。
ここではシンプルなコードに書き換えていますが、Lightboxを用いてフォトギャラリーを作ったりという場合に、どの程度どの画像が見られているかを知ることができ、便利です。

この投稿へのコメント

コメントはありません。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

この投稿へのトラックバック

トラックバックはありません。

トラックバック URL