onclick などのタグを仕込むと、その場合、トラッキングコードは、ページの上部、少なくとも、onclick などのタグの上にないといけない、と言われています。
だったら、はじめから、トラッキングコードをページの上部に設定するのはどうなのでしょうか?
上部に表示して、ページが表示されないなどのトラブルは起きませんか?
結論から言うと、トラッキングコードを上部(<head>セクション)においても、下部(</body>の手前)に置いても、それほど大きな違いはないと考えていいと思います。
しかし、表示速度など一定のリスクはありますので、その点はご自身で判断してください。
僕の個人的な意見ですが、その点を重視するなら、正直、Google Analyticsに限らずビーコン型の解析を断念して、ログファイルを分析する形式にした方がよいと思います。
くどいようですが、誰かが、たとえばGoogleやアクセス解析イニシアチブや僕が、Googleの正しい動作を保証するわけではないので、その点は、ご自身のリスクで判断してください。
少し解説です。
Google Analyticsのトラッキングコードは、GoogleのサーバーにおかれたJavaScriptファイルを呼び出しています。(www.google-analytics.com/ga.js)
Googleは、表示速度の遅いページなどに配慮して、Google Analyticsのトラッキングコードをページの下に設定するよう推奨しています。
ただし例外として、onclick などでGoogle Analytics の JavaScript 関数を呼び出す際には、ページの<head>部分にトラッキングコードがないと動作しません。
あるページは、上部にトラッキングコードを設定して、別のページには下部に設定する。こういった例外処理をサイトに行うのは、特に大規模サイトの場合は、手間になります。
ですので、onclick などのイベントをトラッキングする機会が多いのであれば、トラッキングコードを一律に上部に設定することは、悪い判断ではないように思います。
どんなリスクがあるか考えてみます。
【ページの表示速度】
ページの下部にあった方が、レスポンスはよく思えます。
ただ、(計測したわけではありませんが)Googleのサーバーのパフォーマンスはよいので、この影響も少ないと思います。
【エラーの発生と影響】
万が一Google Analyticsのファイルが呼び出せないと、エラーが出ます。
ただ、トラッキングコードをどの位置に張ろうと、このエラーは出ますし、実際には、このようなエラーが出ることは極めてまれだろうと思います。
トラッキングコードが呼び出すファイル名を、違う名前に変えて、設定してやれば、エラーの状況は再現できます。どんなエラーが出るか確かめたいぞ、という場合には、ご自身で確かめて見ることをお勧めします。
【計測の正確性】
ページの下部に設置するメリットは、ページを最後まで表示したユーザーだけをしっかり計測できる点もあります。
上部にあると、ページの最初だけ表示して、去ってしまうユーザーの動きも取れてしまいます。これをよいことと見るか、悪いと見るかはあなたの考え次第でしょう。
僕が思いつくにはこんなところです。
ポールです。
さまざまな環境にもよると思いますが、私が試したケースだと</body>の手前にトラッキングコードをいれていても、onclick などのイベントをほぼトラッキングできていました(ここらへんは技術的に詳しく説明していただける方いらっしゃると助かります)。
ただ、あくまで、公式の正しい使い方ではありません。イベントトラッキングするページだけトラッキングコードの位置を変更することがどうしても難しいいう場合には、この方法でトラッキングできているか試してみるというのもひとつの選択肢ではないでしょうか。
ただし、大内さんのおっしゃるように動作保障はできませんのであくまで自己責任でお願いいたします。
> </body>の手前にトラッキングコードをいれていても、onclick などのイベントをほぼトラッキングできていました
ユーザーのクリック操作と、ブラウザのページ読み込み完了のタイミングによって、動作が異なります。
ページが完全に読み込まれていれば、ユーザーのクリック操作は正常にトラッキングされます。
一方、ページが完全に読み込まれていない状態で、ユーザーのクリック操作が行われた場合、読み込んだスクリプトがブラウザによって実行される前に、onclick等でファンクションを呼び出すとJavaScriptエラーが発生し、トラッキングも行われません。
長大なページでGoogleAnalytics等のスクリプトの読み込みを</body>の直前に書いている場合や、JavaScriptの重めの処理が計測用のスクリプトの読み込み以前に書かれている場合に顕著となります。
ログイン しなければ投稿できません。