Javascript 谷歌分析排除PhantomJS流量

Javascript 谷歌分析排除PhantomJS流量,javascript,cookies,google-analytics,phantomjs,Javascript,Cookies,Google Analytics,Phantomjs,我正在使用PhantomJS和来捕获我的网站的截图。这一过程是自动化的,每五分钟拍摄一次新的屏幕截图来检查网站的状态。我正在使用Google Analytics跟踪我网站上的用户,并希望排除PhantomJS产生的流量。为此,我在rasterize.js文件中设置了一个\u setVarcookie,并在Google Analytics中创建了一个自定义过滤器来过滤流量。出于某种原因,这不起作用,我也不明白为什么。我在rasterize.js中使用以下代码来设置cookie: phantom.a

我正在使用PhantomJS和来捕获我的网站的截图。这一过程是自动化的,每五分钟拍摄一次新的屏幕截图来检查网站的状态。我正在使用Google Analytics跟踪我网站上的用户,并希望排除PhantomJS产生的流量。为此,我在rasterize.js文件中设置了一个
\u setVar
cookie,并在Google Analytics中创建了一个自定义过滤器来过滤流量。出于某种原因,这不起作用,我也不明白为什么。我在rasterize.js中使用以下代码来设置cookie:

phantom.addCookie({
  'name': '_setVar',
  'value': 'ignore_analytics',
  'domain': 'MyWebsite.io'
});

这种方法应该是可行的,但当我在Google Analytics中查看我网站上的实时流量时,PhantomJS客户端仍然会出现。为什么不起作用?

通过一个简单的语言过滤器(过滤器->高级->排除->过滤器字段“语言”)解决了这个问题,它排除了所有语言代码为“c”的客户端。这是因为几乎所有的自动化机器人(包括运行PhantomJS的机器人)的语言代码都是“c”

为什么设置cookie会起作用?GA不会自动将cookie数据发送到跟踪服务器,即使它是以(不推荐使用的)GA方法命名的。请向我解释为什么这是不正确的。你可以在Google Analytics中使用自定义变量进行过滤,但是设置一个名为setVar的cookie不会创建自定义变量-教程有点误导(加上它有些过时,Univeral Analytics的语法发生了更改)。按浏览器名称过滤可能会更容易(过滤器->高级->排除->过滤器字段“浏览器名称”)。如果GA允许您根据HTTP头进行过滤,那么您可以使用。我想我将根据用户的语言进行过滤。出于某种原因,PhantomJS的浏览器名为Safari,因此不起作用。所有机器人程序的语言代码似乎都是“C”,包括PhantomJS客户端。在我的情况下,我不喜欢任何机器人交通,所以这是工作。