谷歌对异常流量的检测很好。但是它是如何处理动态 IP 地址的呢?
例如,我没有 IP 范围,而我的 ISP 提供动态 IP,每次我的路由器重新启动时它都可能会改变,而且每天都会改变。所以在这里,当我得到一些 IP 地址时,我会看到没有验证码的通知。几次重新启动后,我似乎得到了一个未被阻止的 IP!
如何在 Google Analytics 中解决此类问题。我也非常清楚如何排除来自单个 IP 和 IP 范围的流量,但我不知道如何阻止 IP 每天都在变化的内部流量?
谷歌对异常流量的检测很好。但是它是如何处理动态 IP 地址的呢?
例如,我没有 IP 范围,而我的 ISP 提供动态 IP,每次我的路由器重新启动时它都可能会改变,而且每天都会改变。所以在这里,当我得到一些 IP 地址时,我会看到没有验证码的通知。几次重新启动后,我似乎得到了一个未被阻止的 IP!
如何在 Google Analytics 中解决此类问题。我也非常清楚如何排除来自单个 IP 和 IP 范围的流量,但我不知道如何阻止 IP 每天都在变化的内部流量?
这个问题的许多流行答案都有问题......
所以,我将其他几个解决方案组合成适合我的东西......
我一直在我的机器上为我管理的域设置一个“开发者 cookie”。此 cookie 具有对我来说特定的独特价值。然后,在将任何数据发送到 Analytics之前,我只需在脚本中检查此 cookie 。
我如何将代码放入页面的示例...
JavaScript
if (window.location.host==="mydomain.com" || window.location.host==="www.mydomain.com") {
if (document.cookie.indexOf("COOKIENAME=COOKIEVALUE") === -1) {
// Insert Analytics Code Here
}
}
PHP
if ($_SERVER['HTTP_HOST']==="mydomain.com" || $_SERVER['HTTP_HOST']==="www.mydomain.com") {
if (@$_COOKIE["COOKIENAME"] !== "COOKIEVALUE") {
// Insert Analytics Code Here
}
}
验证主机名称是否等于我的实时站点的域(“mydomain.com”)可确保任何访问者在从“localhost”或“beta.mydomain.com”等测试域查看时永远不会发送分析数据. 在上面的示例中,“www.mydomain.com”和“mydomain.com”是我希望记录访问的两个有效域。
除非找到具有匹配值的开发人员 cookie,否则实时站点会按预期将数据发送到分析。如果它发现我的设备上设置了唯一的 cookie,那么我的访问将不计入我在 Google Analytics(或我可能决定使用的任何其他分析工具)中的总数。
但是当我的 cookie 被清除时会发生什么?如何在后台设置“开发者 cookie”?我为此创建了自己的浏览器扩展... https://chrome.google.com/webstore/detail/lknhpplgahpbindnnocglcjonpahfikn
它仅适用于您选择的特定域。您可以在扩展程序的设置中为 cookie 自定义您自己的唯一名称和值。
只要团队成员使用相同的 NAME/VALUE 对,此方法就可以轻松使用,因此开发人员、内容创建者、校对人员以及组织中的任何其他人都可以查看页面,而不会夸大统计数据。
随时分享我的解决方案并使用我的扩展程序来设置这些 cookie。
仅供参考,我想到了另一种使用 HTML5 的 localStorage 功能的方法。(与 cookie 相比的优势在于,当您清理浏览器的 cookie 时,localStorage 值仍然存在。)我在这里写了一篇关于它的博客文章: Google Analytics:排除您自己的访问
我刚有人问我这个问题,偶然发现了这个线程。我找到了一个替代解决方案,使用此 Chrome 扩展程序来阻止自己访问网站上的分析。
如果您谈论的是您自己的计算机/网络,您有几种选择:
设置代理(Fiddler,或者如果可能的话,在您的路由器中设置一个规则)以阻止对 google-analytics.com 的调用(代理仍应返回 200 状态代码)
根据 Gaurav 的回答,使用 Google 扩展来阻止 GA(所有主要浏览器都有版本)
设置格式为 disable-UA-XXXXXX-X 的 cookie,在其中将 X 替换为您的属性 ID。
前两个选项将阻止任何网站上的所有 Google Analytics 跟踪,最后一个选项将仅停止跟踪 cookie 值中指定的属性。
所有这些都是 IMO 比有条件地包括分析库更好的解决方案。如果您在代码中的某处调用了来自 GA 库的方法并且未加载该库,这将导致 javascript 错误。上面的方法至少会加载一个捕获方法调用的代码存根,因此不会调用未定义的函数。
我们的任务是将整个公司排除在分析之外。互联网路由器大约每天更新一次 IP。事实证明,这款路由器与当今几乎所有常见的路由器一样,提供了一些启用动态 IP 服务的选项。例如noip.com 。
现在发生的事情是,路由器每天都会自动将其新 IP 推送到 noip.com,在那里它与您之前注册的域名相关联。现在,在您的页面上,您可以动态检查该域的 IP,如果它与客户端(浏览器)的 IP 匹配,则排除分析脚本打印到页面。
在我的情况下,我使用的是 PHP,并且按照以下代码段的方式进行的操作效果很好。见gethostbyname()
。
$print_tracking_scripts = TRUE;
if (gethostbyname('my-unique-name.ddns.net') === $_SERVER['REMOTE_ADDR']) {
$print_tracking_scripts = FALSE;
}
if ($print_tracking_scripts) {
// Print or include tracking scripts however you like.
}
试试 Ghostery 浏览器扩展:
https ://www.ghostery.com/
定义每个域要阻止的脚本很容易。作为奖励,该扩展程序会在您浏览网页时显示加载了哪些跟踪脚本。
更好的选择是使用此处找到的 Google Analytics Opt-Out Browser Plugin: