您可以在本地主机地址上测试Google Analytics吗?


279

我必须在本地计算机上测试新的GA帐户。

只需将Google提供的标准代码段复制到页面上,是否可以工作?

我不想花24小时等待它是否会工作。

Answers:


345

这个问题在今天仍然有效,但是技术已经改变。旧的Urchin跟踪器已弃用且已过时。新的异步Google Analytics(分析)跟踪代码使用略有不同的代码来获得相同的结果。

Google Analytics(分析)经典版-异步语法- ga.js

在Google Analytics(分析)上将跟踪域设置为无的当前语法如下:

_gaq.push(['_setDomainName', 'none']);

然后,Google Analytics(分析)将在localhost上触发_utm.gif跟踪器请求。您可以通过在喜欢的浏览器中打开开发人员工具并在页面加载期间观察网络请求来验证这一点。如果运行正常,您将在网络请求列表中看到对_utm.gif的请求。

2013年针对Universal Analytics进行了更新- analytics.js

Google发布了称为“通用分析”的新版分析(2012年末或2013年初)。在我撰写本文时,该程序仍处于BETA状态,因此对于大多数已安装Google Analytics(分析)的用户,仍建议使用上述代码。

但是,对于使用新analytics.js代码进行的新开发,《Google Analytics(分析)高级配置-网络跟踪文档》显示,我们可以使用以下新代码在localhost上测试Universal Analytics:

ga('create', 'UA-XXXX-Y', {
  'cookieDomain': 'none'
});

请查看链接的文档,以获取有关Universal Analytics高级配置的更多详细信息。

更新2019

Global Site Tag gtag.js和Universal Analytics analytics.js都将localhost自动检测。您无需对配置进行任何更改。

如果gtag.js检测到您正在本地运行服务器(例如localhost),它将自动将设置cookie_domain'none'

- developers.google.com


5
只是节省了我很多时间。谢谢
atmd 2012年

4
补充Ben的答案:您必须在_gaq.push(['_setAccount', 'UA-XXXXXXX-XX']);之前和之后添加此行_gaq.push(['_trackPageview']);。更多:链接
dmmd

2
@JamesMcMahon Google Analytics(分析)未按年份进行版本控制。(没有“ 2013 Google Analytics(分析)”之类的东西)。也许您是指BETA中目前存在的“通用分析”?
BenSwayne

1
@JamesMcMahon,今天尝试了一下(使用“经典”版本,而不是beta版“通用分析”),并且可以使用。
莉兰·布里默

21
您没有将其设置为none文档说:“此外,如果analytics.js检测到您正在本地运行服务器(例如localhost),则会自动将cookieDomain设置为'none'。”
mert

60

2014年更新

现在,只需将域设置为即可实现none

ga('create', 'UA-XXXX-Y', 'none');

请参阅:https : //developers.google.com/analytics/devguides/collection/analyticsjs/domains#localhost


6
第三个参数应该真正被设置为'none'代替'auto'
Stephen M. Harris 2014年

这是否适用于其他顶级域?我使用* .dev域在本地测试软件,但这些似乎也不起作用。
布拉德利

4
另外,如果您通过Google跟踪代码管理器配置GA,是否有人知道如何设置?
布拉德利

在生产环境中将其设置为“ none”也可以吗?
vanzylv '16

9
选项会在环境中'auto'自动'none'为您设置localhostAutomatic cookie domain configuration sets the _ga cookie on the highest level domain it can. For example, if your website address is blog.example.co.uk, analytics.js will set the cookie domain to .example.co.uk. In addition, if analytics.js detects that you're running a server locally (e.g. localhost) it automatically sets the cookieDomain to 'none'. 请参阅此处
reinaldoluckman '16

15

我遇到了同样的问题,所有的解决方案直到我做了两件事才起作用:

明显的代码:

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXXXX-X']);
_gaq.push(['_setDomainName', 'none']);
_gaq.push(['_setAllowLinker', true]);   
_gaq.push(['_trackPageview']);

我在本地主机中添加了另一个FQDN-域名。我在Windows系统上通过编辑来做到这一点:

C:\Windows\System32\drivers\etc\hosts

文件,然后输入以下内容:

127.0.0.1   my.domain.org

然后,我转到地址为http://my.domain.org/WebApp的地址,该地址正在提供包含Google Analytics(分析)JS的页面。

如果您使用的是UNIX,请编辑/ etc / hosts以得到相同的结果。

它认为Google应该在In the GA FAQ中放入Intranet配置。他们只是说您需要FQDA。是的,您可以,但不是让他们访问您,您只需要在HTTP请求中具有Host属性即可。

