我试图在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的内容?
答案 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']);