2012-08-03 70 views
0

我有基本的單頁網站與正常的谷歌分析代碼:如何在Google Analytics中跟蹤#ajax鏈接?

var _gaq = _gaq || []; 
    _gaq.push(['_setAccount', 'UA-##-##']); 
    _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); 
    })(); 

但是我的鏈接就像書籤 - 他們基本上了slideDown單頁。點擊時我的鏈接基本上是頁面,但在同一個模板中 - 他們滑動以揭示內容元素。

<a href="#section-3">about us</a> 

有沒有一種方法,我可以更新分析跟蹤或以某種方式跟蹤鏈接?因此,在分析中,我會看到人們在頁面上花費這麼多時間等。

回答

-1

使用jQuery爲此。

有在你的頭上的分析,注意清潔代碼:

<script> 
    var _gaq = [['_setAccount', 'UA-XXXXX-X'], ['_trackPageview']]; 
    (function(d, t) { 
    var g = d.createElement(t), 
    s = d.getElementsByTagName(t)[0]; 
    g.src = '//www.google-analytics.com/ga.js'; 
    s.parentNode.insertBefore(g, s); 
    }(document, 'script')); 
</script> 

現在把這個在您的頁腳,其中#主導航是您的UL> LI菜單列表的一個例子。它會跟蹤所有這些頁面。

jQuery(function($){ 
     $("#main-navigation a[href*='#']").on("click", function(){ 
      var $url = $(this) 
     _gaq.push(['_trackPageview', $url.attr('href')]); 
     console.log('_trackPageview', $url.attr('href')); 
    }); 
}); 

另請注意,我的代碼使用協議和更乾淨的JavaScript速度高達2000倍。 http://jsperf.com/protocol-check-vs-hardcoded-string參考http://mathiasbynens.be/notes/async-analytics-snippet

+0

+1協議和更乾淨的代碼,也是_trackPageView而不是_trackEvent的用戶 – AlphaApp 2012-08-04 00:16:11

+0

好的,M1th,閱讀這篇文章.. https://developers.google.com/analytics/devguides/collection/gajs/eventTrackerGuide當您跟蹤目標時,「_trackPageview」使用 ..例如只是Url ...他需要看看鏈接被點擊了什麼......它是用於事件跟蹤的「_trackEvent」。它將出現在分析中的事件概覽中。 – Maksym 2012-08-04 00:17:51

+0

但trackPageview不會顯示播放音頻的人? @MaksymH。 – M1th 2012-08-06 10:21:08

4

試試這個。在頭部的地方是:

var _gaq = _gaq || []; 
    _gaq.push(['_setAccount', 'UA-##-##']); 
    _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); 
    })(); 

頁腳或在其他任何地方 - 這樣的:

jQuery(function($){ 

    $("a[href*='#']").on("click", function(){ 
     var $url = $(this); 

     _gaq.push(['_trackEvent', 'ajaxLink', $url.text(), $url.attr('href')]); 
     console.log('_trackEvent', $url.text(), $url.attr('href')); 
    }); 
});​ 

和HTML應#ID參考鏈接。如:

<a href="#home-page">Home</a> 
<br /> 
<a href="#about-us-page">About Us</a> 

我用this來了解它。

UPD:這裏是例如:http://jsfiddle.net/K2PcL/

感謝。

+0

謝謝..你可以給我一個關於我們頁面的例子,我會在哪裏寫「關於我們」,還有,Analytics代碼是否需要在我的頁面頂部聲明,我猜我需要爲你的代碼使用jQuery? – TheBlackBenzKid 2012-08-03 22:56:07

+0

更新的答案..關於jQuery - 不,你可以重寫代碼到任何其他庫或使用只是普通的JavaScript(但我會建議使用jQuery) – Maksym 2012-08-03 23:06:31

+0

TypeError:$是不是一個函數奇怪的錯誤? – TheBlackBenzKid 2012-08-03 23:53:11

1

您應該可以將頁面跟蹤添加到onclick事件。嘗試改變你的鏈接到這樣的事情:

<a href="#section-3" onclick="_gaq.push(['_trackPageview', '/AboutUs']);」>about us</a> 
相關問題