2

我正在尝试通过谷歌分析跟踪我的页面,这是我的代码

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'XXXXXXXXXX']);
_gaq.push(['_setDomainName', 'somesite.com']);
_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);
})();

(function ($) {     
    // Log all jQuery AJAX requests to Google Analytics
    $(document).bind('ajaxComplete', function(event, xhr, settings){ 
        console.log('ajax Request');
        console.log(settings.url);
        _gaq.push(['_trackPageview', settings.url]);
    });

})(jQuery);

在每个 ajax 请求上,我都可以看到控制台有值

ajax Request
url of the page

这意味着 _gap.push 正在工作(因为页面上没有 js 错误)。但是当我通过 Live HttpHeaders 检查我的 req/res 时,谷歌分析没有 req/res,如何跟踪它?

这是萤火虫中的屏幕截图 在此处输入图像描述

4

4 回答 4

3

_gaq.push 中的要点是,在实际加载 Google Analytics 之前,“_gaq”只是一个普通数组。也就是说:确实可以预期没有错误,无论它是否在触发对 Google 的请求的意义上“工作”。

Google Analytics 的工作方式不是通过 ajax(或者至少,没有关于如何发送请求的具体实现细节)。通常使用的方法是使用包含在该图像 URL 的查询字符串中的跟踪数据创建一个 Image 元素。毕竟,页面并不关心谷歌分析有什么响应,它只是想发送它的数据然后走!

于 2012-09-13T05:59:29.877 回答
1

我不会使用 LiveHttpHeaders,而是检查您的开发人员工具的“网络”面板——如果您有 Javascript 控制台,您可能也可以访问它。您应该能够在该面板上看到请求的所有详细信息。

于 2012-09-13T05:58:29.390 回答
1

您还可以使用 ga.js 的调试版本来诊断错误。它将诸如“无效跟踪代码”之类的内容打印到 Javascript 控制台。

在此页面上搜索“使用 ga_debug.js 进行调试”:

https://developers.google.com/analytics/resources/articles/gaTrackingTroubleshooting

于 2014-08-21T09:47:35.933 回答
0

查看发送的 http 标头 - 我使用 HttpFox - 并过滤“utm”。查看查询字符串(httpfox 为您将其分解为表格),您可以看到命中的所有 utm 参数 - 帐号 (utmac)、页面 (utmp) 等。如果任何 utm 参数不熟悉,检查这个参考。这种对发送到谷歌服务器的图像请求的模拟和分析对于调试谷歌分析问题非常有用。

于 2012-09-14T15:17:59.350 回答