如何在Google Analytics中跟踪#ajax链接?

时间:2012-08-03 22:32:48

标签: jquery ajax seo google-analytics

我的基本单页网站包含正常的Google Analytic代码:

  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);
  })();

然而,我的链接就像书签一样 - 它们基本上都是单页。点击时我的链接本质上是页面,但在同一个模板中 - 它们会滑动以显示内容元素。

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

有没有办法可以更新Google Analytics跟踪器或以某种方式跟踪链接?因此在Google Analytics中我会看到人们在网页上花了这么多时间等。

4 个答案:

答案 0 :(得分:4)

试试这个。在HEAD这个地方:

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);
  })();

在FOOTER或任何其他地方 - 这:

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/

感谢。

答案 1 :(得分:1)

您应该能够将页面跟踪添加到onclick事件中。尝试将链接更改为以下内容:

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

答案 2 :(得分:0)

您需要push信息into the gaq array

Everything you need to know is found here.

答案 3 :(得分:-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>

现在把它放在你的页脚中,其中#main-navigation是你的一个例子&gt; 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