Google Analytics Spam wirkungsvoll entfernen

    Spam ist in Google Analytics ein Ärgernis, das in letzter Zeit immer massiver auftritt. Fast jeder hat in Google Analytics schon Zugriffe von ominösen Domains wie 377146-1.compliance-ivan.xyz, Sprachangaben wie „Vote for Trump“ oder „Vitaly rules Google“ gesehen oder in den Contentberichten Seitenaufrufe von /sharebutton.to gefunden. 

    Für zuverlässige Webanalysen ist man jedoch auf valide Daten angewiesen. Ich zeige euch in diesem Artikel eine Methode, die Spam aus Google Analytics sehr wirkungsvoll fernhält.

    Methoden zum Entfernen von Spam aus Google Analytics

    Spam tritt in Google Analytics an verschiedenen Stellen auf. Ihr findet ihn in den Verweisberichten:

    Oder in den Berichten zu den Spracheinstellungen eurer Besucher:

    Häufig ist Spam auch in den Contentberichten von Google Analytics zu finden. Dort wurden dann scheinbar Seiten auf eurer Website aufgerufen, die jedoch gar nicht existieren.

    Tatsächlich müssen die Spammer überhaupt nicht eure Website aufrufen, um Spam in eurer Analytics Property zu platzieren. Über das Google Measurement Protocol lassen sich beliebige Daten an beliebige Google Analytics Properties senden. Dies wird auch als Ghost Spam bezeichnet. Alles was der Spammer benötigt, ist die ID einer Analytics Property. Die lässt sich entweder automatisiert aus eurer Website auslesen, oder es wird einfach wahllos Spam versendet, da die IDs leicht zu erraten sind. In der Regel folgen sie dem Muster UA-XXXXXXXX-X, wobei für X beliebige Ziffern von 0-9 eingesetzt werden.
    Das Measurement Protocol ist an sich nichts Schlechtes. Es wird auch vom Analytics Tracking Code verwendet und kann darüber hinaus zur Realisierung verschiedenster Tracking-Szenarien genutzt werden. Zum Beispiel können Kassensysteme in Ladengeschäften darüber auch Daten an Google Analytics senden. Wer sich für das Measurement Protocol interessiert, findet hier weitere Informationen.

    Jedoch lässt sich das Measurement Protocol leider auch zum Versenden von Spam missbrauchen. Ich zeige euch nun einige gängige Vorgehensweisen zum Ausschluss von Spam in Google Analytics. Einige sind sehr leicht zu realisieren, bieten aber keinen zuverlässigen Schutz vor Spam, andere wie der Hostname-Filter sind bereits sehr wirkungsvoll. Die besten Ergebnisse liefert aber die Verwendung eines individuellen Analytics Keys in euren Tracking Codes.

    Wichtiger Hinweis zur Benutzung von Filtern in Google Analytics

    Filter werden in Analytics angewendet, bevor die Daten in der Property gespeichert werden. Einmal herausgefilterte Daten können nicht wiederhergestellt werden! Deshalb sollten in Analytics immer mindestens drei Datenansichten verwendet werden:

    • eine Datenansicht zum Testen von Filtern und sonstigen Anpassungen
    • eine Backup-Datenansicht ohne jede Anpassung
    • und schließlich eine Arbeitsdatenansicht, die geprüfte Filter usw. enthält und für die tägliche Analysearbeit genutzt wird

    Spam kann mit Filtern nicht nachträglich aus eurer Datenansicht entfernt werden. Für das nachträgliche Bereinigen von Daten in Google Analytics steht mit den Datensegmenten ein mächtiges Instrument zur Verfügung.

    Bekannte Bots und Spider ausschließen

    Der einfachste Weg, um Spam in Google Analytics einzudämmen (nicht auszuschließen!), besteht in einer kleinen Checkbox, die ihr in den Einstellungen der Datenansicht findet:

    Mit dieser Einstellung werden alle Daten, die von bekannten Bots und Spidern an eure Analytics Property gesendet werden, herausgefiltert. Wichtig ist hier das Wörtchen „bekannt“. Denn nur Bots, Spider und Spammer, die von Google erkannt und entsprechend klassifiziert wurden, können mit dieser Funktion herausgefiltert werden. Diese Funktion hinkt den Spammern also zwangsläufig immer hinterher. Ihr solltet sie in eurer Datenansicht aktivieren, aber keine Wunder erwarten. Um Spam zu bekämpfen, müssen wir ein wenig mehr unternehmen.

    Referrer in Google Analytics filtern

    Lange Zeit tauchte Spam in Google Analytics vor allem in den Verweisberichten auf. Dort konntet ihr plötzlich Domains mit merkwürdigen Namen finden:

    Beim Aufruf einer solchen Domain über euren Browser wurde häufig versucht, Malware auf eurem Rechner zu installieren. Dieser Spam wurde bekämpft, indem man in Google Analytics einen Filter eingerichtet hat, der Traffic von den verdächtigen Domains ausgeschlossen hat.

    Wählt zum Einrichten eines Referrer Spam Filters zunächst in der Verwaltung von Google Analytics die Datenansicht aus, zu der ihr den Filter hinzufügen möchtet. Klickt dann auf Filter und anschließend auf +Filter hinzufügen. Nun wird der Filter zum Ausschluss bestimmter Referrer definiert:

    1. Filtername: Gebt dem Filter einen eindeutigen Namen, der seine Funktion erkennen lässt. Zum Beispiel „Referrer Spam ausschließen“ .
    2. Der Typ des Filters ist Benutzerdefiniert.
    3. Wählt die Option Ausschließen.
    4. Setzt das Filterfeld auf Kampagnenquelle.
    5. In das Feld Filtermuster wird ein regulärer Ausdruck eingetragen, z.B. dieser:
      ^(.*\.)?(buketeg|compliance-alex|compliance-fred)\.([^.]+)$

    Was bedeutet das obige Filtermuster?
    Jede Traffic-Quelle, die die Zeichenkette buketeg oder compliance-alex oder compliance-fred und eine beliebige Subdomain bzw. Domainendung enthält, wird herausgefiltert. Den Filter könnt ihr nach Bedarf erweitern oder einschränken.

    Nachteile dieses Filters

    • Aufwendig: Jede verdächtige Domain muss einzeln zum Filter hinzugefügt werden.
    • Die Länge des Filtermusters ist begrenzt. Bei Erreichen der Maximallänge der Zeichenkette muss ein weiterer Filter angelegt werden.
    • Spam ist vielfach nicht mehr anhand der Verweisquelle erkennbar. Deshalb liefert dieser Filter keine befriedigenden Ergebnisse mehr.

    Hostname in Google Analytics filtern

    Häufig sind Spam-Zugriffe nicht mehr anhand des Referrers erkennbar. Statt merkwürdig klingender Domainnamen verwenden die Spammer als Verweisquelle gerne bekannte Domains wie etwa reddit.com oder twitter.com. Damit scheidet der Referrer als Kriterium für das Herausfiltern von Spam aus, weil sich zu viele Zugriffe als vertrauenswürdige Domains tarnen.

    Deshalb ist es sinnvoller nach dem Hostnamen zu filtern. Angenommen, eure Website ist unter www.euredomain.tld erreichbar. Für alle gültigen Zugriffe muss der Hostname auf www.euredomain.tld lauten. Lautet er anders oder fehlt er, handelt es sich potenziell um Spam.

    Schauen wir uns noch einmal die Verweisquellen an und fügen als sekundäre Dimension den Hostnamen hinzu:

    Google Analytics, Hostname filtern, 01

    Nur für die Verweisquelle images.google.de wird als Hostname www.euredomain.tld angegeben. Damit handelt es sich bei dem Traffic aus dieser Quelle höchstwahrscheinlich nicht um Spam. Bei allen übrigen Verweisquellen sehen wir jedoch abweichende Hostnamen. Auch der Traffic aus Quellen wie reddit.com, der auf den ersten Blick sauber aussah, entpuppt sich nun als Spam.

    Statt also mühselig jede einzelne verdächtige Verweisquelle auszuschließen, können wir auch genau umgekehrt vorgehen: Wir lassen in Google Analytics nur Zugriffe zu, die als Hostnamen www.euredomain.tld gesetzt haben.

    So legt ihr einen Hostnamen-Filter an:

    1. Legt zunächst den Filternamen fest, z.B. „Nur Host www.ebernickel.de zulassen“ .
    2. Wählt als Filtertyp Vordefiniert aus.
    3. Die Bedingung für den Filter lautet Nur einschließen Hostname-Traffic enthält.
    4. Tragt nun den gültigen Hostnamen ein.
    5. Abspeichern.

    Wichtig: Analysiert genau, welche Hostnamen zulässig sind. Falls ihr verschiedene Subdomains verwendet, müsse diese berücksichtigt werden. Ebenso können Drittanbieterlösungen, die ihr auf eurer Website integriert habt (z.B. für die Zahlungsabwicklung, den Download kostenpflichtiger Inhalte, etc.) zu weiteren Hostnamen führen, die im Filter explizit erlaubt werden müssen.

    Vorteile des Hostnamen-Filters

    • Schnell implementierbar
    • Geringer Pflegeaufwand

    Nachteile des Hostnamen-Filters

    • Einzelne Spammer (z.B. Vitaly, s.o.) scheinen mittlerweile Wege gefunden zu haben, um gültige Hostnamen vorzutäuschen. Insbesondere in den Google Analytics Properties von englischsprachigen Websites habe ich in den vergangenen Wochen vermehrt Spam-Zugriffe mit gültigen Hostnamen gefunden. Bislang beschränkte sich diese neue Form des Spams vor allem auf stark frequentierte Websites, weil ein zusätzlicher Abgleich zwischen Property-ID und Domainname notwendig ist. Allerdings mag es nur eine Frage der Zeit sein, bis diese neue Methode von Spammern in der Breite angewendet wird.

    Deshalb zeige ich euch nun eine neue Variante zum Filtern von Spam in Google Analytics:

    Profitipp: Analytics Key verwenden

    Die Lösung, die ich favorisiere, stammt von Julien Coquet. Julien hat eine wirklich clevere Idee gehabt: Mit jedem Hit, der an Google Analytics gesendet wird, schickt er in einer benutzerdefinierten Variablen eine Zeichenkette – den sog. Analytics Key – mit. Anschließend wird in Google Analytics ein Filter definiert, der nur die Hits durchlässt, für die der Analytics Key korrekt gesetzt ist. Im Prinzip ist dies eine einfache Authentifizierung der Daten, die an Google Analytics gesendet werden. Auch diese Methode ist nicht zu 100% sicher, da der Inhalt der benutzerdefinierten Variablen mit dem Tag Assistant ausgelesen werden kann. Allerdings erfordert dies einen zusätzlichen manuellen Aufwand für die Spammer, so dass ich davon ausgehe, dass man auf diesem Weg für längere Zeit wirklich Ruhe vor Google Analytics Spam haben wird.

    Die vorgestellte Lösung nutzt den Google Tag Manager. Grundsätzlich ist diese Methode aber auch für die klassische Einbindung des Google Analytics Tracking-Codes geeignet.

    So wird der Analytics Key eingerichtet:

    1. Benutzerdefinierte Dimension einrichten

    Zunächst legt ihr in eurer Analytics Property eine benutzerdefinierte Dimension an. Wählt dafür in der Verwaltung von Google Analytics die gewünschte Property aus. Klickt auf Benutzerdefinierte Definitionen und dann auf Benutzerdefinierte Dimensionen. Anschließend wählt ihr +Neue benutzerdefinierte Dimension aus:

    1. Gebt der benutzerdefinierten Dimension den Namen Analytics Key.
    2. Die Dimension wird auf Ebene der Hits angewendet.
    3. Setzt die Dimension aktiv.
    4. Erstellen und die benutzerdefinierte Dimension ist eingerichtet.

    Merkt euch die Indexnummer der neu angelegten Dimension. Bei mir hat die Dimension Analytics Key die Nummer 8:

    2. Tracking-Tags ergänzen

    Im zweiten Schritt nehmen wir Erweiterungen im Google Tag Manager (GTM) vor. Alle Google Analytics Tracking-Tags, die wir im GTM definiert haben, müssen nun zusätzlich unseren Analytics Key bei jedem Hit mitsenden. Ich zeige die Implementierung am Beispiel des Standard-Tags, mit dem die Pageviews übermittelt werden. Falls ihr weitere Tags im Einsatz habt, z.B. für das Event-Tracking, etc., sind diese Tags auch entsprechend zu erweitern.

    Zunächst legen wir im Google Tag Manager zwei benutzerdefinierte Variablen an. In der einen Variable speichern wir die Indexnummer der benutzerdefinierten Dimension „Analytics Key“, in der anderen Variablen den eigentlichen Key.

    1. Variable „Analytics Key CD Index“

    Legt im Google Tag Manager eine neue benutzerdefinierte Variable an:

    1. Gebt der Variablen den Namen „Analytics Key CD Index“
    2. Der Typ der Variablen ist Konstant.
    3. Der Wert der Variablen entspricht der Indexnummer der benutzerdefinierten Dimension Analytics Key. In diesem Beispiel ist der Wert „8“. Ihr müsst den Wert eintragen, der euch in Analytics angezeigt wird.
    2. Variable „Analytics Key CD Value“

    Die zweite Variable wird nach dem gleichen Muster angelegt. In ihr speichern wir den eigentlichen Analytics Key. Der Analytics Key ist eine beliebige Zeichenkette, z.B. bWVpbi1wcml2YXRlci1hbmFseXRpY3Mta2V5 .

    1. Gebt der Variablen den Namen „Analytics Key CD Value“
    2. Der Typ der Variablen ist Konstant.
    3. Der Wert der Variablen entspricht unserem Analytics Key, z.B. bWVpbi1wcml2YXRlci1hbmFseXRpY3Mta2V5
    Tracking-Tag erweitern

    Nun müssen die Tracking-Tags so erweitert werden, dass sie zusätzlich den Analytics Key an Google Analytics senden. Wählt im Google Tag Manager das Standard Tracking-Tag von Google Analytics aus, mit dem die Pageviews getrackt werden:

    1. Klickt im Abschnitt Benutzerdefinierte Dimensionen auf +Benutzerdefinierte Dimension hinzufügen.
    2. Im Feld Index wird {{Analytics Key CD Index}} eingetragen.
    3. Im Feld Dimensionswert wird {{Analytics Key CD Value}} eingetragen.

    Jedes Mal, wenn dieses Tag einen Seitenaufruf an Analytics sendet, wird nun auch immer der Analytics Key übermittelt.

    Falls ihr mehrere Tracking-Tags verwendet, müsst ihr die weiteren Tags nach der gleiche Methode erweitern.

    Nicht vergessen: Die Änderungen im Google Tag Manager müssen veröffentlicht werden, damit sie wirksam werden.

    3. Filter in Google Analytics definieren

    Im letzten Schritt wird in Google Analytics ein Filter angelegt, der nur Daten akzeptiert, wenn der Analytics Key korrekt gesetzt ist:

    1. Gebt dem Filter einen eindeutigen Namen, z.B. Nur Hits mit Analytics Key zulassen.
    2. Der Filtertyp ist Benutzerdefiniert.
    3. Wählt Einschließen aus.
    4. Das Filterfeld heißt Analytics Key.
    5. Für das Filtermuster wird der Inhalt des Analytics Keys eingetragen.

    Fertig! Nun habt ihr eine sehr effektive Methode zum Filtern von Google Analytics Spam eingerichtet.

    Vorteile

    • Hohe Sicherheit gegen Spam
    • Mit Google Tag Manager schnell umsetzbar
    • Geringer Wartungsaufwand
    • Nur ein Filter gegen Google Analytics Spam

    Nachteile

    • Erfordert Ergänzung bestehender Google Analytics Tags
    • Die Methode ist grundsätzlich auch ohne den Google Tag Manager umsetzbar, erfordert dann jedoch mehr Aufwand für die Implementierung. Hier findet ihr weitere Informationen zum Übermitteln von Daten in benutzerdefinierten Dimensionen.

     

    Wichtig: Auch diese Methode liefert keine absolute Sicherheit gegen Google Analytics Spam. Ihr müsst also nach wie vor die Datenqualität in Analytics überwachen. Allerdings erschwert ihr mit diesem Ansatz deutlich das Senden von Spam in eure Google Analytics Properties.

    Datensegmente zum Ausblenden von Spam nutzen

    Die vorgestellten Filter verhindern das Übermitteln von Spam an eure Google Analytics Properties. Allerdings kann dieser Schutz nie vollständig sein. Was also ist zu tun, wenn ihr in euren Datenansichten bereits Spam vorfindet, der eure Kennzahlen verfälscht?

    Für das nachträgliche Bereinigen von Daten eignen sich die Segmente von Google Analytics besonders gut. Mit ihnen lassen sich die in den Berichten angezeigten Daten ähnlich einschränken wie mit Filtern. Segmente verändern jedoch nicht die in einer Datenansicht enthaltenen Daten, sie schränken lediglich die Datenmenge ein, die für die Berichte herangezogen wird.

    Beispiel:
    Angenommen, ihr möchtet über ein Datensegment nur jene Daten anzeigen lassen, für die ein gültiger Hostname gesetzt wurde. Das funktioniert ganz ähnlich wie der Hostname-Filter:

    Mit Datensegmenten lassen sich für die Spam-Bereinigung ähnliche Ergebnisse wie mit den Filtern erzielen. Deshalb bevorzugen manche Webanalysten die Datensegmente. Allerdings sind dann für jedes einzelne bereits angelegte Datensegment zusätzliche Einstellungen für die Bereinigung des Spams notwendig. Das macht die Arbeit dann deutlich aufwendiger. Aus diesem Grund empfehle ich die Nutzung von Filtern, um von Anfang an eine möglichst hohe Datenqualität zu erzielen und die Datensegmente nach Möglichkeit nur für reine Analyseaufgaben zu verwenden.

    Fazit & Empfehlung

    Ich habe euch verschiedene Ansätze für die Bereinigung von Spam in Google Analytics vorgestellt. Für eine effektive Bekämpfung des Spams empfehle ich euch Folgendes:

    • Aktiviert die Einstellung „Bekannte Bots und Spider ausschließen“ . Diese Einstellung ist obligatorisch. Alleine reicht sie jedoch nicht aus, um Google Analytics Spam zu bekämpfen.
    • Deshalb benötigt ihr zusätzliche Filter in Google Analytics. Nutzt nach Möglichkeit die Filtermethode mit dem Analytics Key. Alternativ könnt ihr den Hostname-Filter verwenden. Dieser Filter liefert (noch) gute Ergebnisse.
    • Nutzt Datensegmente für die nachträgliche Bereinigung eurer Berichte von Spam.
    • Überprüft regelmäßig die Datenqualität in Google Analytics und werdet aktiv, falls eure Maßnahmen gegen Spam nicht mehr ausreichen.
    4 Kommentare
    • Adrian Anger
      ANTWORTEN

      Danke für den sehr hilfreichen Artikel!

      Ende 2016 hatte ich sehr mit Referral-Spam zu kämpfen, fast 50% des Traffics war fake.

      Seit etwa einer Woche ist der Spam schlagartig (fast komplett) verschwunden. Kann das an einer Maßnahme von Google liegen oder haben die Spammer nachgegeben?

      LG
      Adrian

      • Christian Ebernickel
        ANTWORTEN

        Hallo Adrian,

        ja, Google ist vor kurzem wieder aktiv geworden und hat ebenfalls Maßnahmen zur Bekämpfung des Spams getroffen. Leider passiert das meist nur mit Verzögerung: Der Spam hat sich bei verschiedenen Accounts, die ich betreue, im Laufe des 4. Quartals massiv aufgebaut. Da musste man schon vorher eigene Maßnahmen treffen, damit die Daten für Analysen brauchbar bleiben.

        Erfahrungsgemäß ist es nur eine Frage der Zeit, bis die Spammer wieder Methoden gefunden haben, um Googles Maßnahmen zur Spam-Erkennung unterlaufen. Deshalb führt kein Weg an eigenen Vorkehrungen gegen den Spam und eine regelmäßige Kontrolle der einlaufenden Daten vorbei.

        Schöne Grüße
        Christian

    Hinterlasse eine Antwort

    Ihre Email-Adresse wird nicht veröffentlicht.