簡體   English   中英

如何跟蹤出站鏈接的點擊

[英]How to track clicks on outbound links

[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=zh_CN&answer=1136920復制了該文件。

但是,實際上似乎沒有報告我添加了onClick="recordOutboundLink(this, 'Outbound Links', 'Postdoc advert');return false;"的鏈接的任何點擊onClick="recordOutboundLink(this, 'Outbound Links', 'Postdoc advert');return false;" , 例如。 我已經在網上看到了很多關於此的投訴,但是還沒有找到有效的解決方案。

我究竟做錯了什么?

附言:與之最相關的在線投訴似乎是http://productforums.google.com/forum/#!topic/analytics/4oPBJEoZ8s4 ,該投訴僅聲稱代碼已損壞。

這是我正在使用的,一直在為我工作。 我正在使用jQuery將onclick處理程序添加到具有“引薦”類的任何鏈接中,但是我希望將其直接添加到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聲明未使用,因此您只需刪除該行。 當其他函數(如_gaq.push )正在運行時,在recordOutboundLink范圍內聲明的變量不可見,因此它不相關。
  2. 您應該只使用'_trackEvent'而不是'myTracker._trackEvent'

您也可以嘗試使用此自動外部鏈接腳本

可能將超時時間設置為2秒,這是因為_gaq.push實際需要一定的時間才能實際推送到服務器,並且100毫秒的時間不足以發送給服務器(一旦document.location,推送就會被取消變化)。 除非_gaq.push使用阻塞調用(在推送完成之前不執行下一行),但是我不認為我認為大多數情況下都使用異步請求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM