高性能な機能をもつGoogle Analytic
Google Analyticsは、ここで説明するまでもありませんが、Googleが提供するアクセス解析サービスです。基本的には無料で、しかもかなり高機能なサービスを利用できるため、非常に注目されていて、Google Analyticsのみをあつかった書籍も発売されているほどです。このツールは、もともとは「Urchin」というツールとして有料で提供されていたものを、Googleが買収し、無料で利用できるようにしたものです。
Google Analyticsでは、単にそれぞれのページのアクセス数だけではなく、複数のページにわたる移動や、一連の作業(たとえばユーザー登録や商品の購入など)をするに当たり、どれだけの人が行動を始め、そのうちのどれだけが途中で断念し、どれだけの人が最後まで作業を完了できたか、といった特定の行動にフォーカスした解析も行うことができま す。
あまりに高機能なため、その使い方や情報の意味を理解するのに少し時間がかかってしまうのが難点ですが、きちんと理解しさえすれば、自サイトのアクセス動向を知るのに十分な機能を提供してくれます。実際、Googleが提供しているページでも、Google Analyticsのコードが埋め込まれているところもあり、Google社内でも利用されていることが見て取れます(たとえば Googleトークのダウンロードページなど)。
Google Analyticsは、各ページに指定されたコードを埋め込んで、それぞれのページのアクセスや、ページ間の移動を見る、ということが基本になりますが、タイプとしては「JavaScriptを使ったアクセス解析とはなにか」で解説したような、JavaScriptを利用して記録を行うタイプのツールです。JavaScriptを利用したアクセス解析では、「ページにアクセスがあった」というだけでなく、リンクをクリックした、ページを閉じたといったような様々なタイミングでのアクセスの記録が可能です。
そして、Google Analyticsでも「ページにアクセスが行われた」ということ以外にも、たとえば、リンクがクリックされた、ページを閉じた、といった様々なユーザーの行動を記録することもできるよう、設計されているのです。しかも、そういった解析が可能なようにデザインされており、しかもJavaScriptの知識がほとんどなくても、非常に簡単に行える仕組みが用意されているのです。
今回は、そうした「アクセス時以外のタイミング」でのアクセスの記録について、どんなタイミングで記録ができるのか、実際に記録を行うにはどうしたらいいのか、ということをブラウザの仕組みとあわせてみていきたいと思います。Google Analyticsでは、以下のようなタグをページ内に埋め込むだけで、アクセスを記録し、自動的に解析してくれます。
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-53636-1";
urchinTracker();
</script>
この部分がJavaScriptに関する記述であることは、「text/javascript」という部分が含まれていることからわかるとおもいます。まずはちょっとこの部分の意味を見ておきましょう。
1行目に記述されているタグでは、Google Analyticsのプログラム本体が指定されています。HTMLでは、このようにSCRIPTタグに「src="URL"」と指定すると、そのファイルを読み込んでその中身をJavaScriptとして実行してくれるようになっています。このおかげで、ユーザーである我々が貼り付けなければならないタグは非常に短いのです。
Google Analyticsが動作するためには、もっと複雑なプログラムが必要で、それを指定しているのが1行目のSCRIPTタグです。そこで指定されている「http://www.google-analytics.com/urchin.js」というURLにアクセスすると、非常に巨大なプログラムを見ることができます。しかし、それはあくまで内部の処理なので、理解する必要はありません。
続くSCRIPTタグは、srcが指定されていません。その代わりに、タグの中に直接JavaScriptのプログラムが記述されています。とは言っても、たったの2行なので、それほどおそれる必要はありません。
最初の行では、まず利用するGoogle Analyticsのトラッキングコードを設定しています。上記の例では「UA-53636-1」です。ここは、それだけの意味です。
そして、続く「urchinTracker();」というのが、アクセスを記録するための命令です。すごく短く感じるかもしれませんが、これによって、urchin.js、つまり読み込まれた別のJavaScriptのプログラムが呼び出され、アクセスが記録されるようになっています。
ここで注目してほしいのは、「urchinTracker();」という命令が実行されると、アクセスが記録されるということです。図1のように記述した場合、そのプログラムはページが読み込まれた際に実行されます。しかし、それ以外のタイミングで、この命令を実行することも可能で、たとえばリンクがクリックされた際に実行すれば「クリックされた」という事が、ページが閉じられた際に実行すれば「ページが閉じられた」という事が記録できるわけです。
あとはどういうタイミングでそれを実行するか、それをするにはどうしたらいいのかを考えれば良さそうです。