谷歌分析似乎没有被解雇

时间:2013-04-14 04:32:59

标签: angularjs google-analytics

我试图在GA附近查看很多线程,我觉得我已经做了所需要的。我的网站由HTML5和angular.js组成,页面结构大致如下(通过ng-include)

index.html
|-header
--|-navigation
|-content
|-footer

单击导航栏中的链接时,内容将更改(角度部分页面),页眉,页脚保持不变。

我的最后一个脚本标记<头>如下(在index.html内)

<script type="text/javascript">
        var globalLanguage = 'en';

        // GA tracking variable
        var _gaq = [['_setAccount', 'UA-XXXXXXXX-X'], ['_trackPageview']];
</script>

在index.html的底部,在结束之前&lt; / body&gt;标记:

<script type="text/javascript">
    (function(d, t) {
        var g = d.createElement(t), s = d.getElementsByTagName(t)[0];
        g.async = 1;
        g.src = '//www.google-analytics.com/ga.js';
        g.type = 'text/javascript';
        s.parentNode.insertBefore(g, s);
    }(document, 'script'));
</script>

我的所有角度控制器功能,调用Tracking Google Analytics Page Views with Angular.js

中描述的常用功能
function gaqPageView($scope, $location, $window) {
    console.log('triggering google analytics');
    $scope.$on('$viewContentLoaded', function(event) {
        console.log('event triggered, tracking: ' + $location.path());
        $window._gaq.push([ '_trackPageview', $location.path() ]);
    });
}

我确实看到了控制台日志语句,控制台中也没有错误。 当我打印出_gaq的内容时,我会得到一个随着我在页面中导航而增长的数组(这意味着我的_gaq.push调用正常工作)。

但是,在我的网络通话中(在Chrome开发工具中),我没有看到任何对Google Analytics的_utm.gif调用。 (Basics of Debugging Google Analytics Code: GA Chrome Debugger and other tools)。

我在这里缺少什么?好像谷歌分析没有解雇事件并报告它?

编辑:我很确定我在这里很傻,_gaq变量本身只是一个普通的javascript数组,所以当然_gaq.push工作得很好。但是,我错过了让Google Analytics启动并开始发送该_gaq的内容?

1 个答案:

答案 0 :(得分:0)

您当前是在localhost上运行服务器,还是没有“。”的Intranet名称。 - 默认情况下,不会为localhost服务器发出跟踪GIF请求。

请参阅Google Analytics GIF request not sent


另一个想法:通常_gaq只有在尚未定义的情况下才被定义为数组。如果ga.js已经执行,您可能会覆盖_gaq对象。您的代码组织似乎不太可能,但是......

尝试替换

var _gaq = [['_setAccount', 'UA-XXXXXXXX-X'], ['_trackPageview']];

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXXX-X'], ['_trackPageview']);