0

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

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

当点击导航栏的链接时,内容会改变(部分页面的角度),页眉,页脚保持不变。

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

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

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

在 index.html 的底部,在结束 </body> 标记之前:

<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 调用。(调试 Google Analytics 代码的基础知识:GA Chrome 调试器和其他工具)。

我在这里想念什么?似乎谷歌分析没有触发事件并报告它?

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

4

1 回答 1

0

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

请参阅Google Analytics GIF 请求未发送


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

尝试更换

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

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXXX-X'], ['_trackPageview']);
于 2013-04-14T05:07:46.723 回答