De laatste week is het weer raak bij Analytics. Al jaren hebben de meeste site-beheerders last van spam bezoeken die de statistieken negatief beïnvloeden, en soms zelfs compleet om zeep helpen. Ik schreef hier al eerder over, de zogenaamde 'ghost spam' zoals dit bekend staat in de online-wereld. Nu is er echter een andere vorm bijgekomen die langs alle filters lijkt te komen, die de meeste Analytics beheerders nu onderhand wel hebben ingesteld. Spam via taal instellingen.

Hoe werkt het?

Het werkt als volgt; Spam via bots komt binnen op analytics, met als user-agent instelling voor taal iets in de trant van: Secret.ɢoogle.com You are invited! Enter only with this ticket URL. Copy it. Vote for Trump!, en vandaag heb ik er weer een nieuwe bij: o-o-8-o-o.com search shell is much better than google!

Wat doet het?

Deze spam gedraagd zich iets anders dan de ghost spam van de afgelopen jaren, wat niet meer dan een 1 pagina per sessie bezoek met een duur van 0:00 minuten was. Deze spam bezoek echter ook echt pagina's, 4,14 per sessie, en hangt zo'n 1:30 gemiddeld op je site rond. Irritant!

Oplossingen te over

Gelukkig zijn er filters en properties die je kunt toepassen. In mijn geval is het vrij eenvoudig te weren tot nu toe. Je maakt gewoon een filter aan met de instellingen:

taal-instellingen, uitsluiten, filterpatroon oogle.*. Even toepassen op al je properties als je er meer hebt, en je bent er vanaf.

Deze specifieke instelling werkt vooral voor waar ik mee te maken kreeg. Beiden gebruiken één overeenkomstig woord/letter combinatie, oogle in de taal-instellingen.

Waarom oogle?

Ik zag dat de eerste spammer waar ik te maken mee kreeg, ɢoogle schreef, waarbij de eerste ɢ een ander teken is dan de tweede g. Sneaky!

Nog een RegEx patroon wat je kunt inzetten

Deze werkt iets anders dan degene die ik tot nu toe heb gebruikt en ziet er als volgt uit:

    .{15,}|\s[^\s]*\s|\.|,|\!|\/

Deze filter focust zich op de speciale tekens die er inzitten bij de language spammers. Normale bezoekers hebben de land-codes welke meestal bestaan uit 2 letters, een streep en weer 2 letters. Dus nl-NL bijvoorbeeld. Het bovenstaande patroon filtert dus alles met een punt, komma, uitroepteken en een /-teken. Daarnaast ook nog alles qua taal-instelling dat groter is dan 15 tekens. Op zich redelijk netjes, totdat de spammers ook daar weer mee aan de slag gaan. Te denken valt aan een short-URL.

Tijdelijke segmenten

Maar goed, dan heb je nog te maken met de achtergelaten vervuiling. Dit is op te lossen door een segment te maken waarbij je dezelfde instelling hanteert en de taal-spammers eruit filtert. Dit kun je tijdelijk inzetten om je eventuele rapportages te corrigeren. Bij mij scheelde het nogal in bezoekersduur en pagina's per sessie.

Deze spam is namelijk nogal aanwezig qua volume. Tevens worden er ook verwijzers gebruikt welke legitieme sites zijn, waaronder bijvoorbeeld reddit.com en lifehacker.com afgelopen week. Tja, die wil je misschien als verwijzer niet blokkeren.

Omgedraaide filter

Ik zit er nog aan te denken om het voorbeeld van de taalfilter hierboven even om te draaien. Ik kan natuurlijk bezig blijven met het uitsluiten van rare taal-instellingen, maar waarom niet gewoon een taalfilter maken waarbij ik alles uitsluit wat niet overeenkomt met de bekende taal-instellingen. Dat is op zich prima te bouwen. De reden dat dit op zich zou moeten werken, is omdat het de spammers toch echt om aandacht gaat. En wanneer ze alleen doorkomen bij ons in de statistieken met een geldige taal-setting, dan is het doel niet behaald.

Ik zal deze eens gaan opzetten en even test-draaien. Daarna zal ik deze hier melden en waarschijnlijk is er al iemand die deze heeft gemaakt inmiddels en beschikbaar heeft gemaakt binnen de templates voor Google Analytics.

UPDATE 1: Ben nu een totaalrapport met alle language settings aan het exporteren, daar er geen simpel overzicht te verkrijgen was met alle valide taal instellingen voor Google Analytics, dus dan maar zelf 1 maken. Die zet ik dan dadelijk om naar een RegEx filter patroon en zal zo dadelijk een filter aanmaken waarbij ik deze lijst laat opnemen. Voor nu is dat de meest toekomst-veilige ofwel future-proof oplossing.**

Filter voor opnemen van alleen geldige taalinstellingen in Analytics

UPDATE 2: Ik heb een filter gemaakt met een patroon wat iets ruimer is dan de strikte iso landen code lijsten waar Google gebruik van maakt (ja, er zijn er meer).

Gebruik 1 van onderstaande filterpatronen op basis van je voorkeur. De eerste gebruik ik zelf en is wat ruimer dan per se nodig. Ik doe dit omdat ik tussen de data ook taalinstellingen als en-029 e.d. tegenkwam. Dit zijn dan wel geen officiële taalcodes, maar ze zitten mij ook niet in de weg. Die kan ik later altijd nog wegfilteren.

Het ruimere patroon:

    ^[a-zA-Z0-9_]{1,2}(\-|\_)[a-zA-Z0-9_]{2,3}$|^[a-zA-Z0-9_]{1,2}$|\(not set\)

En het striktere patroon voor mensen die het officieel willen hebben:

    ^[a-z]{2}(\-|\_)[A-Z]{2}$

Dus:

  • Gewoon naar je filters gaan (zorgen dat deze op de juiste properties wordt geplaatst wanneer je er meer dan 1 hebt)
  • Kiezen voor aangepast of custom
  • Opnemen of include kiezen
  • Veld of field taalinstellingen of language settings
  • Filterpatroon zoals hierboven invoeren en opslaan die hap.

Tot slot

Deze filter bespaard je in de toekomst het nodige werk van het bijwerken van een uitsluiten/exclude filter, en zal ook prima blijven werken, daar het de spammers toch om aandacht gaat. En die aandacht voor een URL of iets anders gaat ze niet lukken met maximaal 5 tekens, gescheiden door een - of _. Dus niet meer interessant voor hen.

Hiermee heb je toekomstige taalinstellingen-spammers dus ook weggefilterd!