2011-10-12 2 views
1

を使用してページをロードし、ハッシュコード、基本的には各ページのクリックは意味Googleの分析と私は完全にAJAXを使用して実行されますモバイルサイトを持っているAjaxのGETリクエスト

<a href='http://some-domain.com/my-page-122.php" hash-id='122'>linkage</a> 

などのリンクは、あるそのページ自体しかし、それはon ITグーグルアナリティックスのページを持っています、しかし、ajaxリクエストでは、私はページが完全に呼び出されているので、私の質問は: とjQueryのload()を使用してセクロン<div>をロードするように頼むGoogleアナリティクスのコードとすべて、ページに注入された部分だけがページビューとして記録されますか?

私は、このサイトが1日あたり500個のユニークなものを取得しているため、この新しいAJAXyフォームに変更したいので、アナリティクスを記録しないことは大きなノー・ノーです。

+0

新しいバージョンのアナリティクスではこれとは異なります:http://stackoverflow.com/questions/15693209/the-new-universal-google-analytics-script-on-an-ajax-based-website – jerrygarciuh

答えて

10

あなたはAjax呼び出しが完了したページビュー毎回を発射するために、グローバルAjaxCompleteイベントにバインドすることができます参照してください。これを呼び出すと、URLのアンカー部分を含む完全なパスが発生します。

.loadにGoogleアナリティクストラッキングコードが含まれているコンテンツを読み込むと、そのコードが実行されて2回目のページビューが発生します。したがって、ダブルページビューを避けるために、GATCをajaxコンテンツに含める必要はありません。

+0

また、私に役立ちました。ユニバーサルアナリティクスWebトラッキングのGoogleアナリティクスアップデートでは、 'ga( 'send'、 'pageview'、d)'を使用します。 – Davuz

1

アナリティクスで自動的に記録されることはありません。あなたが好きなあなたが明示的に設定したURLを使用してGAQ配列に書き込むことで、できるだけ多くのページビューを記録することができ、非同期コードを使用していると仮定すると:この場合

_gaq.push(['_setAccount', 'UA-12345-1']); 
_gaq.push(['_trackPageview', '/home/landingPage']); 

あなたは彼らが持っているどこが好きなURL構築することができます "/home/landingPage 'と入力します。 _gaqが既に正しくインスタンス化されていて、_setAccountがすでにプッシュされている場合は、_trackPageviewを押すだけで済みます。

また、イベントはAJAXによって返されるコードでも、ボタンのクリックイベントやAJAXリクエストの起動イベントでもかまいません。あなたがアンカーあなたがアヤックスを行うたびに更新した場合

jQuery(document).ajaxComplete(function(e, xhr, settings){ 
    var d = document.location.pathname + document.location.search + document.location.hash; 
    _gaq.push(['_trackPageview', d]); 
}); 

あなたはjQueryのを使用している場合http://code.google.com/apis/analytics/docs/gaJS/gaJSApiBasicConfiguration.html#_gat.GA_Tracker_._trackPageview