2011-06-20 4 views
0

documentationによれば、Googleアナリティクスの非同期トラッキングコードは、pushの配列が_gaqの配列であり、ga.jsがロードされる前に「非同期」となっています。この時点で_gaq.push(Google Analytics)は本当に非同期ですか?

は、_gaqはもはや アレイですが、[解析]オブジェクト、および追跡 方法の 即時実行が可能である:それがロードされると、push呼び出しがすぐに実行されません。

が、これは(ga.jsのがロードされた後)の呼び出しが完了するまでのonclickで pushを呼び出して、私の他のコードをブロックすることができることを意味するのでしょうか?それとも本当に非同期ですか?この場合、私のページからナビゲートすると、 pushへの呼び出しが完了しないことがありますか?

答えて

1

ページからナビゲートするとアナリティクスが何かをトラッキングできないことが確認できます。可能な回避策は、target="_blank"を使用して空白のウィンドウでターゲットページを開くか、onloadのトラッキングgifを待つカスタム関数で_gaq.push呼び出しをラップすることです。後者は、ユーザのクリックに対する応答の前に遅延を生じさせ、これは高遅延ネットワーク(例えば、移動体)でより重要になる可能性がある。

0

unobfuscated version of ga.jsが見つかりました。トラッキング情報は、DOMに追加されていないイメージオブジェクトを使用してGoogleに送信されます。ハンドラがイメージのonloadイベントに追加されます。これに基づいて、私はプッシュプッシュが私のコードを(少なくとも長い間ではなく)ブロックするとは信じていませんし、オンロードで何をしているのかは非同期です。つまり、ページからナビゲートすると、アナリティクストラッキングの一部がログに記録されない可能性があります。誰かがこれらのことを確認できれば、あなたの答えを正しいものとしてマークします。

関連する問題