仮想ページビューの使い方と注意点[第64回]Googleアナリティクスの導入から、運用、活用まで、正式なサポートがない初めての人でもゼロから学んでいけるように、丁寧に解説していく。解説/ノウハウ172662外部サイトへのリンクのクリックやPDFなどのダウンロードを、ページビューとして計測したい場合がある。その場合には、Googleアナリティクスの、バーチャル(仮想)ページビューという機能を使う。バーチャル(仮想)ページビューとは、その名のとおり、実際にはページビューでないものを、ページビューとしてカウントするための機能である。バーチャル(仮想)ページビューには、大きく次の2つの使い方がある。前者の例としては、異なる内容のページなのにURLが同じようなケースが挙げられる。カートのシステムなどで、表示しているページの内容が変化しているのに、URLの表示が変化なくまったく同じ場合を体験したことはないだろうか。これはPOSTメソッドという方法を利用してWebサイトとのやり取りをしている場合などで生じる。アナリティクスのトラッキングコードは通常、アドレスバーに表示したURL情報を取得する仕組みなので、このようなケースでは、内容が異なるページに移動していても、同じURLを複数回見たことになってしまう。計測をする側の視点からは、できれば内容に応じて別のページとして認識してほしいはずだ。外部サイトへのリンクのクリックファイルのダウンロードFlashコンテンツに対するインタラクティブな動作などの「行為」を、実際にはページ閲覧ではないけれども何らかのURLにアクセスしたページビューだとみなしてカウントする場合などに利用する。この手法を使うと、通常のページビュー数などに上乗せになってしまう。ページビュー数にカウントしたくない場合は、「イベントトラッキング」という手法を利用し、イベントとして計測しよう。このイベントトラッキングについては、回を改めて別途解説するので、今回は取り上げない。計測コードの意味GoogleアナリティクスでトラッキングするJavaScript命令の基本が_trackPageviewメソッドだ。_trackPageviewメソッドは、通常は現在のページ情報(表示されたURL)が利用されるが、ここにURL(のディレクトリやファイル名の部分)を指定して実行すると実際のURLの代わりに指定したURLが閲覧ページ名としてレポートに表示されることになる。仮想ページビューを利用したい場合は、レポートで表示させたい仮想ページの文字列を_trackPageviewで指定するようにカスタマイズする。_trackPageviewメソッドの通常の記述パターンは次のとおりだ。_gaq.push(['_trackPageview']);これに対して、実際に閲覧されたページの代わりに、「/click/1.pdf」というPDFを閲覧ページ名としてレポートに表示したい場合は、_trackPageviewメソッドを指定する部分で、カンマに続いて引用符で囲んで「/click/1.pdf」を追記する(赤字部分)。'/click/1.pdf']);この例では、赤字部分を追記することで「/click/1.pdf」が1ページビューとカウントされることになる。トラッキングコード全体は、以下のようになる。})();</script>以下では、(1)同じURLでページ遷移する場合と、(2)PDFファイルをダウンロードするためのクリック行為をページビューとしてカウントするケースの2つの実装例を紹介する。実装例1:同じURLでページ遷移するケース先にも言及したが、カート投入から購入完了ページまでの間でURLが変わらない場合がある。URLが次のような対応だったとしよう。/thanks.phpこの場合は「カートページ」「フォーム入力ページ」「入力情報確認ページ」が同じURLのために区別がつかない(赤字部分)。そこで2番目と3番目のページには次のような仮想ページビューを割り当てて、この3ページを区別できるようにしてみよう。-トラッキングコードへの実装例は以下のとおりだ。'/cartinput1']);通常は「カスタマイズ前」のようにしている部分を、「カスタマイズ後」のように、仮想ページビュー名を入れたトラッキングコードと入れ替える。入力情報確認ページのトラッキングコードのカスタマイズこちらも同様で、下記のように該当部分の記述を変更する。'/cartinput2']);これらのカスタマイズをすることで、「フォーム入力ページ」と「入力情報確認ページ」は、それぞれ別のページとしてページビューがカウントされるようになる。※フォーム入力ページや入力情報確認ページで個別にトラッキングコードを変更できない場合(サイト全体で共通のトラッキングコードが自動的に挿入される場合)は、このカスタマイズはできない。仮想ページビューを利用したいページでは共通トラッキングを自動挿入しないようにしておいて、ページごとにトラッキングコードを直書きすることも可能だが、将来サイト全体のトラッキングコードを変更する際に(Googleアナリティクスの仕様変更など)、個別に指定したトラッキングコードも変更するのを忘れないように管理することが大切になる。PDFファイルをダウンロードするケースHTMLファイルからPDFファイルへ張ってあるリンクをクリックすると、「ファイルとして保存」するように指示されたり、ブラウザ上でそのまま表示されたりする。これらの動作をページビューとしてカウントしたいとしても、PDFファイルにトラッキングコードの実装はできない。そこで、PDFファイルのダウンロードや表示を、ページビューとしてカウントしたい場合は、PDFファイルへのダウンロードのリンクをクリックした行為をもって、ファイルのダウンロード回数と疑似的にカウントするといった方法を採るのが一般的だ。具体的には、クリックという行為に対して、「/click/1.pdf」という仮想ページを1ページビューカウントするように設定することになる。この場合は、ページ自体のトラッキングコードをカスタマイズをするのではなく、HTMLファイルのソースコードにあるPDFファイルへのリンク部分について、赤字部分を追加で記入する。これが必要な実装コードになる。'/click/1.pdf']);">PDFのダウンロード</a>リンクをページビューとしてカウントする場合この方法は、PDFのダウンロードだけでなく、a要素によるリンクのクリックを仮想ページビューとしてカウントする場合にも用いることができる。あるWebページにhttp://www.example.co.jp/toxfusion.htmlという外部ページへのリンクがあったとして、そのリンクのクリックを、/click/toxfusionというページへの仮想ページビューとしてカウントしたい場合は、次のようになる。'/click/toxfusion']);">PDFのダウンロード&/a>リンクの<a>タグをカスタマイズして、外部サイトへのリンクのクリックを仮想ページで取得する場合、1つ1つのリンクに対してカスタマイズを施すのが面倒な場合もある。[1]も触れたが、JavaScriptライブラリのjQueryを利用して効率よく記述するような方法もあるが、ここではそこまでは言及しない。レポートでの見え方とデータの見方の注意点レポートでの見え方とデータの見方の注意点トラッキングコードの_trackPageviewメソッドにで仮想ページビューを指定してカスタマイズすると、指定した文字列がURLに相当するものとして、レポートに表示されるようになる。指定した文字列が「ページ名」となる。実際にどう見えるか、レポートを見てみよう。」ディレクトリのページのように割り当てている場合の表示例だ。_trackPageviewメソッドに指定した引数が、仮想の「ページ名」として表示される(図1黒枠部分)。仮想ページビューを利用した場合、データの見方には、以下のような点で注意が必要だ。直帰率への影響PDFファイルのリンクのクリック数の例や、上記の外部リンクのクリック数を把握するためにバーチャル(仮想)ページビューを利用した場合には、直帰率に影響が出ることに注意しよう。図1のケースのように外部リンクの計測をした場合なら、どこかのページが閲覧され、その後にクリックして外へ出ていったことになるなので、必ず直前がサイト内のどこかのページの閲覧になる。そのため、「閲覧開始数」はすべてゼロで、直帰率もすべて0%になる(図1赤枠部分)。イベントトラッキングでも同様だが、このケースの場合、外部リンクがクリックされたページの直帰率の解釈に少し修正が必要になる。いうことか、以下で解説しよう。→仮想ページビューで外部リンクのクリックを計測→外部へ具体的にはケース1ではページAで直帰したことになるので、ページAの直帰が1カウントになる。ケース2では、ユーザーの動きは実質的には同じだが、仮想ページビューでの外部リンク計測が2ページ目の閲覧となるために、ページAの直帰とはカウントされない。レポート内にあるリンクのエラーまた、実在しないURLを便宜的に付与しているため、URL情報に依存した機能については不具合が起きる。図1青枠部分のボタンだ。これらは通常、実際のURLへのリンクボタンになっているが、バーチャル(仮想)ページビューを利用している場合は、実在しないURLへのリンクになってしまうので、当然該当のページに相当するものがなく、そのようなページは存在しないというエラー表示になる。ページ解析での不具合また[コンテンツ]>[サイトコンテンツ]>[すべてのページ]レポートの「ページ解析」タブを表示したレポートも、実際のURLにあるコンテンツをレポート内に読み込むので、実体のないバーチャル(仮想)ページビューを利用している場合は、当然うまくレポートされない。ページタイトルの不具合さらに細かい話だが、プライマリディメンションで「ページタイトル」(図1緑枠部分)を選択した場合、先の2つの実装例で紹介したonclickによる手法では、クリックしたリンクがあるページのページタイトルが取得され、これがそのまま利用されるようだ。クリックした行為に対して、何らかのタイトル情報がついているわけではないので、便宜的にクリックした行為が発生した元のページのページタイトルがレポートにも利用されるという仕組みになっているようだ。onclickを利用した場合に一部計測漏れが発生する問題クリックの計測データが送信される前にブラウザの表示動作が先に完了することがあり、その場合データが送信されないという問題が起こることがわかっている。回避方法はあるのだが、100%すべてうまくいく方法というのはなかなかない。各種回避方法などについては詳しく解説があるので、こちらを参照してほしい。[4]が発行されました。アナリティクス徹底講座も、定期的に開催しています。http://b.hatena.ne.jp/entry/https%3A%2F%2Fwebtan.impress.co.jp%2Fe%2F2013%2F08%2F01%2F15761。