Referral Spam的对策和思考

每一个执着于Web Analytics的营销者都会遇到Referral Spam。本周极诣将讲述如何应对Referral Spam并运用GTM实现Referral Spam的过滤方法。

什么是Referral Spam?

Referral Spam是常见的Spam类型。它是通过一次推荐访问,在被访问的网站留下推介网站的网址。由于Webmaster和网站营销人员经常会对网站的访问来源进行分析研究,Referral Spam通常就是针对这个人群。譬如说,你会在你的访客来源看到诸如:best-seo-for-you.com,cheap-content-grabbing-script.com,rank-higher-on-baidu.com这样的的来源。除了这些网站,极诣遇到最多就是Aliexpress的各种Referral Spam。下面截屏中你可以看到那些弹出率100%的,域名中带有很明显推销性质的就是Referral Spam。

猖獗的Referral Spam

猖獗的Referral Spam

可以说,Referral Spam,Link Spam和Event Spam是每个SEO和网站分析人员的三大公敌。

借用KissMetrics的一张图,Referral Spam其实是这样的:

其实并非真实访问,而是利用机器人留下垃圾信息

其实并非真实访问,而是利用机器人留下垃圾信息

这些数据很容易影响到你的网站本身的流量数据的真实性。因此,我们很有必要来采取措施摒除这些垃圾数据。

传统的处理Referral Spam的方法

我们知道GA有一个过滤的功能。这在极诣之前的博文中已经介绍过。其功能非常强大,我们只要知道Spam的内容便可以把该网址加入黑名单。如下图所示,我们只要在Admin>View>Filters中Add Filter就可以添加一个过滤器。

在Google Analytics中轻松添加过滤器

在Google Analytics中轻松添加过滤器

起到的效果非常简单,凡是被该过滤器命中的访问就不会在这个View中出现。在上面这个示例中,极诣在默认的All Web Site Data这个View中添加了过滤器。实际上是极端的做法,通俗的做法是我们将新建一个View并在新建的View之上添加过滤器。保留原始的View以免今后对出现的问题进行排查,留个untouched的底。

开始建立过滤器的过程也很直接,如下图所示:

过滤掉所有包含aliexpress的来源

过滤掉所有包含aliexpress的来源

除了在Filter Pattern中输入一个关键字,我们还可以在一个Filter Pattern里通过正则表达式一次排除多个来源。比如极诣的Filter里就有这样的Filter Pattern:

econom\.co|ilovevitaly|topic46828028|priceg\.com|(.*)buttons(.*)\.com|best\-seo\-offer\.com|www\.event\-tracking\.com|success\-seo\.com|100dollars\-seo\.com|gotosearch\.info|www\.Get\-Free\-Traffic\-Now\.com

这里必须指出的是,这个输入框里最多只能输入255个字符。因此你可以想方设法把这个表达式写得简洁一些。比如上面有许多.com就不一定要包含进去。

那么如果垃圾来源太多怎么办呢?自然是再多建几个Filter了。还好官方还没有限制免费版的Filter建立的个数。

插一些题外话:Filter还可以过滤其他一些垃圾流量,譬如细心的你应该发现极诣去除了所有来自俄罗斯的流量,那是通过语言和国家做到的。另外如果你发现你的流量中还存在Hostname Spam的话你也可以建立一个Filter,只记录到你的网站域名的流量。

改进的Referral Spam摒除方法

对于Spam,我们还没有一个预防的方法。站长、网站管理员、网站分析师永远是后手。不过我们的确有方法让排除Referral Spam变得简单。Simo Ahava在他的博客中曾经介绍过利用GTM检测访问来源,在Referral命中后将Referral变成null的方法:

  1. 首先建立一个Custom JavaScript Variable。这个变量在命中时返回null,在通过时正常返回Referral信息。注意绿色域名填入后其子域名也会被排除。比如填入baidu.com那么m.baidu.com也会命中。如果只想命中baidu.com那么可以改成^baidu.com。^是正则表达式中开端的意思。

    命中的Spam列表黑名单

    命中的Spam列表黑名单

  2. 然后就是在你的GA标签中More>Fields to Set里面添加一个referrer,把刚才那个变量付给它。

    将Referrer Spam变成Direct访问

    将Referrer Spam变成Direct访问

这个方法还是会记录一个PageView,只不过Referral不再显示。那这次访问就变成了一个直接访问(Direct)。如果你连直接访问都不想要可以进一步改进Simo Ahava的代码:

  1. 首先你可以把上述代码中第一个return的值进行更改。第一个改成“invalid”。那么当命中时变量为invalid。
  2. 然后新建一个Trigger。这个触发器的表达式是referrer等于{{JS – Exclude Referrals}}。如果是Spam这个等式不成立。

    当Referrer为空或者不被黑名单命中时触发器起作用

    当Referrer为空或者不被黑名单命中时触发器起作用

  3. 最后我们把这个新建的触发器加入到GA标签成为唯一的触发器。

这个方法的好处是,我们可以非常容易地去管理黑名单列表,更新起来很方便。但是它有致命的弱点,那就是谷歌在将Google Analytics升级到Universal Analytics的过程中为了跨平台多设备的分析打开了一个潘多拉的盒子,这个盒子的名称就叫做Measurement Protocol。关于MP的知识我们下周再讲,先卖个关子。总之,MP的出现使得垃圾投放者可以从服务器直接倒垃圾,那么JavaScript为基础的GTM就没有用武之地了。所以说,我们只能讲这个看似方便的办法只能抵御95%的Referral Spam。最终还是要依靠我们在GA后台建的那些Filter。

写在最后

以上就是极诣给大家分享的与Referral Spam进行抗争的方法。也希望抛砖引玉,如果你有更好的方法请务必告知。感谢阅读。