衣袋教授のGoogleアナリティクス入門講座

Googleアナリティクスの導入から、運用、活用まで、正式なサポートがない初めての人でもゼロから学んでいけるように、丁寧に解説していく。

Googleアナリティクスとは/衣袋教授のGoogleアナリティクス入門講座
リンクのクリックやダウンロードをページビューとして計測する! 仮想ページビューの使い方と注意点[第64回]

外部サイトへのリンクやPDFなどのダウンロードを、ページビューとして計測したい場合のカスタマイズ法

ページ

外部サイトへのリンクのクリックやPDFなどのダウンロードを、ページビューとして計測したい場合がある。その場合には、Googleアナリティクスの、バーチャル(仮想)ページビューという機能を使う。

バーチャル(仮想)ページビューとは、その名のとおり、実際にはページビューでないものを、ページビューとしてカウントするための機能である。

バーチャル(仮想)ページビューには、大きく次の2つの使い方がある。

  • 実際のURL情報を使うと不都合が生じる場合

  • 実際のページ(HTMLファイル)のリクエストとは別の行為を計測したい場合

前者の例としては、異なる内容のページなのにURLが同じようなケースが挙げられる。たとえばカートのシステムなどで、表示しているページの内容が変化しているのに、URLの表示が変化なくまったく同じ場合を体験したことはないだろうか。これはPOSTメソッドという方法を利用してWebサイトとのやり取りをしている場合などで生じる。

Google アナリティクスのトラッキングコードは通常、アドレスバーに表示したURL情報を取得する仕組みなので、このようなケースでは、内容が異なるページに移動していても、同じURLを複数回見たことになってしまう。しかし、計測をする側の視点からは、できれば内容に応じて別のページとして認識してほしいはずだ。

もう1つの利用パターンである後者、すなわち実際のページ(HTMLファイル)のリクエストとは別の行為を計測したい場合の例としては、

  • 外部サイトへのリンクのクリック
  • ファイルのダウンロード
  • Flashコンテンツに対するインタラクティブな動作

などの「行為」を、実際にはページ閲覧ではないけれども何らかのURLにアクセスしたページビューだとみなしてカウントする場合などに利用する。ただ、この手法を使うと、通常のページビュー数などに上乗せになってしまう。ページビュー数にカウントしたくない場合は、「イベントトラッキング」という手法を利用し、イベントとして計測しよう。このイベントトラッキングについては、回を改めて別途解説するので、今回は取り上げない。

計測コードの意味

GoogleアナリティクスでトラッキングするJavaScript命令の基本が_trackPageviewメソッドだ。

_trackPageviewメソッドは、通常は現在のページ情報(表示されたURL)が利用されるが、ここにURL(のディレクトリやファイル名の部分)を指定して実行すると実際のURLの代わりに指定したURLが閲覧ページ名としてレポートに表示されることになる。

仮想ページビューを利用したい場合は、レポートで表示させたい仮想ページの文字列を_trackPageviewで指定するようにカスタマイズする。

具体的に見ていこう。

_trackPageviewメソッドの通常の記述パターンは次のとおりだ。

_gaq.push(['_trackPageview']);

これに対して、実際に閲覧されたページの代わりに、「/click/1.pdf」というPDFを閲覧ページ名としてレポートに表示したい場合は、_trackPageviewメソッドを指定する部分で、カンマに続いて引用符で囲んで「/click/1.pdf」を追記する(赤字部分)。

_gaq.push(['_trackPageview', '/click/1.pdf']);

この例では、赤字部分を追記することで「/click/1.pdf」が1ページビューとカウントされることになる。トラッキングコード全体は、以下のようになる。

<script type="text/javascript">
 var _gaq = _gaq || [];
 _gaq.push(['_setAccount', 'UA-XXXXXXX-Y']);
 _gaq.push(['_trackPageview', '/click/1.pdf']);

 (function() {
  var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
  ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
  var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 })();
</script>

以下では、(1)同じURLでページ遷移する場合と、(2)PDFファイルをダウンロードするためのクリック行為をページビューとしてカウントするケースの2つの実装例を紹介する。

実装例1:同じURLでページ遷移するケース

先にも言及したが、カート投入から購入完了ページまでの間でURLが変わらない場合がある。たとえば、URLが次のような対応だったとしよう。

順番 ページの内容 URL
1 カートページ /cart.php
2 フォーム入力ページ /cart.php
3 入力情報確認ページ /cart.php
4 購入完了ページ /thanks.php

この場合は「カートページ」「フォーム入力ページ」「入力情報確認ページ」が同じURLのために区別がつかない(赤字部分)。そこで2番目と3番目のページには次のような仮想ページビューを割り当てて、この3ページを区別できるようにしてみよう。

順番 ページの内容 URL 仮想ページの割り当て
1 カートページ /cart.php -
2 フォーム入力ページ /cart.php /cartinput1
3 入力情報確認ページ /cart.php /cartinput2
4 購入完了ページ /thanks.php -

トラッキングコードへの実装例は以下のとおりだ。

「フォーム入力ページ」のトラッキングコードのカスタマイズ

カスタマイズ前 _gaq.push(['_trackPageview']);
カスタマイズ後 _gaq.push(['_trackPageview', '/cartinput1']);

