最近僕の担当しているあるサイトでデータ集計の遅延が発生しました。
原因はいろいろあったのですが、
インスタントプレビュー(Google Web Preview)からの流入がかなり増えていることも原因だったようです。
これ、結構PVの水増し的な議論では発生しそうですし、
SiteCatalystで集計除外するコードも書いたので、共有します
インスタントプレビューとは
検索結果内の虫めがねアイコンをクリックすると、そのウェブページのプレビューが瞬時に表示されます。一度インスタント プレビューを有効にすれば、他の検索結果上にマウスを重ねるだけでプレビューを閲覧することができます。
というGoogleの機能で
こんな感じにサイトにアクセスしなくてもページの中身を覗ける機能です。
これはこれで便利だと思うのですが、
問題は、プレビュー情報を獲得するためにクローラーを使っているのですが、
影響範囲
クローラーがJSを解釈するということは、
クローラーがページを閲覧するごとにPVが発生するということ。
PVの水増しが発生してしまいます。
また、
特にSiteCatalystの場合にはセッションが設定しないと永続的につながるので、
Long Visitと呼ばれるながーーーいセッションを生み出して、これが集計の遅延要因になります。
対応方法
ちなみにGoogleAnalyticsではすでに対策済みらしく、
現在は集計対象外にされているようですが、
SiteCatalystではVISTAと呼ばれる有料オプションでの対策が用意されております。
ただ、単純にUAを見て計測から外す実装なので、
以下のような書き方で除外することも可能です。
if(!navigator.userAgent.match(/Google\sWeb\sPreview/i)){
s.t();
}
[/javascript]
これだけ。もともとあまり計測対象にするものでもないので、除外設定をお勧めします
参考までに
How To Stop Google Preview From Being Counted In SiteCatalyst | Web Analytics Land
こちらでも同様のことを解説していますが、
関数でRSIDをかき分ける実装をしています。
どちらがよいのかしら。
関数化したほうがのちのち対象のUAが増えた際に便利そうですね。