なぜGoogle Analytics はコード挿入だけで発リンクを判別しトラッキングできるのか?

JavaScriptを使うと、ページ内のさまざまなデザインパーツを認識できるのです。

1.そもそもWebページとは?JavaScriptとは?

ブラウザで解釈されるHTMLという言語に基づいてレイアウトやデザイン、挙動が制御されます。・・・って、そんなことはもう皆さんはお解りですよね。

で、そのHTMLではDOMといって、それぞれのデザインパーツやタグなどが、階層構造に基づいて管理・解釈・実行されていきます。階層構造というのは、そもそもHTMLという大きなパーツがあって、その中にヘッダー、ボディ(本文)・・・・、そしてボディの中に、見出し、段落・・・というようにグループ化され解釈されていくのです。

実は、その中に<A>というリンクを構成するパーツが認識され、その内部をチェックし・・・「あ!このリンク先はhttp://〜ってなってる!じゃあ、外部リンクだな。ならばイベントトラッキングの命令を付加して実行させよう!」と制御してくれるのです。それを、多くのWebページではJavaScriptというプログラム言語がになってるのです。

実は、JavaScript自体は以前から存在していました。しかし、その後ブラウザの進化とともに、そういう解釈できる部品や構造が増え、さらに高度な制御もできるようになっていきました。

そして、最近では皆さんお馴染みの、「非同期トラッキング」もその成果です。

ページ上部にトラッキングコードを貼り付けつつも、ページ全体が読み込まれてから、その実行をする。そのような高度な処理が出来るようになったのも、近年のJavaScriptの発展によるところが大きいのです。

2.どんな拡張プログラムがあるの?

したがって、トラッキングコードとともJavaScriptを使えば、より高度なトラッキングが可能になります。

トラッキングコードに追加するものもあれば、そのプログラムを読み込む1行を追加するだけで使えるもの、様々です。

gaAddonsが非同期に対応してパワーアップしていた | 運営堂|Google Analyticsを使ったアクセス解析、Moodle運用など
(プログラム追加のみで、全ての発リンクを計測できます。)

GAのクッキー情報を手軽にJS変数として使う「ga.utils.js」 – Web Analytics Latte
(Google Analytics が記録したcookie情報を参照・活用できます。)

Google Analytics で読了時間を計測できるプラグイン GA Read2End | カグア!
(ページの下までスクロールしかたどうかを計測出来ます。)

Google Analyticsでアンドロイド(Android)の機種名を取得 | 晄夏ノート -hicage no oto-
(トラッキングコードを拡張することで、Android機種名を取得出来ます。)

Google Analytics機能拡張プラグイン gaPlugin.js version2を公開します。 | Web Analytics Or Die
(ダウンロードや動画閲覧時間の取得など高度なトラッキングが出来ます。)

3.autotrack.jsに期待される新機能

前回投稿したエントリーでは、新トラッキングコードと思われるautotrack.jsについて、レポートしました。

そのコードもJavaScriptで作られていて、動作としては上図のように、今までのga.jsと2段階的に動作します。そこで、autotrack.jsはその名前の通り、オートで面倒な高度なトラッキング機能の付加をしてくれるものと思われます。

イベントトラッキングに、発リンクや内部リンクを記録してくることは、既に明らかになっています。そしてそのプログラム内部を調べてみますと、何と以下の項目(変数・関数名)が存在しています。

setAllowAnchor(これは今まで異ドメイン間でトラッキングで使われていたメソッドです)
EventName(これは前述の発リンク等をイベントトラッキングに記録するものと思われます)
trackUnload(非同期トラッキングを実現するものと思われ)
AutoTrack:Navigation(内部リンク?ページ遷移?)
AutoTrack:Heatmap(ヒートマップ!!??)
AutoTrack:Outbound Click(外部への発リンク)
getAttribute(属性クリックのカウント?!)
doScroll(スクロール検知!?精読率?)

これらの期待を増幅させるかのように、こんなニュースが報じられました。

Insight for WebAnalytics: Google Analyticsの接続速度のレポートが廃止に

ある計測値を廃止する、ということは新たに何か計測するから?とも考えられるわけで、期待せずにはいられませんね。異ドメイン間トラッキングが簡単に取得できるようになるとしたら、それだけでも凄く楽しみですね!

トラッキングコードこそ、まだ発表されていませんが、レポート画面等の新機能は徐々にベータ公開されているようです。

Twitter / @Shin: Google Analyticsのベータ版が使えるよ …

APIや今までの計測の互換性などは、注視しなくてはなりませんが、新しいGoogle Analytics に、早く会いたい!

追記 ・・・と、Google Analytics が自動判別できるわけではないですね、今はまだ(照)。
 追記2 Google Analytics にリクエストする画像ファイル名を訂正しました。__utm.gif ですね。15:33 2011/3/30