Im ersten Teil meiner Google Tag Manager Serie habe ich gezeigt was der Google Tag Manager (GTM) eigentlich ist und wie er prinzipiell funktioniert. Im GTM werden verschiedenen Marketing-Tags (z.b. Google Analytics, Facebook Pixel…) in einem GTM-Container Snippet zusammengefasst. Dieses Snippet muss nur einmal installiert werden. Alle weiteren Anpassungen werden über eine zentrale Management Konsole in der GTM Oberfläche durchgeführt. Verschiedene Tools und Features helfen euch dabei die unterschiedlichen Marketing Tags zu implementieren.

Die 5 Grundpfeiler des Google Tag Managers


  • GTM Snipped: erzeugt den dataLayer
  • dataLayer: erzeugt verschiedene Variable
  • Variable: geben Informationen an die Trigger
  • Trigger:  entscheiden ob ein Tag abgefeuert wird
  • Tag: gibt die Trackinginformation an die Marketing Tools weiter

dataLayer

Der dataLayer wird über den GTM Snippet Code erzeugt. Mit Hilfe des Konzepts des dataLayers lassen sich Informationen aus der Applikationsschicht  (Application Layer) für eine weitere Verarbeitung verfügbar machen. Der dataLayer ist für den Frontend-User nicht sichtbar. Aber wir können verschiedene Userdaten wie z.b. der Loginstatus, gesamte bisherige Einkaufssumme und viele andere Daten, die im Application Layer vorhanden sind in den dataLayer senden.  D.h. der dataLayer ist zwischen dem Application Layer und den Präsentations-Layer angeordnet. Der Google Tag Manager nutzt dieses Konzept des dataLayers um Informationen an unterschiedliche Marketing-Tool  Anbieter zu senden.

datalayer zwischen Application und Präsentationsschicht

Beispiel: Ein Remarketing-Tag für das Google Displaynetzwerk soll immer dann ausgelöst werden, wenn ein Besuch er mehr als 100 € auf Ihrer Website ausgibt. Für einen nachfolgenden Trigger muss daher der Wert der Transaktion des Besuchers bekannt sein, damit ermittelt werden kann, ob dieser 100 € übersteigt. Der Transaktionswert wird mit der Methode dataLayer.push in die Datenschicht übernommen. Mit einer speziellen GTM-Variablen kann dieser Wert abgerufen werden, sodass er im auslösenden Trigger ausgewertet werden kann.

Der dataLayer ist eine Box von verschiedenen Informationen. Programmiertechnisch gesehen besteht der dataLayer aus ein oder mehreren Objekten die Daten enthalten. Die Daten werden als Eigenschaft/Werte Paar im dataLayer abgelegt. Aus Marketer-Sicht ist der dataLayer ein Ort wo Daten in einer strukturierten Form gespeichert werden. D.h. der dataLayer enthält Daten die dann für Variablen, Trigger und Tags verfügbar sind.

GTM-Variable

Variable sind ein wesentlicher Bestandteil im Google Tag Manager. Variable werden im dataLayer erzeugt und dienen dann zur Steuerung der Trigger und Tags. Variable sind „Platzhalter“ die während der Laufzeit unterschiedliche Daten speichern  können.  Im GTM können benutzerdefinierte Variable definiert werden oder du kannst auf schon integrierter Variablen zurückgreifen.

Anlegen von Variable im GTM

Integrierte Variablen sind für viele der gängigsten Tag- und Trigger-Konfigurationen verfügbar. Nach der Aktivierung können sie wie benutzerdefinierte Variablen verwendet werden.
Im GTM Vorschau Modus kannst du feststellen welche Variablen aktuell definiert sind.

Hier siehst du, dass zum Zeitpunkt des „Page-View“ Event die integrierte Variable „Page-Path“ einen bestimmten Wert hat. Würdest du jetzt auf eine andere Page deiner Website gehen so würde sich der Wert der Variable „Page-Path“ entsprechend ändern. Die integrierte Variable sind solange ausreichend wie man mit den Standardfunktionen des GTM das Auslangen findet. Aber die richtige Power liegt in den benutzerdefinierten Variablen.

benutzerdefinierte Variable

Ein kleines Beispiel dazu: In vielen Fällen musst du beim Anlegen von Tags deine Google Analytics ID angeben. Um das nicht jedesmal neu machen zu müssen definierst du einfach eine benutzerdefinierte Variable vom Typ „Konstante“. In dieser Variable speicherst du dann deine Google Analytics ID. Nun kannst du innerhalb des GTM immer über diese Variable auf deinen UA-Code zurückgreifen.

