morefire
MENÜ

Google Analytics: Internen Traffic mit PHP & GTM filtern

Google Analytics erfasst Daten von allen Nutzern der Webseite. Zu allen Nutzern gehören aber auch Mitarbeiter des eigenen Unternehmens. Das Problem dabei: Zugriffe durch eigene Mitarbeiter verfälschen unsere Daten ungemein.

Wie oft haben wir es schon gesehen, dass Unternehmen Ihre eigene Webseite standardmäßig als Startseite eingerichtet haben. Das Ergebnis: Hunderte tägliche Zugriffe mit enorm hohen Absprungraten, geringer Sitzungsdauer, eine Unmenge an wiederkehrenden Besuchern ohne Conversion. Im Endeffekt also sehr unverlässliche Werte im gesamten Analytics Account.

Um internen Traffic zu filtern, werden üblicherweise in Analytics IP Filter gesetzt. Warum genau das häufig nicht funktioniert, oder aber im Falle des richtigen Einsatz suboptimal ist, hat Euch Lisa-Marie bereits in diesem Artikel erklärt, gemeinsam mit einem anderen Ansatz, um internen Traffic auszuschließen. Stichwort: IP-Anonymisierung.

Heute möchte ich Euch eine Möglichkeit vorstellen, trotz Google Analytics IP-Anonymisierung die eigenen Zugriffe mit Hilfe von ein bisschen PHP, Javascript und dem Google Tag Manager aus den Daten fernzuhalten.

Die Idee in zwei Sätzen: Mithilfe einer PHP-Abfrage prüfen wir, ob der Zugriff von unserer eigenen IP-Adresse stammt und lassen uns diese Informationen im dataLayer ausgeben. Mit Hilfe des Google Tag Managers geben wir diese Information an Google Analytics weiter und schließen die Zugriffe aus unseren Daten aus.

Schritt für Schritt Anleitung

Schritt 1: PHP und JavaScript

Im ersten Schritt hinterlegen wir den folgenden Code in unserer PHP-Datei. Idealerweise sollte der Code oberhalb des Google Tag Manager Codes platziert werden. Im PHP-Array definieren wir die auszuschließenden IP-Adressen des Unternehmen und ggf. der Agenturen. Durch die direkte Verarbeitung der IP-Adresse auf Seiten der Webseite, umgehen wir somit das Senden und die Anonymisierung durch Google Analytics. Im Anschluss lassen wir uns im dataLayer ausgeben, ob die IP-Adresse des aktuellen Webseiten-Nutzers im Array aufzufinden ist und er entsprechend “external” oder “internal” ist.

<?php
 $ips_intern=array(
 '192.168.1.1', // auszuschließende IP 1
 '192.168.1.2', // auszuschließende IP 2
 '192.168.1.3', // auszuschließende IP 3
 );
?>
<script>
 window.dataLayer = window.dataLayer || [];
 dataLayer.push({
 'userType' : '<?php if(in_array($_SERVER['REMOTE_ADDR'],$ips_intern)) echo('internal'); else echo('external'); ?>',
 'event' : 'userInfo'
 });
</script>

Schritt 2: Google Tag Manager Variable definieren

Im Bereich “Variablen” erstellen wir eine benutzerdefinierte Variable vom Typ “Datenschichtvariable” namens {{DL – userType}}, die aus dem dataLayer ausliest um welchen Nutzertyp es sich handelt.

Datenschichtvariable

Schritt 3: Alle-Seiten-Tag  bearbeiten

Nun müssen wir die Information über den Nutzertyp noch an Google Analytics senden. Dazu bearbeiten wir unseren Seitenaufruf-Tag bzw. wer bereits mit der neuen Google Analytics Settings Variable arbeitet, bearbeitet diese. Wir versenden die Information über den Nutzertyp mit Hilfe einer benutzerdefinierten Dimension an Google Analytics. Hierzu kann einfach eine beliebige freie Indexnummer (in meinem Fall die Nr. 2.) verwendet werden. Im Bereich “Dimensionswert” fügen wir nun die in Schritt 2 definierte Variable {{DL – userType}} ein.

Deitenaufruf Settings

PS: Wer sich fragt, was es mit dem auf Dimension 1 liegenden Spam-Filter auf sich hat, dem empfehle ich diesen Artikel von Lisa-Marie.

Ob alles bis hierhin korrekt eingerichtet wurde, sollte getestet werden. Hierzu öffnen wir den Vorschaumodus des Google Tag Manager und öffnen unsere Webseite. Beim Klick auf unseren ausgelösten Seitenaufruf-Tag können wir erkennen, dass als Dimension 2 der Wert “internal”, oder aber eben von einer nicht internen IP-Adresse aus der Wert “external” übergeben wird.

Testing

Schritt 4: Dimension in Google Analytics definieren

Damit Google Analytics die Informationen über den Nutzertyp auch erfasst, muss im Bereich “Property-Einstellungen” noch die benutzerdefinierte Dimension mit der in Schritt 3 definierten Indexnummer und dem Umfang “Nutzer” definiert werden.

Benutzerdefinierte Dimensionen

Setting Dimension

Schritt 5: Filter in Google Analytics erstellen

Im letzten Schritt erstellen wir unseren Filter, um die Daten über interne Zugriffe auszuschließen. Hierzu gehen wir in den Einstellungen der gewünschten Datenansicht auf “Filter” und erstellen einen neuen benutzerdefinierten Filter mit diesen Einstellungen:

Filter Settings

Nun sollte nochmals geprüft werden, ob alles korrekt eingerichtet wurde und weiterhin Daten von nicht internen Zugriffen einlaufen. Jetzt sind die Daten vor zukünftigen Zugriffen über die unternehmenseigenen IP-Adressen geschützt.

Noch Fragen? Stellt Sie mir einfach in den Kommentaren. Viel Spaß beim Ausprobieren!

Geschrieben von

Marc Hedrich ist Webanalyse Consultant bei morefire.

5 / 5 (1 votes)

Schreibe einen Kommentar

Loading Facebook Comments ...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Loading Disqus Comments ...