Loading...
Algemeen

Last van referral spam in Google Analytics? Zo ga je het tegen

door Geert Stolk
op 22 juli 2015

We weten dat Google ook bezig is met dit probleem. Hoe lang een oplossing op zich laat wachten is niet duidelijk, dus zijn we er zelf naar op zoek gegaan. Om al het spamverkeer te blokkeren zijn er een aantal stappen nodig. Voordat je hieraan begint: zorg altijd dat je drie profielen aanmaakt in Google Analytics:

  1. een RAW profiel met ongefilterde data
  2. een MAIN profiel waarvan je zeker weet dat alles goed is ingesteld, en
  3. een TEST profiel waarin je de onderstaande wijzigingen kunt uitproberen

Stap 1: Verkeer blokkeren met .htaccess

Er zijn twee soorten spammers: het soort dat je website bezoekt, en het soort dat spamt vanaf eigen domeinen. Het blokkeren van spammers die zich voordoen als ‘echte’ bezoekers kan met een .htaccess-bestand. De spammers die hun eigen domeinen gebruiken zullen hier echter niet mee worden geweerd.

Configuratievoorbeeld:

# Block Referrer Spam
RewriteEngine on
RewriteCond %{HTTP_REFERER} ^http://.*4webmasters\.org/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://.*buttons\-for\-website\.com/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://.*semalt\.com/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://.*100dollars\-seo\.com/ [NC]
RewriteRule ^(.*)$ – [F,L]

Het is aan te bevelen om minimaal één keer per drie maanden je RAW profiel te doorlopen op nieuwe spammers. Voeg deze weer toe op dezelfde wijze als hierboven beschreven.

Stap 2: Filteren in Google Analytics

In Google Analytics kun je een groot deel van de spammers al herkennen aan hun hostnaam. Selecteer in het referrals-rapport de secundaire dimensie “hostname” – veel spammers gebruiken daar hun eigen hostnaam.

We gaan een filter aanmaken waarbij we alleen nog de valide hostnamen toestaan. Op die manier sluiten we ook direct toekomstige spammers uit. Let hierbij wel op dat er meerdere valide hostnamen zijn. Zo kan het verkeer bij ons bijvoorbeeld van ons oude domein blis.biz afkomen. Ook zijn er verschillende Google-domeinen, zoals translate.googleusercontent.com (Google Translate). Zet je referrals-rapport eens op een lange periode (bijvoorbeeld één jaar) en loop nauwkeurig alle hostnamen door. Alle hostnamen verzameld? Dan gaan we de filters instellen:

  1. Ga naar “admin”
  2. Ga naar “filters”

     
  3. Klik op “new filter”
  4. Maak vervolgens een custom filter van het type “include” en kies voor “hostname”, vul daar je valide hostnamen in met een regular expression (zie voorbeeld)

 

Controleer je filter goed. Als deze niet correct is ingevoerd en dus teveel data filtert, zal je mogelijk helemaal geen data meer binnenkrijgen. Dit is later ook niet meer terug te halen!

In dit voorbeeld gebruiken we de Regex (regular expression) “.*weareblis\.com|.*blis\.biz”. Dat wil zeggen dat de hostnaam altijd weareblis.com OF blis.biz moet bevatten, mogelijk voorafgaand door iedere willekeurige tekenreeks. Op die manier wordt zowel www.weareblis.com als voorbeeld.weareblis.com goedgekeurd. Gebruik altijd een | als OF teken, nooit spaties.

Filteren op referral websites

Met bovenstaande methodes blokkeer je al een groot aantal spammers, maar nog niet allemaal. Wat we in deze stap gaan doen is op bron filteren. Pak daarvoor weer hetzelfde referral-rapport uit Google Analytics erbij. We gaan hier een filter maken voor alle referrals die als hostnaam jouw domeinnaam hebben, en er in de vorige stap dus niet uitgefilterd werden. Houd er rekening mee dat spammers vaak wisselen van domeinnaam. Je zult het filter dus moeten onderhouden.

  1. Maak een lijst met te filteren domeinen
  2. Ga naar “admin”
  3. Ga naar “filters”
  4. Klik op “new filter”
  5. Kies voor een custom filter, dit keer van het type “exclude” en kies voor “campaign source”. We gaan hier de lijst met referrals invoeren als een RegEx. Let op, je hebt hier maar 255 karakters, dus hoe korter de RegEx hoe beter. Soms is het nodig meerdere filters aan te maken. Let ook hier op dat je niet teveel filtert, zodat je geen  valide referrals (en dus belangrijke data) mist.

 

RegEx voorbeeld:

.*semalt/.com|.*button.*websites?\.com|.*seo\-offer\.com|.*100dollars?\-seo\.com|.*sitevaluation\.org|.*success\-seo\.com|.*best\-seo\-solutions?\.com|.*videos.*business\.com

In bovenstaand voorbeeld worden sites als buttonforyourwebsite.com en buttons-for-websites.com gecombineerd. Hierdoor blijft de RegEx een stuk compacter.

Historie filteren met segmenten

Al deze bovenstaande opties zijn mooi voor toekomstige hits, maar je historie is nog steeds vervuild. Je kunt geen data weggooien in Google Analytics, maar je kunt het wel segmenteren. Met die gedachte gaan we de filters uit de vorige stappen toepassen op een segment.

  1. Ga weer naar het referrals-rapport, met de secundaire dimensie op hostname.
  2. Klik op “add segment” bovenaan het scherm (naast “all sessions”)
  3. Klik op de “+new segment”-knop
  4. Kies bij “conditions” voor de filters “Users” en “include”
  5.  Kies voor “hostname” en “matches regex” in het keuzemenu. Daarachter vul je de Regex in uit de eerste stap met de hostnamen.
  6. Vul bij “traffic sources” bij “Filter users” alleen het veld “source” in. Zet de waarde op “does not match regex” en vul daar de tweede Regex in, waarin alle spam-referrals staan.
  7. Geef je segment een naam en klik op “save”.

 

Botfiltering aanzetten in Google Analytics

Zoals eerder gemeld is Google ook op de hoogte van het probleem, en op zoek naar een oplossing. Het begin is er: onder “admin” > “view settings” (de instellingen per view) kun je een vinkje zetten bij “bot filtering”: “Exclude all hits from known bots and spiders”. Hiermee wordt in ieder geval een klein deel van de spammers gefilterd.

Stap 3: Google Tag Manager cookieoplossing

Als laatste middel tegen spam kun je nog denken aan Google Tag Manager. Door het gebruik van Google Tag Manager staat je UA-code niet meer direct in je broncode, wat het een spammer al iets moeilijker maakt. Daarnaast heeft onze developer Jordi Scharloo ook een mogelijke oplossing bedacht om alleen nog maar “echt” verkeer te meten.

Een spammer bezoekt vaak niet je website, maar stuurt alleen vuile data naar je Analyticsprofiel. Hij zal daarom ook nooit een cookie accepteren: hij komt immers niet op je website. Met die gedachte kun je (via Google Tag Manager) eerst een cookie plaatsen, en vervolgens alleen de Google Analytics code plaatsen waar ook het cookie aangetroffen is. Of dit in de praktijk niet voor teveel filtering zorgt, zijn we nog aan het onderzoeken. Binnenkort meer over de implementatie en resultaten hiervan.

Hulp nodig bij de implementatie? Neem contact op

Geert Stolk
Over de auteur
Over de auteur
Geert Stolk

Lead Online Marketeer

Meer stories van Geert Stolk