我已经搜索了SO,并发现了一些问题,但是我遇到的大多数答案似乎都暗示要么通过IP范围过滤,要么引入条件代码给引擎供电现场;这些选择都不适合我。如果这确实是一个副本,这个答案适合我的用例,那么我提前道歉,但我似乎无法找到任何东西。
我从Google Analytics过滤自己的原始方法是将请求重定向到google-analytics.com
,将https版本的GA重定向到我的hosts文件中的localhost。这在我的桌面上运行得很好,但是在iPhone等移动设备上进行测试时没用(除非有人知道如何在没有越狱的情况下使用iPhone的主机文件)。
我的本地测试设置是将pow与.dev
域用于本地项目目录,然后当我需要在移动设备上查看网站的开发版本时,我使用{{3}与Xip.io结合使用。
我不能按IP范围过滤,因为我经常在家工作,而我的ISP不提供住宅帐户的静态地址。
我尝试在我的Google Analytics配置文件中设置自定义排除过滤器,以过滤掉源自这些域的流量,但它们要么不起作用,要么我对排除过滤器的工作原理有一个非常糟糕的误解(这完全是可能)。我根据主机名将自定义过滤器设置为排除,与模式\.dev
和.*xip\.io/.*
匹配,但这些过滤器绝对没有任何效果。我相信这是因为从技术上讲,这个过滤器是在寻找原始域的主机名而不是请求的主机名,但我真的不确定,因为语言含糊不清,取决于你正在查看的帮助文档
如果没有在本地开发期间从网站上手动删除GA跟踪代码,然后返回并重新添加,是否有人有任何建议或者有人可以告诉我我的排除过滤器出错了什么?
答案 0 :(得分:2)
我一直在使用分析跟踪代码的变体来阻止在我们的登台服务器上跟踪网页浏览量 - 例如:
if (!/\.dev|xip\.io/.test(window.location.hostname)) _gaq.push(['_trackPageview']);
或者,您可以将其应用于_setAccount
来电。如果您执行此操作并查看跟踪请求,则网络媒体资源ID会显示为“UA-XXXXX-X”
答案 1 :(得分:1)
你可以依靠
window['ga-disable-UA-XXXXXX-Y'] = true;
其中UA-XXXXXX-Y是帐户ID。 (详情here)。
就像创建一个设置cookie的页面或webserver指令(保留开发人员的页面被排除在ga之外),以及加载ga的代码:
if (hasDeveloperCookie()) {
window['ga-disable-UA-XXXXXX-Y'] = true;
}