通常は「カスタマイズ前」のようにしている部分を、「カスタマイズ後」のように、仮想ページビュー名を入れたトラッキングコードと入れ替える。

入力情報確認ページのトラッキングコードのカスタマイズ

こちらも同様で、下記のように該当部分の記述を変更する。

カスタマイズ前 _gaq.push(['_trackPageview']);
カスタマイズ後 _gaq.push(['_trackPageview', '/cartinput2']);

これらのカスタマイズをすることで、「フォーム入力ページ」と「入力情報確認ページ」は、それぞれ別のページとしてページビューがカウントされるようになる。

※フォーム入力ページや入力情報確認ページで個別にトラッキングコードを変更できない場合(サイト全体で共通のトラッキングコードが自動的に挿入される場合)は、このカスタマイズはできない。

仮想ページビューを利用したいページでは共通トラッキングを自動挿入しないようにしておいて、ページごとにトラッキングコードを直書きすることも可能だが、将来サイト全体のトラッキングコードを変更する際に(Googleアナリティクスの仕様変更など)、個別に指定したトラッキングコードも変更するのを忘れないように管理することが大切になる。

PDFファイルをダウンロードするケース

HTMLファイルからPDFファイルへ張ってあるリンクをクリックすると、「ファイルとして保存」するように指示されたり、ブラウザ上でそのまま表示されたりする。これらの動作をページビューとしてカウントしたいとしても、PDFファイルにトラッキングコードの実装はできない。

そこで、PDFファイルのダウンロードや表示を、ページビューとしてカウントしたい場合は、PDFファイルへのダウンロードのリンクをクリックした行為をもって、ファイルのダウンロード回数と疑似的にカウントするといった方法を採るのが一般的だ。

具体的には、クリックという行為に対して、「/click/1.pdf」という仮想ページを1ページビューカウントするように設定することになる。

この場合は、ページ自体のトラッキングコードをカスタマイズをするのではなく、HTMLファイルのソースコードにあるPDFファイルへのリンク部分について、赤字部分を追加で記入する。これが必要な実装コードになる。

<a href="http://www.example.com/download/1.pdf" onclick="_gaq.push(['_trackPageview', '/click/1.pdf']);">PDFのダウンロード</a>

リンクをページビューとしてカウントする場合

この方法は、PDFのダウンロードだけでなく、a要素によるリンクのクリックを仮想ページビューとしてカウントする場合にも用いることができる。

たとえば、あるWebページにhttp://www.example.co.jp/toxfusion.htmlという外部ページへのリンクがあったとして、そのリンクのクリックを、/click/toxfusionというページへの仮想ページビューとしてカウントしたい場合は、次のようになる。

<a href="http://www.example.co.jp/toxfusion.html " onclick="_gaq.push(['_trackPageview', '/click/toxfusion']);">PDFのダウンロード&/a>

リンクの<a>タグをカスタマイズして、外部サイトへのリンクのクリックを仮想ページで取得する場合、1つ1つのリンクに対してカスタマイズを施すのが面倒な場合もある。このような場合には前回も触れたが、JavaScriptライブラリのjQueryを利用して効率よく記述するような方法もあるが、ここではそこまでは言及しない。

次のページへ

ページ

筆者の『ユニバーサルアナリティクス版Googleアナリティクス完全マニュアル(PDF)』が発行されました。

筆者が講義を行うGoogle アナリティクス徹底講座も、定期的に開催しています。  → Google アナリティクス ゼミナール

tweet25このエントリーをはてなブックマークに追加
日本赤十字社 東日本大震災 義援金募集
Web担メルマガでラクラク情報ライフを
注目記事が毎週手もとに届いて見逃さない
要チェックのセミナー情報もゲットできる
編集長コラムを一足先に読める
―― 10万人が読んでいる、Web担必読メルマガです

今日の用語

インバウンドリンク
外部のサイトなどから自分のサイト内のページへのリンクのこと。“被リンク”とも呼ば ... →用語集へ

連載/特集コーナーから探す

インフォメーション

Web担のメルマガを購読しませんか?
Web担の記事がコンパクトに毎週届くメールマガジン「Web担ウィークリー」は、10万人が読んでいる人気メルマガ。忙しいあなたの情報収集力をアップさせる強い味方で、お得な情報もいち早く入手できます。

Web担に広告を掲載しませんか?
購読者数10万人のメールマガジン広告をはじめとする広告サービスで、御社の認知向上やセミナー集客を強力にお手伝いいたします。

サイトマップ
RSSフィード


Web担を応援して支えてくださっている企業さま [各サービス/製品の紹介はこちらから]

GOLD SPONSOR
さくらインターネット株式会社株式会社KDDI ウェブコミュニケーションズ株式会社日本レジストリサービスHP Softwareトランスコスモス株式会社株式会社ハイパーボックスDomain Keeperアドビ システムズ 株式会社
SPONSOR
株式会社キノトロープ株式会社アイレップ株式会社ニューズ・ツー・ユーシックス・アパート株式会社ウェブアンテナ株式会社サイバーエージェント富士通株式会社SitecoreYahoo!プロモーション広告Oracle