Daten die sich im dataLayer befinden können über Variable des Typs „Datenschichtvariable“ herausgezogen werden. Du benötigst dazu den Namen der dataLayer Variable, dass ist der Schlüssel der Variable. Ist die dataLayer Variable nun als Variable festgelegt kannst du ihren Wert z.b. zur Triggersteuerung verwenden.

Datenschicht-Variable

Trigger

Ohne Trigger läuft gar nichts! Im Google Tag Manager definierst du Trigger für die Tags, mit denen du festlegst, wann die Tags ausgelöst werden.  D.h ohne Trigger ist jeder Tag wertlos da er nicht weiß wann er seine Information an z.b. ein Trackingtool senden soll.

Trigger senden an die mit ihnen verknüpften Tags ein „Stop or Go“ Signal. Trigger können somit nur den Wert „Wahr“ oder „Falsch“ annehmen. Hat ein Trigger den Wert “Wahr“ werden alle Tags, die mit diesem Trigger verknüpft sind, aktiviert d.h. ausgelöst.

Ein Tag kann mit mehreren Triggern verknüpft sein. Wenn auch nur eine der verknüpften Trigger den Wert „Wahr“ hat wird der Tag ausgelöst.

Wann nun ein Trigger den Wert „Wahr“ oder „Falsch“ aufweist hängt von den ihm zugeordneten Filtern ab. Jeder Filter ist nach folgendem Muster aufgebaut:

[Variable] [Operator] [Wert]

Beispiel:  url – enthält – danke-fuer-ihre-bestellung.html

D.h. ist die Variable „URL“ gleich „deinedomain.com/shop/danke-fuer-ihre-bestellung.html“ dann ist der Trigger „Wahr“ und der diesem Trigger zugeordnete Tag wird ausgelöst. Es lassen sich auch mehrere Filter pro Trigger angeben. Der Trigger wird dann aktiviert, wenn alle verknüpften Bedingungen zugleich erfüllt sind. Wann nun ein Trigger selbst aktiviert werden soll wird von sogenannten Ereignissen bestimmt.  Trigger werden bei jedem Ereignis, das auf einer Website stattfindet, geprüft. Stimmt ein Trigger mit dem definierten Ereignis überein, kommt es zur Auslösung.

Die Ereignisse werden in folgende Bereiche eingeteilt:

  • Seiten Ereignis
  • Klick Ereignis
  • Weitere Ereignisse
    • Änderungen der Browser History
    • Formular (Absenden eines Formulars)
    • Tracking von Fehlern (die durch JavaScript verursacht wurde)
    • Einsatz von Timern (nützlich für Countdowns)
    • Benutzerdefinierte Events

Seiten Ereignis

Als Seiten-Ereignis können folgende Ereignisse definiert werden


  • Seitenaufruf: Seite im Browser aufgerufen
  • DOM-Ereignis: Rendering im Browser abgeschlossen
  • Fenster geladen: Seite vollständig geladen, alle Bilder, alle CSS

Klick Ereignis

Klickt ein Nutzer auf einen Link oder auf jedes beliebige HTML-Element (Option „Alle Elemente“) wird das Klick-Ereignis ausgelöst.  Für das Klick-Ereignis stehen folgende Variablen zur Verfügung:


  • Click Element: das HTML-Element, auf das geklickt wurde
  • Click Classes: ein Array der Werte im Klassenattribut des Elements
  • Click ID: das ID-Attribut des angeklickten Elements
  • Click Target: das Target-Attribut des angeklickten Elements
  • Click URL: das HREF-Attribut des angeklickten Elements, falls vorhanden
  • Click Text: der sichtbare Text im angeklickten Element

Formular Ereignis

Das Formular Ereignis ist ein sogenannter Auto-Event. Es stellt folgende Variable zur Verfügung über die eine Triggeraktivierung bestimmt werden kann:


  • Form Element: das Formularelement, auf das geklickt wurde
  • Form Classes: ein Array der Werte im Klassenattribut des Formulars
  • Form ID: das ID-Attribut des Formularelements
  • Form Target: das Target-Attribut des Formularelements
  • Form URL: das HREF-Attribut des Formularelements, falls vorhanden
  • Form Text: der sichtbare Text im Formular

Fazit

Im Google Tag Manager wird mithilfe von Triggern, Variablen und einer Datenschicht das Auslösen von Tags auf der Website oder in der mobilen App festgelegt.  Mithilfe des dataLayers können Informationen aus der Anwendungsschicht herausgezogen und in Variablen gespeichert werden. Variable sind ein Grundbaustein des GTMs. Ein Trigger stellt eine Bedingung dar, die während der Laufzeit erfüllt ist oder nicht und somit ein Tag auslöst oder eben nicht. Die Bedingung wird durch den Wert der Variablen, die bei der Definition des Triggers festgelegt wurde, erzeugt.