在webapp中集成谷歌分析:无法记录用户交互

时间:2011-12-19 03:30:55

标签: google-analytics

我使用backbone.js创建了一个webapp,我正在尝试将google analytics集成到其中。事情是脚本执行总是停在ga.js内的某个点。执行停止的代码就像这样(美化版本)......

var o = e == "_gat" ? K : e == "_gaq" ? Tc : K.p(e);
o[f].apply(o, b[d][ha](1)) 

缩小版(第21行)

new ActiveXObject(d),e=c.GetVariable("$version")}catch(o){}e&&(e=e[w](" ")[1][w](","),e=e[0]+"."+e[1]+" r"+e[2])}b=e?e:"-"}Pc=b;

我正在记录这样的事件:

_gaq.push('_trackEvent', '[header] login', 'click');

我看到代码在Firebug脚本选项卡中的实时停止。如果我禁用调试,则不会生成Google Analytics分析请求。该应用程序工作正常。

这里可能出现什么问题?有没有人遇到过这样的问题。

更新

似乎问题与backbone.js无关。即使创建了这样最简单的页面也会产生同样的问题。我检查了Firebug中的Net选项卡 - __utm.gif确实加载了。 ga.js也成功加载。但是再次按下该按钮会使执行中断相同。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script type="text/javascript">
            var _gaq = _gaq || [];
            _gaq.push(['_setAccount', 'XX-XXXXXX-XX']);
            _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>
        <script type="text/javascript">
            function check() {
                alert("hi");
                _gaq.push('_trackEvent', 'check');
            }
        </script>
    </head>
    <body>
        <input type="button" value="abc" onclick="check();"/>
    </body>
</html>

1 个答案:

答案 0 :(得分:0)

你正在调用_trackEvent错误。请注意,_trackEvent的前2个参数是必需的,最后2个是可选的。它也应该在括号内。

检查功能的signature

你应该打电话

_gaq.push(['_trackEvent', '[header] login', 'click']);

_gaq.push(['_trackEvent', 'check', 'something else']);