ログマニアックス

日々学んだこと、気づいたことをメモ代わりに残していければ。カバー範囲は割と広めです。

インスタントプレビューをSiteCatalystで計測対象から除外

201108151033.jpg

最近僕の担当しているあるサイトでデータ集計の遅延が発生しました。

原因はいろいろあったのですが、

インスタントプレビュー(Google Web Preview)からの流入がかなり増えていることも原因だったようです。

これ、結構PVの水増し的な議論では発生しそうですし、

SiteCatalystで集計除外するコードも書いたので、共有します

インスタントプレビューとは

Google インスタント プレビュー

検索結果内の虫めがねアイコンをクリックすると、そのウェブページのプレビューが瞬時に表示されます。

一度インスタント プレビューを有効にすれば、他の検索結果上にマウスを重ねるだけでプレビューを閲覧することができます。

というGoogleの機能で

201108141048.jpg

こんな感じにサイトにアクセスしなくてもページの中身を覗ける機能です。

これはこれで便利だと思うのですが、

問題は、プレビュー情報を獲得するためにクローラーを使っているのですが、

そのクローラーがJSも実行してしまうクローラーなのです。

影響範囲

クローラーがJSを解釈するということは、

クローラーがページを閲覧するごとにPVが発生するということ。

PVの水増しが発生してしまいます。

また、

特にSiteCatalystの場合にはセッションが設定しないと永続的につながるので、

Long Visitと呼ばれるながーーーいセッションを生み出して、これが集計の遅延要因になります。

対応方法

ちなみにGoogleAnalyticsではすでに対策済みらしく、

現在は集計対象外にされているようですが、

SiteCatalystではVISTAと呼ばれる有料オプションでの対策が用意されております。

ただ、単純にUAを見て計測から外す実装なので、

以下のような書き方で除外することも可能です。

[javascript]

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が増えた際に便利そうですね。