0

我有带有普通谷歌分析代码的基本单页网站:

  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>

有没有办法可以更新 Analytics 跟踪器或以某种方式跟踪链接?所以在分析中,我会看到人们在一个页面上花费了很多时间等等。

4

4 回答 4

5

尝试这个。在 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>

我用这个来学习它。

UPD:这是示例:http: //jsfiddle.net/K2PcL/

谢谢。

于 2012-08-03T22:54:10.340 回答
1

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

<a href="#section-3" onclick="_gaq.push(['_trackPageview', '/AboutUs']);”&gt;about us</a>
于 2012-08-03T23:31:36.127 回答
0

你需要push的信息into the gaq array

您需要知道的一切都在这里找到。

于 2012-08-03T22:49:24.100 回答
-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 是你的 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

于 2012-08-04T00:12:34.750 回答