Google が頭の中で分析をインラインで呼び出すことを明確に推奨していることは知っています。しかし、外部ファイルでそれを呼び出す潜在的な落とし穴はありますか?
Chrome 用の Google アナリティクス デバッガーをインストールしましたが、すべて正常に表示されます。ページの先頭にある外部jsファイルで呼び出しています。
Google が頭の中で分析をインラインで呼び出すことを明確に推奨していることは知っています。しかし、外部ファイルでそれを呼び出す潜在的な落とし穴はありますか?
Chrome 用の Google アナリティクス デバッガーをインストールしましたが、すべて正常に表示されます。ページの先頭にある外部jsファイルで呼び出しています。
これは、Googleが提案しているものとはまったく異なります。
基本的に、GAをできるだけ早くインスタンス化できます。これは次のような部分です。
var _gaq = _gaq || [];
残りの部分は、ページの下部にロードできます。
_gaq =...;
ページの上部にある外部ファイルに入れて、残りのファイルを下部に置くこともできます。
目標はこれです:
Googleは最初に_gaqを配列にします。次に、配列の.push(...);
メソッドを使用して、配列に追跡を追加します(実際には、文字列の配列を追加するだけです)。
コードの2番目の部分をページの下部に追加すると、_gaq
配列内のデータが保持配列に保存されます。_gaq
その後、実際のプログラムに変わり.push(...);
、これからはページ上で実際にデータなどを送信します。
そして、完全なファイルの初期ロード時に、_gaq
プッシュされた命令の配列を実行し、それをサーバー呼び出しに変換します。
_gaq
ユーザーベースのトラッキングをページやボタンなどに追加できるように、ページのできるだけ高い位置から開始することをお勧めします。これにより、プログラムが最終的にページの下部に読み込まれるようになります。 、を介して追加したすべてのアクションは、_gaq.push(["_method", "data"]);
実行時にGAによって追跡されるため、イベントを見逃すことはありません。
_gaq =...
ここで、コードの一部と、コードのスクリプトダウンロード部分の両方をページの上部に配置する必要はありません。スクリプトのダウンロードには時間がかかります。GAはそれを正しい方法で実行しており、非同期でロードしています。これは完璧です... ...ただし、後半をページの下部に移動する(または外部スクリプトに配置する)ことで、クリーンアップできます。 。
したがって、答えは、最終的には、GAコードを外部スクリプトに100%自由に移動できるようになります。これによって、実行方法が変わることはありません。
ただし、外部スクリプトを一番上に残すことを検討する必要があります_gaq=...
(これにより、カスタムイベントに対するユーザーの行動を追跡している場合は、ページの準備ができたらすぐにそれを実行できます-しかし、なぜそれを外部スクリプトに入れるのですか? 、ロードと実行に時間がかかる場合、実際の割り当てとは対照的に、低速のブラウザでもマイクロ秒かかりますか?)
次に、スクリプト呼び出しをページの下に移動します(または、ページの下部で参照されている外部ファイルに移動します)。