2006年10月27日
Google AnalyticsでAjaxページをアクセス解析する際に注意すべきこと
SEの竹村です。
月間500万ページビューまでは無料で解析できる「Google Analytics」が提供されてほぼ1年になりますが、Ajaxでページを遷移しなくなるとアクセス数を統計しづらくなります。
これを、どのようにトラッキングしたらよいか…ということが先日、Ajaxianに書かれてました。
Tracking Ajax Requests in Analytics
http://ajaxian.com/archives/tracking-ajax-requests-in-analytics
以下は、Google Analyticsからの回答コードです。
… http_request.onreadystatechange = sendAlert; http_request.open(’GET’, url, true); http_request.send(null); } function sendAlert() { if (http_request.readyState == 4) { if (http_request.status == 200) { alert(http_request.responseText); urchinTracker(”/pagefilename1″ ); } else { alert(’Error.’); …
onreadystatechange イベントハンドラとして、実行する関数の中にurchinTracker関数を直接実行するように記述してしまえばよい…と書かれています。
How do I track AJAX applications? (上記の元記事)
http://www.google.com/support/analytics/bin/answer.py?answer=33985&topic=7292
さて、このエントリーのコメントに、また興味深い内容がありました。
> Could this be used for tracking clickout’s too?
> External link ?
> Comment by CiPHER ― October 11, 2006
>
> Hmm.. I ment:
> <strong><a href=”link to external site” onclick=”return urchinTracker(this.href)”>External link<a></strong>
> Comment by CiPHER ― October 11, 2006
外部へリンクを張るときに、それへのアクセスをトラッキングする方法について書いています。
Google Analyticsは基本的にページビューをトラックするのに利用しているかと思いますが、こういう一部の統計を取りたい場所に配置するのも1つの方法ですね。
また、Google Analyticsを利用する上での注意点を挙げている人も何人かいました。
> This also means that when Google’s servers are down, your website get very slow.
> The Analytics scripts in this case, have to be loaded before your page starts displaying, or am I wrong?
> Comment by Tinus ― October 11, 2006
要約すると
「Googleサーバの状態によっては、あなたのWebサイトがとても重くなるということを意味します。あなたのページが表示されはじめる前に Analyticsスクリプトがロードされていないといけないのでは?」
と言ってますが、現在のGoogle Analyticsを配置する場所が </body> の真上…という指定があるので、
ページの表示自体が重くなるということはないのではないか?と私は思います。
ただ、サイトが表示されきってもいつまでもローディングが終わらない…という状況はあるかもしれません。
これは、解析ツールを外部に置くことや、アクセス解析ツールにかけるコストなどとのトレードオフですね。
次は、ちょっと興味深い指摘です。
> ...
> Google Analytics is a really good tool for Web 1.0 fashioned pages but is terribly wrong for Web 2.0,
> first of all a pageview cannot be translated to anything in an Ajax Page.
> Is a refresh of a part of the page, let’s say the user list currently pageview or
> is only the change of the main content a new pageview?
> Google Analytics themselfs suggest that you call the urchinTracker upon every successful XMLHttpRequest,
> but I believe that this is really dangerous. By triggering too many pageviews we first of all obscure
> the data we are actually interested in (how do you distinguish a single content reload among thousands
> of minor updates of some small widget?) and you significantly reduce the speed of your application
> by generating additional overhead.
> So my advise: although it might be tempting to use things like Prototype’s Ajax.Responder to trigger
> the urchinTracker function, don’t! It generates a huge overhead and actually obscures your statistics.
> Technorati Tags: Ajax, Google, Google Analytics, Statistics […]
> Pingback by Fading Roses & Raging Viruses >> ― October 11, 2006
要約すると、以下の通りです。
「Google Analyticsは、Web 1.0では本当に使えるツールだが、Web 2.0(的サイト)において、Ajaxページでのページビューをちゃんと取れない。
ページの一部のリフレッシュを新しいページビューとしてしまってよいのだろうか?
Google Analyticsからの回答は、あなたのあらゆるXMLHttpRequestについてurchinTrackerを呼ぶようにということだが、私はこれが本当に危険であると信じている。
あまりに多くのページビューを発生させることによって、我々が本当に興味があるデータを覆い隠します。 (何らかの小さいウィジェットの小さいアップデートにおいて数千の更新があったときに、どうやって一回分のロードを見分けるのか?)
そして追加オーバーヘッドの発生によって、アプリケーションの速度をかなり落とすことになる。
私のアドバイス:
urchinTracker関数のトリガーにAjax.Responderのようなものを使わないでください。
それは巨大なオーバーヘッドを発生させて、あなたの実際の統計を覆い隠します。」
Google Analyticsからの回答が、onreadystatechangeからのレスポンスに対してurchinTracker関数を置くように指示していることから、共通の関数内でトラッキングするようにしたらオーバーヘッドがかかるし、統計がちゃんと取れないし、困ったことになりますよ…ということでしょうね。
onreadystatechangeは、何らかのイベントによって実行されるのだと思うので、イベントを捕捉した箇所でurchinTracker関数を置くようにしたら良いように思います。
また、前半の「ページの一部のリフレッシュを新しいページビューとしてしまってよいのだろうか?」というのはAjaxで非同期に表示させる領域は、表示しているエリアのほんの一部かもしれないし、ほぼ全体かもしれないので、どの部分をページビューとして捉えるべきか、あらかじめ戦略的に設計しておくのが重要になりそうですね。
カテゴリー: Webマーケティング
タグ: Ajax , アクセス解析 , Google Analytics , Web 2.0
« 前の記事:WebSig 24/7年末イベント連動「WebSigコトノハ」がスタートしました
» 次の記事:無粋な「404 Not Found(エラーページ)」でユーザを逃していませんか?
アークウェブの本
Zen Cartによるオンラインショップ構築・運用テクニック―オープンソース徹底活用
内容充実のZen Cart公式本(v1.3対応)がついに発表です。アークウェブのスタッフをはじめZen-Cart.JPの中心メンバーが共著で執筆しました。続きを読む
新着はてブ
カテゴリー
- Shopify(ショピファイ)オンラインショップ構築
- NGO・NPO向け情報
- スマートフォン
- だれもが使えるウェブコンクール
- mixiアプリ
- OpenSocial (システム開発)
- アークウェブのCSR
- A-Form, A-Member, A-Reserve(MTプラグイン)
- Ruby on Rails(システム開発)
- necoったー
- Miqqle
- WebSig24/7
- ecoったー
- ビッグイシュー(The Big Issue)
- CSR(企業の社会的責任)
- マッシュアップ
- RIA (システム開発)
- セキュリティ(システム開発)
- 唐松(アクセス解析)
- Ajax (システム開発)
- テスト(システム開発)
- データベース
- PukiWiki
- Web 2.0
- SEO・サーチエンジン最適化
- XP・アジャイル(システム開発)
- Web・ITニュースクリップ
- Webアクセシビリティ
- Webデザイン
- SEM・サーチエンジン広告
- Webユーザビリティ
- CMS・MovableType
- Zen Cart(オンラインショップ構築)
- Snippy(SNS・ソーシャルブックマーク)
- アークウェブ
- オープンソース
- CMS(コンテンツマネジメント・システム)
- Webマーケティング
- AMP
- SNS