GoogleAnalyticsでサイト分析

GoogleAnalytics を使ってスマートフォン向けのエンタメサイトの分析を行う過程で得たノウハウを書き留めるブログです。

trackEvnet()のデータ反映時間は約20分

GoogleAnalytics を使って訪問者のサイト内行動をトラッキングするには、trackEvent()が便利です。

trackEvent()は、category, action, label, value 計4つの引数フィールドを持ち、category, action, label に文字列、value に数字を入れること以外に制限がありません。
ですので、設計次第で訪問者の様々な行動をトラッキングするのに使えます。

非同期トラッキングコードでは、以下のように設定します。

_gaq.push(['_trackEvent', 'category', 'action', 'label', 1]);

私が GoogleAnalytics を設定しているサイトでは、trackEvent() を使用して、訪問者のボタンクリックをトラッキングしています。

サイト内では定期的にキャンペーンを実施していて、訪問者にはキャンペーンへの応募条件としてメールアドレスの登録をお願いしています。
メールアドレスを登録するために空メールを送信してもらうのですが、この送信ボタンに trackEvent() を設定することで、送信ボタンを設置しているページに訪問してくれた訪問者のうち何名がボタンクリックをしてくれたかを計測しています。

設定は、以下のようになっています。

_gaq.push(['_trackEvent', 'BlankMail', 'click', 'send_blank_mail', 1]);

さて、trackEvent()を初めて設定したときに気になるのは、『データの反映までにどれくらい掛かるのか』です。
設定が自由な分、自分の設定が正しく実行されたのか気になりますし、もし正しくなければすぐに直さなければなりません。
しかし、正しく実行されたかどうかは、データが反映されるかどうかでしか判定出来ません。
そのとき、trackEvent()を実行してから反映されるまでの目安時間が分からないと、解析中なのか間違っているのか判断出来ず、非常にやきもきします。
意図通りに実行されなかったのに、明日には反映されているだろうと簡単に考え、翌日確認したら反映されていなかった日には、設定のスピード感に欠けますし、徒労感は想像以上です。

GoogleAnalyticsのドキュメントを読むと『データ反映には約24時間要する』と書いてあります。
また、有識者のブログを見ると『4時間ぐらいで反映される』と書かれている方も居ます。
しかし、今回検証したところ、trackEvent()については『イベント実行後20分以内で反映される』ことが分かりました。

以下は、イベント実行前のキャプチャー画像です。

f:id:libra017s:20120830223019j:plain

label に send_blank_mail と設定したイベントが、この時点で13回実行されている事が確認できます。
また、右下とみると、レポートの生成時刻が 22:08 である事も分かります。

ここで、同じイベントを1回実行しました。
そして、以下が10分後のレポート画面のキャプチャー画像です。

f:id:libra017s:20120830223024j:plain

label に send_blank_mail と設定したイベントが、1回増えて14回実行されている事が確認できます。
レポートの生成時刻は、10分後の 22:18 です。

今回は10分で更新される事が確認できましたが、過去に試したときは15分くらいの時もありました。ですので、余裕を見て20分もあれば更新されるという目安を付けるに至りました。

trackEvent() を設定してイベントを実行させた後、20分経ってもGoogleAnalytics の〔コンテンツ > イベント > サマリー〕でデータの反映を確認出来なければ、設定ミスを疑うと良いと思います。

設定を確認する際は、以下の点を見直してみると良いです。

  1. '_trackEvent' でクォーテーションとアンダーバーの間にスペースが入っていないか。
    • ' _trackEvent'になっていませんか?'_trackEvent' と ' _trackEvent'は別物です。
  2. value フィールドをクォーテーションで囲っていないか。
    • value フィールドには数字を記入します。クォーテーションで囲ってしまうと文字列になります。
  3. 括弧の閉じ忘れや行末宣言忘れは無いか。
    • JavaScriptでは、コーディングミスがあると以降の処理が実行されなくなるだけです。

もちろん、サイト規模によって反映時間は変化します。ですので、一度ご自身のサイトでの反映時間を把握しておくと、後々幸せになれると思います。

trackEvent()をうまく使ってユーザの行動を把握し、効果的にサイト改善を行っていきましょう。