我认为FQDN的另一个原因是COOKIES!Cookies用于跟踪数据,如果您没有FQDN,则无法设置Cookie,并且JS代码停止并且无法获取gif。


15

2019年答案

最佳实践是为开发/登台和生产服务器设置两个单独的属性。您不想使用测试来污染您的Google Analytics(分析)数据,如果被迫这样做,设置过滤器将很不愉快。

话虽这么说,Google Analytics(分析)现在具有实时跟踪功能,并且如果您要跟踪广告系列或交易,则只要选择当天,则滞后时间大约为1分钟,直到数据显示在页面上。

例如,您创建“站点”和“站点测试”,并创建每个ha -UA-XXXX-Y代码。

在应用程序逻辑中,在其中提供分析JavaScript的位置,检查环境,并使用Site UA-XXXX-Y进行生产,对于阶段/开发,请使用Site Test。

您可以进行此设置,直到了解GA的来龙去脉,然后再删除它;如果需要进行不断的更改(请首先在开发/测试阶段进行测试),可以保留它。

资料来源:个人经验,各种文章。


您提到使用两个不同的视图。因此,我在“创建视图”选项卡中创建了一个新条目。但是,它不会为您提供新的跟踪ID。我不得不在Create Property中创建一个新条目,该条目会生成新的跟踪ID。我认为这就是您的意思,但Google的命名方式与您的单词选择类似,并引起了混乱。
Breakpoint25 '18

14

现在,您的问题的答案是肯定的,只需复制标准代码段即可使用。根据文档,现在标准片段具有自动cookie域配置:ga('create', 'UA-XXXXX-Y', 'auto');cookie域是自动确定的。

此外,如果analytics.js检测到您正在本地运行服务器(例如localhost),则会自动将cookieDomain设置为“无”。


我检查了一下,看来我的cookieDomain设置为“ localhost”,而不是没有。
Shyamal Parikh's


6

在花了大约两个小时的时间想出一个解决方案之后,我意识到我有adblockers阻止了对GA的调用。一旦我关闭了它们,我就很好了。


5

监视跟踪标签的一种更简单的工具是使用Chrome扩展程序(可能可用,或与其他浏览器等效)-Google跟踪助手。这将显示触发哪些标记,发现了哪些问题,甚至分解诸如电子商务值之类的内容以便于阅读。还可以与Google跟踪代码管理器一起使用,并且可以处理页面上的多组标记。


3

我只想补充到目前为止所讲的内容,这可能会减轻很多麻烦,您无需等待24小时即可查看是否有效,是的,总概览需要24小时,但是在“报告”标签中,左侧指向“ 实时”结果的链接,它将显示当前是否正在访问您的网站的任何人,我也不必设置'cookieDomain': 'none'为在localhost上运行,我的设置为开'auto',并且工作正常(我正在使用MVC 5),最重要的是,我已按照Google在此页中所述在head标签的末尾添加了脚本:

将您的代码段(完整不变)粘贴到要跟踪的每个网页中。将其粘贴在结束</head>标记之前。

是有关如何检查分析是否正常工作的更多信息。


3

接下来是Tuong Lu Kim的回答:

假设:

ga('create', 'UA-XXXXX-Y', 'auto');

... 如果analytics.js检测到您正在本地运行服务器(例如localhost),则会自动将cookieDomain设置为“无”。...

摘录自:

自动Cookie域配置可以将_ga Cookie设置在其最高级别的域上。例如,如果您的网站地址是blog.example.co.uk,则analytics.js会将cookie域设置为.example.co.uk。此外,如果analytics.js检测到您正在本地运行服务器(例如localhost),则会自动将cookieDomain设置为“ none”。

推荐的JavaScript跟踪代码段为cookieDomain字段设置了字符串“ auto”:


来源:https//developers.google.com/analytics/devguides/collection/analyticsjs/cookies-user-id#automatic_cookie_domain_configuration


2

我最近遇到了这个问题,发现使用Google 调试Analytics分析新文档很有帮助。它实际上并不在乎将跟踪信息发送到Google Analytics(分析),我只是想确保事件能够正确触发,调试工具会为我提供所需的信息。YMMV,我知道并不能完全回答问题。


0

对于那些使用Google跟踪代码管理器与Google Analytics(分析)事件集成的用户,您可以执行上述提及的操作,将自身的GTM设置为cookie标志

在此处输入图片说明

打开GTM>变量>谷歌分析变量>并将cookie标记设置为none

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.