2007年03月11日 17:00 [Edit]

Google AnalyticsのAnalysis、そして滞在時間のウソ

logo

簡単で奇麗で便利なGoogle Analyticsですが、閲覧時間に関しては信用しない方が賢明です。

あとで読む いつまでたっても あとで読む - FIFTH EDITION
これ見ればわかりますが、9割以上のアクセスが、10秒以内で、うちのサイトを離脱しているわけです。(10秒しか閲覧してない)

そのことを示す前に、Google Analyticsがどんな仕組みで動いているのかを見てみましょう。

Google Analyticsに加入すると、解析したいサイトに、以下のJavaScript Codeを埋め込むよう言われます。

<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
//<![CDATA[
_uacct = UA-"XXXXXX-Y";
urchinTracker();
//]]>
</script>

ブラウザーはこれにより、アクセスの都度http://www.google-analytics.com/urchin.jsを読み込み、urchinTracker()という関数を実行するようになります。このurchin.js、はっきり言って名前の通り頭がウニになりそうな代物なのですが、それでもざっと解析すると、結局やっていることは全domainに対して有効なcookieを設定して、ダミー画像にアクセスするだけです。

Cookieの中身は、こんな感じになります。

__utma=123456789.9876543210.8765432109.7654321098.6543210987.1;
__utmb=123456789;
__utmz=123456789.8765432109.1.1.utmccn=(from_how)|utmcsr=(from_domain)|utmcmd=(from_dir)
__utmc=123456789;

そして、ダミー画像のURLはこんな感じです(もちろん本物は改行もスペースもコメントもなしの一行)

http://www.google-analytics.com/__utm.gif?
 utmwv=1                 # 不明;固定数値の模様
&utmn=1234567890         # ランダム数値;キャッシュ抑制のため? 
&utmcs=character_coding  # utf-8
&utmsr=screen_resolution # 1024x768
&utmsc=color_depth       # 32-bit
&utmul=language          # en
&utmje=java_enabled      # 1
&utmfl=flash_version     # 9.0%20r28
&utmhn=host_name         # www.example.com
&utmr=referer            # http://www.example.com/from.html
&utmp=path               # /directory/file.html
&utmac=account           # UA-XXXXXX-Y
&utmcc=encoded_copy_of_cookie

ここで、今までの観察をまとめてみましょう。

  1. urchinTracker()は、ページがロードされた時だけ実行される
  2. urchinTracker()が実行されると、http://www.google-analytics.com/__utm.gif?...にアクセスする

そうなのです。Google Analyticsでは、直接的には「ページを去る」というイベントは負っていないのです。もしそれをやろうとすれば、unload eventを引っ掛けなくてはなりませんが、ブラウザーを観察した限りではそのような挙動は見られませんし、urchin.jsの中にもそのような記述はありませんでした。

それでは、一体Google Analyticsはどうやって滞在時間を推測、いえ、憶測しているのでしょうか?

わけわかめなソースをさらに読み解いて行くと、上のcookieの例の123456789がドメインのIDに相当することと、そして__utmbが滞在時間の判定に用いられているらしいことが判明します。なぜ__utmbが滞在時間の判定に用いられているらしいと推測できるかというと、このcookieは1800秒でexpireされるよう設定されるからです。

ここで__utmbに関する観察をまとめます。

  1. 全domainで有効なcookieの一つ
  2. ドメインに対して紐付けされている
  3. 1800秒でexpireする

以上の情報から、あなたならどうやって滞在時間を憶測しますか?

現在アクセスしているドメインが、__utmbのドメインと異なる時、滞在が終わったとみなす

という実装にするはずです。

もしそうだとしたら、tabや別windowで現在閲覧中のドメイン外のサイトにアクセスしたとたん、urchin的には滞在は終了ということになります。一昔前ならとにかく、タブブラウザーが普及した今は、気になるページは開きっぱなしにするのがむしろ普通ではありませんか?私は10以上のウィンドウに、それぞれ10以上のタブを表示しっぱなしにすることも珍しくありません。

はっきり言いましょう。

この「滞在時間」というのは、Urchinに限らずWeb的には全くあてになりません。ジオングの足よりもあてになりません。なにしろHTTPの世界では、本来statelessな--状態遷移がない--ものを、cookieなどを使って疑似sessionを作っているわけですから、どこかで無理が生じます。「滞在時間」というのはその最もたるものです。

