2012-08-03 28 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> 
相关问题