Web 在没有IP范围的静态站点开发(特别是在移动设备上)的本地测试期间阻止Google分析

Web 在没有IP范围的静态站点开发(特别是在移动设备上)的本地测试期间阻止Google分析,web,google-analytics,Web,Google Analytics,我在网上搜索了一下,发现了一些问题,但我遇到的大多数答案似乎都建议要么通过IP范围进行过滤,要么在为网站提供动力的引擎中引入条件代码;这两种选择对我来说都不可行。如果事实证明这是一个重复的问题,而这是一个适合我的用例的答案,那么我提前道歉,但我似乎找不到任何东西 我从Google Analytics中筛选出自己的最初方法是简单地将请求重定向到Google Analytics.com,并将GA的https版本重定向到我的主机文件中的localhost。这在我的桌面上运行得很好,但在像iPhone这

我在网上搜索了一下,发现了一些问题,但我遇到的大多数答案似乎都建议要么通过IP范围进行过滤,要么在为网站提供动力的引擎中引入条件代码;这两种选择对我来说都不可行。如果事实证明这是一个重复的问题,而这是一个适合我的用例的答案,那么我提前道歉,但我似乎找不到任何东西

我从Google Analytics中筛选出自己的最初方法是简单地将请求重定向到
Google Analytics.com
,并将GA的https版本重定向到我的主机文件中的localhost。这在我的桌面上运行得很好,但在像iPhone这样的移动设备上进行测试时是没有用的(除非有人知道如何在不越狱的情况下欺骗iPhone的主机文件)

我的本地测试设置是与本地项目目录的
.dev
域一起使用,然后当我需要查看与我一起使用的移动设备上站点的开发版本时

我不能按IP范围进行过滤,因为我经常在家工作,而且我的ISP不为居民帐户提供静态地址

我试图在我的Google Analytics配置文件中设置一个自定义排除过滤器,以过滤来自这些域的流量,但它们要么不起作用,要么我对排除过滤器的工作原理有一个非常严重的误解(这是完全可能的)。我已经根据主机名设置了自定义过滤器以排除,匹配模式
\.dev
*xip\.io/*
,但这些过滤器完全不起作用。我相信这是因为从技术上讲,这个过滤器是在查找原始域的主机名,而不是请求的主机名,但我真的不确定,因为语言模糊,并且根据您查看的帮助文档的不同而有所不同

除了在本地开发期间手动删除站点上的GA跟踪代码,然后返回并重新添加它们之外,有人有什么建议吗?或者有人能告诉我我的排除过滤器有什么问题吗?

你可以信赖

 window['ga-disable-UA-XXXXXX-Y'] = true;
其中UA-XXXXXX-Y为账户ID(详细信息)

类似于创建设置cookie的页面或Web服务器指令(保留给开发人员的页面将从ga中排除),以及在加载ga的代码中:

if (hasDeveloperCookie()) {
     window['ga-disable-UA-XXXXXX-Y'] = true;
}

我一直在使用analytics跟踪代码的变体,以防止在我们的登台服务器上跟踪页面浏览量,例如:

if (!/\.dev|xip\.io/.test(window.location.hostname)) _gaq.push(['_trackPageview']);

或者,您可以将此应用于
\u setAccount
调用。如果您这样做并查看跟踪请求,web属性ID将显示为“UA-XXXXX-X”

这看起来很有希望。我假设由于cookie的性质,我必须为我在本地测试的每个站点单独实现这个“登录页”,对吗?我还没有做太多关于cookie的工作,所以我只是想确保我理解你答案背后的原则。我想是的,cookie对域(最终是域/路径)是有效的,并且有一个过期期限。您可以设置cookie(可以直接在javascript中设置,也可以使用php设置),然后在页面上显示cookie已加载而GA未加载的一些视觉指示。每个桌面浏览器都有删除Cookie的功能,我不确定移动浏览器的功能。你应该以某种方式在你的页面中包含包含GA代码的脚本,以便在网站上只有一个点来实现这个修改。非常聪明。我喜欢这样,我不必整天吃饼干。