【New!】 Google Analytics非同期トラッキングコード(Asynchronous Tracking Code)

アクセス解析オタク向けのエントリです。w

Google Analyticsに新しいトラッキングコードが加わりました。
公式ブログでアナウンスされています。

新たに登場したのは、”Asynchronous Tracking Code“、日本語に訳すと「非同期トラッキングコード」になります。

「非同期(Asynchronous)」というのは、乱暴な言い方になりますが、「順番を待たずにそれぞれが自由に動く」ことです(ADSLの”A”です)。

対して「同期(Synchronous)」は、「それぞれが相手とタイミングを合わせて動く」ことです。

コンピュータで言ったら、並行して処理が行われるか、ある処理が終わってから次の処理が始まるか、のようになります。

Google Analyticsに導入されると、次のような動きになります。

Google Analytics を使用する際は ga.js という Google Analytics API 本体のファイルを script タグで埋め込むのですが、script タグで外部の JavaScript をロードすると読み込みが終わるまで HTML のレンダリングが停止します。そのため script タグを使うとユーザーに待ちが発生します。通常 ga.js の読み込みを body の末尾で行うようになっているのは、レンダリングの停止を見込んでのことです。

ga.js の読み込みを非同期にすると、script タグによる待ち時間が発生しませんので、コンテンツの描画がスムーズに行われるようになるという仕組みです。

Google Analytics 非同期版を早速 WordPress に組み込んでみますた « ゆっくり…して…イってネ!

難しく感じるかもしれませんが、分からなくても大きな問題はありません。

非同期トラッキングコードによるメリットを簡潔にリストアップします。

  • ウェブページの読み込み時間の高速化
  • データの収集と正確性の向上
  • Javascriptが正常に読み込まれなかったことによるエラーの回避

コードをロードするための待ち時間がなくなるので、今までよりもページが早く表示されます。
ただし、ブラウザ側の対応も必要なようです。

ツイート
詳しくはこちらを見るといいそうです。

Googleはページの表示時間もランキングのアルゴリズムに組み込むようなことを言っているので、貢献しそうですね。

Google Analyticsのコードは、通常bodyタグの終了直前に挿入します。

もし何らかの理由でスクリプトが読み込まれなかった場合、他のソースの読み込みに影響を与えるのを避けるためです。

いちばん最後にしておけば、自分がコケけても後にはもう誰もいないので他人には迷惑をかけませんね。

ただ、一部の設定ではコードを上部(一般的にはheadタグ内)に設置しなければなりません。
このような状況では、コードの読み込み不全が原因でトラブルが発生することがあり得ます。

非同期トラッキングコードでは、このような心配がなくなります。

さて、それでは非同期のトラッキングコードの導入方法になります。
コードは管理画面からは取得できません。

Google Codeに解説があります。

下のコードを、headセクション内(body終了タグの直前ではない)に挿入します。
UA-XXXXX-Xの部分(赤文字)は、自分のIDに置き換えます。

<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-X']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga);
  })();

</script>

カスタマイズせずに標準のアクセスデータを取得するなら、コードを張り替えるだけです。

しかし、イベントトラッキングやeコマーストラッキングを利用する場合は関数の変更も必要です。
詳しくはこちらのヘルプをご覧ください。

日本語化を予定しているそうですが、公開日時は未定だそうです。
GAのサポートに回答をいただきました。
(小杉さん、頑張って!w)

Google Analyticsの非同期トラッキングコードは、すべてのユーザーが利用できますが、まだベータ版での提供です。
通常のトラッキングコードは、今までどおり使えます。

なので、無理して切り替える必要はありません。

僕はこのブログではなく、データが取れなくなっても困らないようなサイトで試験導入してみました。

あなたも早く効果を体験したいアクセス解析ギークであれば、試してみてください。
情報提供もお待ちしてます。

【UPDATE】
Google Code Blogでも公式アナウンスがありました。
Google Analytics Launches Asynchronous Tracking

Firefox 3.6は、新しい機能をサポートしているブラウザになります。

関数の仕様については、こちらもご覧ください。
Asynchronous Tracking Usage Guide