feeds2011/05/22カテゴリー:JavaScriptGoogleアナリティクスの_trackPageviewで計測できないケースTweetGoogleアナリティクスでは、外部へのリンクのクリック数やPDF、zip等のアクセス数を計測するために_trackPageviewという機能が用意されていますが、残念ながら正確に計測できないケースが存在するようです。どのようなケースで計測ができないのか、様々な環境でテストしてみましたので、結果をレポートしたいと思います。正確に計測できないコードから見てみます。下記は、<a>タグのhref属性にzipファイルのURLを指定し、onclick属性で_trackPageviewを呼ぶようにしています。Chromeで計測することができませんでした。Chromeで計測できない理由としては、どうやらブラウザ側で_trackPageviewのリクエストをキャンセルしているようです。下図は、MacのSafariの構成ファイル一覧ウィンドウのキャプチャです。onclickの_trackPageviewのリクエストを中止しているのが確認できます。Chromeを合わせると結構なシェアになるので、これでは正確なアクセス数を計測することができません。そこで、この問題を回避するため別ウィンドウで開くように変更してみます。<a>タグのtarget属性で_blankを指定してみます。Chromeでも計測することができました。HTMLのDTDがXHTML1.1の場合は<a>タグにtarget属性を指定することができません。そこで、JavaScriptのwindow.open()で別ウィンドウを開く方法も試してみました。false;&quot;&gt;zipダウンロード&lt;/a&gt;window.open()を使用した場合でも、テストした全てのブラウザで計測することができました。別ウィンドウで開くことにより、_trackPageviewで正確なアクセス数を計測できるようになるようです。今回、テストした環境とその結果を表にまとめてみました。Fusion上にインストールしたWindows7を使用しました。IE6とIE7はIETesterを使用しています。多くのサイトでは、別サイトへのリンクやPDFは、別ウィンドウで開くことが多いので問題ありませんが、zipファイルへのリンクに関しては、同一ウィンドウを指定するケースも多いので、正確なダウンロード数を計測したい場合には、別ウィンドウを指定した方が良さそうです。