使用Google Analytics跟踪点击次数

时间:2013-08-28 05:50:04

标签: google-analytics

非常简单的场景:我只想使用谷歌分析来跟踪我网站的访问者点击外部网站链接的每个实例。我已经根据我的理解使用事件跟踪完成了这项工作,但是当我点击链接时,我在google analytics报告中看不到任何跟踪。

我想知道: (a)我的代码有问题; (b)我没有在谷歌分析账户中查找正确的位置; (c)两者

以下是我的整个页面,将111111111替换为实际帐户ID:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>

    <body>
        <script>
            (function (i, s, o, g, r, a, m) {
                i['GoogleAnalyticsObject'] = r;
                i[r] = i[r] || function () {
                    (i[r].q = i[r].q || []).push(arguments)
                }, i[r].l = 1 * new Date();
                a = s.createElement(o),
                m = s.getElementsByTagName(o)[0];
                a.async = 1;
                a.src = g;
                m.parentNode.insertBefore(a, m)
            })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');

            ga('create', 'UA-1111111111-1', 'mysite.com');
            ga('send', 'pageview');
        </script>
        <script type="text/javascript">
            var _gaq = _gaq || [];
            _gaq.push(['_setAccount', 'UA-1111111111-1']);
            _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);
            })();
        </script> <a target="_blank" onClick="_gaq.push(['_trackEvent', 'Links', 'Click', 'CNN']);"
        href="http://www.cnn.com">CNN</a>
        <br/>
    </body>

</html>

1 个答案:

答案 0 :(得分:1)

您的代码几乎没有问题:

Analytics版本

您正在混淆旧的ga.js和较新的analytics.js

只使用较新的analytics.js

竞争条件

您正在跟踪事件onClick,但此时,浏览器已经离开了页面,请求可能无法通过。

基本上,打开cnn.com并提交活动正在浏览器窗口中竞争。

使用hit callback,并设置window.location.href,您就可以了:

ga('send', 'event', {
  'eventCategory': 'Links',
  'eventAction': 'Click',
  'hitCallback': function() {
    window.location.href = "http://www.cnn.com";
  }
});

这样,浏览器将等待提交事件,然后访问cnn.com

相关问题