状態遷移のあるsessionの場合は、少しは当てになります。たとえばUnixでは、wtmpというファイルにloginだけではなくlogoutの時間も記録されます。しかしそれですら、最近は端末ウィンドウをいくつも開きっぱなしにして、logoutしないなどということがごく一般的になって、これまたあてになりません。アカウント利用を時間課金していた大昔ならとにかく、今では不正侵入の発見ぐらいにしか使わない情報となってきています。

よって、結論は以下のとおりとなります。

滞在時間なんてただの飾りです。スーツな人にはそれがわからんのです

Dan the Urchin Tracked


この記事へのトラックバックURL

この記事へのトラックバック
404 Blog Not Found:Google AnalyticsのAnalysis、そして滞在時間のウソ
404 Blog Not Found:Google AnalyticsのAnalysis、そして滞在時間のウソ【】at 2012年01月18日 01:35
Google Analytics入門 簡単・無料ソフトで始めるWebマーケティン...
eコマース運営者におすすめGoogle Analyticsで収益管理する方法【ウェブ-HACKS 「とりあえずやってみよう!」ブログ】at 2008年01月25日 01:33
http://blog.livedoor.jp/dankogai/archives/50783893.html 目から鱗がぽろっと落ちました。 なるほどねー。道理で滞在時間がおかしいと思ってたんだよなー(今更) まあ、何はともあれ、これでお客さ...
Google Analytics 滞在時間のウソ【73Blog】at 2007年10月09日 17:02
Google AnalyticsのAnalysis、そして滞在時間のウソ http://blog.livedoor.jp/dankogai/archives/50783893.html 有名なアルファブロガーdankogaiさんのエントリーです。結構文系の私にはある意味目からうろこでした。まあ、ユニークなセッションを同定してリクエストの時間
[コラム]でも参考にはなる【Google Analyticsとは何だ?】at 2007年03月18日 15:59
MovableTypeでカテゴリーアーカイブを出力“しない”プラグイン。 (Junnama Online (Mirror)) (tags: Mov...
links for 2007-03-12【Project MultiBurst】at 2007年03月13日 04:23
google analytics の閲覧時間のデータを見てに嘆いている人が これ見ればわかりますが、9割以上のアクセスが、10秒以内で、うちのサイトを離脱しているわけです。(10秒しか閲覧してない) あとで読む いつまでたっても あとで読む - FIFTH EDITION それに対してdank
google analyticsの閲覧時間の罠【日記もどき】at 2007年03月12日 10:31
Urchinの閲覧時間(滞在時間)について これ見ればわかりますが、9割以上のアクセスが、10秒以内で、うちのサイトを離脱しているわけです。(10秒しか閲覧してない) ……(中略)…… 要するに、ですね。このアクセス解析見ていると、ユーザーの9割は、僕の記事なんて読ん
Google Analytics閲覧時間の謎・ソース読む前に説明書読もう【J0hn D0e の日誌】at 2007年03月12日 10:10
ふらふらとはてブのホッテントリなんぞを眺めておりましたらば、おもしろげなタイトル
いますぐ読む【いげ太のブログ】at 2007年03月11日 19:43
この記事へのコメント
すらっと読んで・・・全ドメインに有効なクッキーて設定できるんですね。(無理だと思ってた)
どうやるんだろ? というか、それは常識なんでしょうか?そうだとしたらやばい。自分的に。
Posted by shiroito at 2007年03月16日 19:32
自分が解析作った時は10秒でなく、7秒にした。なんとなくで。
昨今、富豪的にやるなら10秒毎にマウスの位置もくっつけてデータ送信してもいいんじゃないでしょうか。
それか、onunloadで呼ぶ、、、、んだと間に合わないですよね
Posted by svankmajer at 2007年03月12日 22:22
というか、アクセス解析は滞在時間に限らず信用して見るものではないのでは?
あくまで目安にすぎないですよね。
そもそもビーコン型だとJavaScriptオフの履歴は取れないわけだし。
Posted by ななし at 2007年03月11日 22:14
全てのサイトにgoogle analyticsが埋め込まれることを目標としたサービスだとすると怖いですね。

analyticsのシステムそのもので、googleにはユーザーの動線が丸わかりってことですよね。
Posted by f-shin at 2007年03月11日 20:57
なぜ「全」domainに対して有効なcookieを設定してるんでしょうね。
Posted by toto at 2007年03月11日 20:46
はじめまして。

トラックバックさせていただいたのですが、
最初タイトルを記入せずにトラックバックしてしまったため、
タイトルを記入後、再度トラックバックさせていただきました。

二重にトラックバックしてしまい申し訳ありません。
最初のタイトルなしのトラックバックは削除してくださってかまいません。

失礼いたしました。
Posted by いげ太 at 2007年03月11日 19:45