Skip to content

Instantly share code, notes, and snippets.

@mbaersch
Created March 30, 2017 10:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mbaersch/aa632bee92f5907c8c9f6ab1939c04ba to your computer and use it in GitHub Desktop.
Save mbaersch/aa632bee92f5907c8c9f6ab1939c04ba to your computer and use it in GitHub Desktop.
modified eCommerce Shop Plugin-Code zur Ausgabe eines Opt-Out-Markers für Google Analytics
<?php
/* --------------------------------------------------------------
pb_ga_optout_marker.php 2017-03-29
Markus Baersch, gandke marketing & software, Peter Berghausen
https://www.gandke.de, http://www.peterberghausen.de
Copyright (c) 2017 Markus Baersch, gandke marketing & software, Peter Berghausen
--------------------------------------------------------------
*/
/**
* Ausgabe eines Markers fuer internen Traffic zum Ausschluss aus Google Analytics. Weitere Infos siehe Blog
*/
/*
* Installation modified Shop 2:
* Bitte die Werte unten (IP-Filtermuster, Header-Name, Header-Wert, Text fuer Ausgabe) anpassen und diese Datei in den Ordner
* "/includes/extra/header/header_head/" Ihres Shop-Stammverzeichnisses kopieren.
* Einsatz: Siehe gandke.de/ga-marker
* */
/* Einstellungen Marker-Trigger */
/*
* IP-Filtermuster:
* Filtermuster fuer IP-Adressen hier eingeben oder leer lassen.
* */
$exc_IpPattern = '127.0.0.1';
/*
* Header-Name:
* Soll ein Header als Marker genutzt werden, Header mit "HTTP_" als Praefix, gross geschrieben und mit einem "_" statt "-" versehen hier und unten den Marker (Header-Wert) angeben.
* Sonst beides leer lassen.
* */
$exc_Header = 'HTTP_GA_TRAFFIC_TYPE';
/*
* Header-Wert:
* Wert des Marker-Headers hier eingeben, wenn dieser verwendet wird.
* */
$exc_HeaderMarker = 'Intern';
/*
* Text fuer Ausgabe:
* Was soll ausgeben werden, wenn der Marker gefunden wird?
* Beispiel-Definition einer JS-Variable f. Codeanpassung:
* "<script>var gaDim1Value'Intern'</script>".
* fuer GTM stattdessen z. B. folgende Zeile nutzen:
* "<script>window.dataLayer=window.dataLayer || []; dataLayer.push({'gaTrafficType':'Intern'});</script>"
* */
$markerTxt = "<script>var gaDim1Value='Intern'</script>";
//Ausgeben, wenn Bedingung zutrifft
if ((($exc_IpPattern != "") && (preg_match("/$exc_IpPattern/i", $_SERVER['REMOTE_ADDR']))) ||
(($exc_Header != "") && ($_SERVER[$exc_Header] === $exc_HeaderMarker))) {
echo $markerTxt;
}
?>
@mbaersch
Copy link
Author

modified eCommerce Shop-Plugin:

Plugin zur Markierung interner Besucher anhand der IP oder eines Headers zum Ausschluss in Google Analytics.

Zweck
Das Plugin dient dazu, anhand eines IP-Musters und / oder eines individuellen Headers der Anfrage einen Marker (z. B. per JavaScript-Variable oder dataLayer) in den <head> zu implementieren, der zum Ausschluss der internen Besucher aus der Webanalyse bzw. dem Betrieb eines Kontrollprofils für interne Besuche per Filter zu ermöglichen.

Hinweise zur Verwendung
Unter gandke.de/ga-marker findet sich ein ausführlicher Beitrag über den Einsatz des Plugins zum Ausschluss von internem Traffic in Google Analytics. Hier wird auch die Einrichtung eines individuellen Headers beschrieben und es finden sich Hinweise auf ggf. bestehende technische Hürden.

Das Plugin ist als "Rumpfplugin" gedacht und kann an die eigenen Bedürfnisse angepasst werden, um zu den Rahmenbedingungen der eigenen Site zu passen. Vielen Dank an Peter Berghausen für die Unterstützung bei Umsetzung und Test dieses und weiterer Plugins für andere Shopsysteme.

Installation
Nach dem Herunterladen des Plugins die Werte für das IP-Filtermuster, den Header-Name, Header-Wert und Text für die Ausgabe direkt im Script an den kommentierten Stellen an die eigenen Bedürfnisse anpassen und die Datei dann in den Ordner
/includes/extra/header/header_head/ des Shop-Stammverzeichnisses kopieren.

Wie damit eine benutzerdefinierte Dimension zum Filtern der Besucher angelegt werden kann, wie ein individueller Header gesendet und konfiguriert wird etc. findet sich im o. a. Blogbeitrag.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment