2014-09-03 76 views
4

我在網站上有很多出站鏈接,我希望通過Google Analytics(analytics.js)跟蹤。Google Analytics(分析):如何跟蹤在新標籤中打開的出站鏈接?

谷歌的docs on outbound link tracking清楚,實現他們建議對我的作品。 問題是在新選項卡/窗口中打開的鏈接。谷歌建議通過回調函數打開鏈接,該函數在跟蹤事件發送給GA後更新document.location。但是這顯然不會在新標籤中打開鏈接。而且,關鍵的是,使用window.open似乎成爲彈出窗口攔截器的受害者。

這是谷歌的建議實施:

<script> 
var trackOutboundLink = function(url) { 
    ga('send', 'event', 'outbound', 'click', url, {'hitCallback': 
    function() { 
    document.location = url; 
    } 
    }); 
} 
</script> 

我可以簡單地忽略回調函數,並讓瀏覽器中打開新的標籤,但如果我這樣做,谷歌說,有該事件將不會獲得註冊機會 - 我的跟蹤將不準確。

+1

如果該鏈接將在新標籤中打開,跟蹤將工作而不會回調,因爲跟蹤代碼的標籤仍然打開。您可以在那裏插入一個if語句,並且只在鏈接沒有'target =「_ blank」'時添加回調。 – Reeno 2014-09-03 14:12:11

回答

9

如果你要跟蹤點擊出站鏈接和鏈接可在新窗口或標籤開啓,您不必擔心回調。該頁面將很好地跟蹤事件。問題來自同一幀中的鏈接,因爲點擊事件正在發送的同時,點擊跟蹤頁面被拆除。因此,對於新窗口/選項卡中的目標鏈接,不要擔心,因爲您的正常點擊事件可以正常工作。

如果您需要跟蹤的出站鏈接,但擔心在當前標籤/窗口打開鏈接,一個解決方案是有一個服務器端重定向腳本,做谷歌Analytics跟蹤。它的工作原理有點像這樣:

  • mousedown上,鏈接的href屬性被替換爲JavaScript。從http://example.com/yourTrackingScript?gaCategory=Something&gaEvent=Click&gaLabel=SomeLink&url=http%3A%2F%2Fexample.com。在mousedown上發生這種情況很重要,這樣如果有人右鍵單擊鏈接以在新的選項卡/窗口中打開,則仍會插入服務器端跟蹤腳本。 Google在其搜索結果頁面上使用此方法。
  • /yourTrackingScript打完從使用measurement protocol服務器端谷歌分析您的活動。
  • /yourTrackingScript使用302重定向來響應查詢字符串中傳遞的任何URL。
  • 用戶被重定向到最終目的地,而這一切通常發生得很快,甚至沒有注意到。
相關問題