Referral Spam的對策和思考

Photo of author
Written By CMO

每一個執著於Web Analytics的行銷者都會遇到Referral Spam。本週HubSpot One將講述如何應對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這樣的的來源。除了這些網站,HubSpot One遇到最多就是Aliexpress的各種Referral Spam。下面截屏中你可以看到那些彈出率100%的,域名中帶有很明顯推銷性質的就是Referral Spam。

猖獗的Referral Spam
猖獗的Referral Spam

可以說,Referral Spam,Link Spam和Event Spam是每個SEO和網站分析人員的三大公敵。

借用KissMetrics的一張圖,Referral Spam其實是這樣的:

其實並非真實訪問,而是利用機器人留下垃圾訊息
其實並非真實訪問,而是利用機器人留下垃圾訊息

這些數據很容易影響到你的網站本身的流量數據的真實性。因此,我們很有必要來採取措施摒除這些垃圾數據。

傳統的處理Referral Spam的方法

我們知道GA有一個過濾的功能。這在HubSpot One之前的博文中已經介紹過。其功能非常強大,我們只要知道Spam的內容便可以把該網址加入黑名單。如下圖所示,我們只要在Admin>View>Filters中Add Filter就可以添加一個過濾器。

在Google Analytics中輕鬆添加過濾器
在Google Analytics中輕鬆添加過濾器

起到的效果非常簡單,凡是被該過濾器命中的訪問就不會在這個View中出現。在上面這個範例中,HubSpot One在默認的All Web Site Data這個View中添加了過濾器。實際上是極端的做法,通俗的做法是我們將新建一個View並在新建的View之上添加過濾器。保留原始的View以免今後對出現的問題進行排查,留個untouched的底。

開始建立過濾器的過程也很直接,如下圖所示:

過濾掉所有包含aliexpress的來源
過濾掉所有包含aliexpress的來源

除了在Filter Pattern中輸入一個關鍵字,我們還可以在一個Filter Pattern里通過正則表達式一次排除多個來源。比如HubSpot One的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還可以過濾其他一些垃圾流量,譬如細心的你應該發現HubSpot One去除了所有來自俄羅斯的流量,那是通過語言和國家做到的。另外如果你發現你的流量中還存在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。

寫在最後

以上就是HubSpot One給大家分享的與Referral Spam進行抗爭的方法。也希望拋磚引玉,如果你有更好的方法請務必告知。感謝閱讀。