Googleアナリティクスに記録されないイベントの多く(20%)に問題があります。これらは、フォームを投稿する画像ボタンにonclickで呼び出されるすべてのイベントです。ブラウザが次のページに移動する前に、コードがGoogleにイベントを送信するのに十分な速さで実行されていないと考えています。Googleアナリティクスの非同期追跡における競合状態の回避
私がしたいことは、_gaqのキューの状態をチェックし、自分のJavascriptを完了する前に保留中のイベントがないことを確認することです。
_gaqは少しわかりにくいようですが、公開されているプロパティはあります。私は、簡単なコマンドを使ってChromeでテストしてきた:
console.log(_gaq.u);
残念ながら、これは常に_gaq.pushコマンドの直後に実行しても、0を返します。もちろん、Chromeはポストが発生する前にGoogleにイベントを送信するように見えるので、問題を再現できないためChromeでデバッグできるかどうかはわかりません。
_gaqからキュー内の保留中のアイテムの数を取得する方法があるかどうかは知りませんか? _gaq.uは適切なプロパティですか?すべてのイベントで100〜200ミリ秒待つだけではなく、もう少しエレガントなことをしたいと思います。
私はページトラッキングのための非同期コードを使用していますが、ボタンクリックで発生したすべてのイベントは、同期バージョンを使用してコード化されています。 私はこれをChromeでテストしましたが、(getgetrackerを使用することについての絶え間ない廃止の警告にもかかわらず)正常に機能しました。それをデプロイしてから数日間実行すると、行動の変化はまったくありません。イベントの20〜25%は捕捉されていません。 同期コードがこの問題を解決しなかった理由は何ですか?ブラウザ固有の問題があるかどうかをまだ分析していません。 – bkgraham
また、yahelcは、ideads、特にiPadの 'onmousedown'と' onkeydown'イベントをテストしましたか? – bkgraham
@bkgraham yep。 Appleのドキュメントをチェックしてください。それはうまく動作しますhttp://developer.apple.com/library/safari/#documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html – Yahel