谷歌分析语言垃圾信息

最近一段时间,我在谷歌分析(以下简称GA)中查看网站数据时,发现一个非常可疑的信息:


这什么鬼?

“语言”这一项一般是“zh-tw”、“应用”、“en - us”、“西”、“fr”等,它是由用户浏览器设定的。但用户浏览器不可能把语言项设置为这些:

Secret.oogle.com你被邀请!输入> <李>

请求数有明显的波峰,在几天内会达到高峰,然后又降下去

<李>

新会话的比例非常高,达到了86%以上


分析其它受* * *的栏目

仔细查看GA统计项目的这些请求,发现推荐人一栏也比较可疑地出现了这些:

motherboard.vice.com addons.mozilla.org webmasters.stackexchange.com blackhatworld.com thenextweb.com abc。xyz lifehacer.com…

这其中有一些非常正规的域名。比如<代码> abc.xyz> 也是一个开发者媒体。

这些网站本身没有问题,但其实该网站上并没有任何一个链接指向我的博客,更谈不上我的访客”来自”(推荐)该网站了。当我访问回去,发现并没有实际上的链接,只是广告,倒也罢了,更可怕的是可能会有钓,鱼病毒等。

综上,这是一波二维* * *(假的语言项和假的推荐项),目的是吸引你的注意力。

分析* * *怎么产生的

总的来说,这种垃圾信息有两种* * *方式,一种是真正会访问你的网站的网络爬虫;另一种是不访问你的网站,而是将假冒的“点”击事件直接发送到GA服务器。事实上,第二种* * *方式由于成本低,因而更加常见。

GA的统计逻辑是,当用户访问你的网站,会在前端运行一段JavaScript代码,然后把用户的一些访问情况通过HTTP请求发送给GA服务器,告诉佐治亚州发生了一次“访问”。而这个HTTP请求可以很容易地被伪造,所以垃圾信息发送者无需真的访问你的站的点,它直接发送大量HTTP请求即可达到目的。

除了HTTP请求,GA还支持更方便的测量Protocol ,开发者可以发送一个原始数据(原始数据)给GA,来一次性传输大量用户行为。这个协议的初衷是让开发者可以统计所有环境下的用户行为,比如开发者可以将离线状态下的用户行为记录下来,当在线时一次性发送。或者当内网不支持外部访问时,先记录下用户行为,随后再定时一次性发送到GA。

初衷是好的,不幸的是,这个过程仍然是无需认证身份,所以更方便了垃圾信息发送者。垃圾信息发送者可以通过一次请求即发送大量假数据,他只需要得到你的UA-ID (UA-XXXXXXX-XX)即可。

在这个原始数据包中,一切皆可伪造.Hostname ?没问题!推荐?全改了! URL路径?当然也可以改……

如何避免

对网站主来说,这种垃圾信息有几点危害:1,浪费时间,就像传统垃圾邮件一样。2,干扰GA状态栏,特别是如果网站流量不是很大(比如我)。3,传播病毒。

所以,有没有完美的解决方法呢?实际上,没有。

要知道,数据一旦录入到GA,就没有办法删掉了。能做的只有两件事,一是阻止垃圾信息进一步加入到GA,二是在视图中过滤掉已经添加进来的垃圾信息,眼不见为净。

第一步:使用过滤器阻止未来的垃圾信息

在语言项中,一般字符数是5 - 6个,很少有超过10个的,所以我们可以认为语言项超过15个字符的就一定是垃圾信息。

此外,有一些字符是不可能出现在合法的语言项中,但垃圾信息会利用这些字符来组成URL,比如:“秘密谷歌com”,“秘密,谷歌,com”、“秘密!谷歌!com”,所以我们也一并排除空格,点号,逗号,惊叹号。

<代码>。{15}| \ \ [^ \ s] *年代| \,| | \ !| \/<代码>

在管理中选择过滤器,然后新增一个如图所示的过滤器即可。


设置好了之后,可以验证一下是否会拦截掉我们想拦截的内容:


没有问题,未来的语言项垃圾信息会直接被拦截掉。

第二步:通过段净化已有数据

过滤器从你开始设置时生效,而历史信息无法修改。不过GA提供了自定义段功能,在生成报告时,选择性过滤掉一些数据。

段就是数据片段,指的是在完整的数据中取出我们需要的片段进行分析。比如我们可以单独取出24岁以下的用户的行为,对比24岁以上的用户行为有何不同。而这个功能正好可以让我们把“语言“不规范的数据过滤掉。

如下图,在所有用户的旁边有一个+添加段的按钮,点击之后就可以配置我们的部分。

一定要注意是选择“正则表达式不匹配”,里面填上之前的正则。

谷歌分析语言垃圾信息