0
[cross-posted on Google Products Forum http://productforums.google.com/d/topic/analytics/ZrB14a-6gqI/discussion ]

http://www.cs.bris.ac.uk/Research/Algorithms/で次のコードを使用しています。

<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXXXXX-X']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>
<script type="text/javascript">
function recordOutboundLink(link, category, action) {
try {
var myTracker=_gat._getTrackerByName();
_gaq.push(['myTracker._trackEvent', category , action ]);
setTimeout('document.location = "' + link.href + '"', 100)
}catch(err){}
}
</script>

http://support.google.com/analytics/bin/answer.py?hl=en&answer=1136920から直接コピーしました。

onClick="recordOutboundLink(this, 'Outbound Links', 'Postdoc advert');return false;"ただし、たとえば、追加したリンクのクリックは実際には報告されていないようです。これについてオンラインで多くの苦情を見てきましたが、うまくいく解決策が見つかりませんでした.

私は何を間違っていますか?

PS 最も近いオンライン苦情は、コードが壊れていると主張するhttp://productforums.google.com/forum/#!topic/analytics/4oPBJEoZ8s4のようです。

4

3 に答える 3

4

これが私が使用しているもので、私のために働いています。私は jQuery を使用して onclick ハンドラーを "referral" のクラスを持つリンクに追加していますが、HTML に直接追加しても機能することを期待しています。

  $(function() {
    $('.referral').click(function() {
      _gaq.push(['_trackEvent', 'Referral', 'Click', this.href]);
      setTimeout('document.location = "' + this.href + '"', 100);
      return false;
    });
  });

編集: トラッカーを名前で呼び出すための構文が間違っていると思います。ページ読み込み時のトラッキングを設定するときは名前付きトラッカーを使用していないため、後で名前を付けようとするべきではありません。のドキュメントを_gaq.push参照してください。

より正確に:

  1. 宣言は使用されていないため、そのvar myTracker行を削除するだけです。のスコープ内で宣言された変数はrecordOutboundLink、 などの他の関数_gaq.pushが実行されているときは表示されないため、関連性がありません。
  2. '_trackEvent'の代わりに単に使用する必要があり'myTracker._trackEvent'ます。
于 2012-11-03T16:37:40.493 に答える
2

この自動体外式リンクスクリプトを試すこともできます

于 2012-11-05T04:02:24.563 に答える
0

が実際にサーバーにプッシュされるまでには一定の時間がかかり、_gaq.push100 ミリ秒では送信するのに十分な長さではないため、より長いタイムアウトを 2 秒に設定してください (ドキュメントの場所が変更されるとすぐにプッシュがキャンセルされます)。ブロッキング呼び出しを使用しない限り_gaq.push(プッシュが完了するまで次の行を実行しません)、ほとんどが非同期リクエストを使用しているとは思いません。

于 2012-11-03T16:36:10.700 に答える