Deshalb solltest Du Google Analytics nur noch über den Tag Manager einbinden

Geschrieben von Nico Zorn veröffentlich am in der Kategorie Allgemein
Google Analytics kann man auf verschiedene Arten in eine Website einbinden. In professionellen Kreisen wird meist der Google Tag Manager (GTM) eingesetzt und auch ich empfehle inzwischen nur noch diese Methode. Denn der Tag Manager erleichtert vieles und erlaubt es oft, bestimmte Handlungen ohne ein neues Release zu erfassen. Neuere Features erlauben auch das Tracking von Videos, Scrolling und Sichtbarkeit mit vorgefertigten Elementen. 

Was ist der GTM?

Der Google Tag Manager ist ein Container. Ähnlich wie ein leerer Karton bringt es nichts, ihn einfach so einzubinden: Man muss ihn auch füllen. Das geht mit verschiedenen Code-Schnipseln, basierend auf JavaScript.

 

 

Über den GTM können so Scripts eingebunden werden, ohne direkt am Quellcode der Seite zu arbeiten. Dazu stehen Variablen, Trigger und Tags zur Verfügung:

  • Variablen werden mit weiterverwertbaren Werten gefüllt;
  • Trigger bestimmen Auslösebedingungen;
  • und Tags werden ausgeliefert, wenn ein bestimmter Trigger erfüllt ist.

 

Was macht den GTM so gut?

Ein Caveat vorweg: Ohne jegliches technisches Verständnis kann man den Google Tag Manager nicht komplett nutzen. Erst grundlegendes Verständnis von Variablen und Logik im Kontext von Programmierung erschließen die ganze Macht des Tools. Und JavaScript kommt schnell dazu, um alle Möglichkeiten auszuschöpfen. Aber auch so bietet der GTM viele Vorteile.

 

Vorgefertigte Elemente

Denn im GTM muss man nicht alles von null an bauen. Viele Tags, Trigger und auch Variablen sind vorgefertigt und können mit einem Click aktiviert werden. Diese Elemente greifen auf typische Werte zu, die häufig benötigt werden: die aktuelle URL, die CSS-Klasse oder ID eines geklickten Elements, Variablen im dataLayer …

Ein Beispiel für ein vorgefertigtes Tag (Hotjar):

 

 

 

 

Hier ist der bereitgestellte Tag für das HotJar-Tracking ausgewählt. (Vorgefertigte Tags sind also nicht auf Google-Dienste beschränkt und werden auch fortlaufend erweitert.) Ich muss nur noch die Hotjar Site ID einfügen und einen sinnvollen Trigger auswählen, fertig. Im simpelsten Fall ist das Alle Seiten.

Im Beispiel gibt es einen Extra-Kniff: Statt einer fixen ID ist hier eine {{Variable}} in geschweiften Klammern hinterlegt. So kann ich ein Tag für alle Seiten benutzen, die ID jedoch je nach Domain (bzw. Hostname oder auch URL) festlegen. Das ist viel besser als irgendwann 50 Hotjar-Tags rumfliegen zu haben! Extra-Clever: Den Code nur dann ausliefern, wenn die Variable aktuell einen Wert hat. Auch das ist mit ein Paar Klicks möglich.

 

Unabhängig von der Website

Ein Hauptvorteil gerade für Marketing-Abteilungen: Das Release des Tag Managers ist unabhängig von einem Release der Website . Wir wollen einen Facebook-Pixel einbauen? Kein Problem: Statt auf den nächsten Website-Release in zwei Wochen zu warten, bauen wir ihn ein und veröffentlichen die neue GTM-Version.

 

Versionierung & Vorschau

Version ist auch das nächste Stichwort. Ich kann beliebig viele Änderungen im GTM vornehmen. Mittels Preview-Funktion kann ich aktionsgenau sehen, welche Tags gefeuert werden und welche Werte meine Variablen haben. So kann ich direkt testen, ob alles funktioniert wie gewünscht.

Live werden diese Änderungen allerdings erst, wenn ich die neue Version veröffentliche; bis dahin liefert das Container-Snippet die zuletzt veröffentlichte Version aus. Geht doch einmal etwas schief, kann ich auch eine alte Version wiederherstellen. Idealerweise habe ich neben der automatischen Versionsnummer und Datum einen guten Namen vergeben und eine Zusammenfassung der Änderungen geschrieben.

 

Umbenennungen & automatischer Test

Apropos Versionierung: Wer hat noch nie einen Tippfehler gemacht? Einmal eine Variable falsch geschrieben – und nun muss man sie immer falsch schreiben oder mühsam alle Vorkommen korrigieren. Oh weh!

Der Tag-Manager macht das einfacher: Benenne ich eine Variable oder einen Trigger um, werden gleich alle Vorkommen entsprechend umbenannt . Und habe ich eine Referenz zu einer nicht existierenden Variable eingefügt, dann verweigert der GTM die Veröffentlichung.

 

Rechtemanagement

Und wer kann Änderungen vornehmen? Jeder mit entsprechenden Rechten, die ähnlich wie in Analytics vergeben werden. Einzelne Google-User können pro Container Read/Edit/Approve/Publish-Rechte besitzen.

So ist es also möglich, technisch nicht versierten Nutzern das Editieren zu ermöglichen aber die Abnahme und Veröffentlichung in Hände zu geben, die auf Fehler prüfen und entsprechend korrigieren. Ebenfalls möglich ist es, mit mehreren Abteilungen am gleichen Container zu arbeiten.

Das bringt natürlich das Potenzial, Zeit und Geld zu sparen, da man nicht alles an einzelne Personen weitergehen muss. Gute Dokumentation in der Versionierung, Absprachen und Zusammenarbeit sollten allerdings Pflicht sein.

 

dataLayer und andere Variablen

Langsam kommen wir in einen richtig technischen Bereich. Der dataLayer ist ein JSON-Array, über den mit JavaScript zugegriffen werden kann. Das kann nicht nur der GTM, aber dieser verfügt über Anbindungen und kann die entsprechenden Variablen im dataLayer direkt auslesen und weiterverwenden .

Manche Informationen kann man über CSS-Selektoren ermitteln, häufig z. B. den Autor oder das Veröffentlichungsdatum einer Seite. Andere stehen vorgefertigt bereit (z. B. Page Title, Page URL). Manchmal möchte man nach außen unsichtbare Informationen erfassen, z. B. die Kunden-ID. Diese kann man dann per dataLayer aus dem eigenen System heraus übergeben und via GTM in Google Analytics erfassen. Auf diese Art kann man zum Beispiel Content Groups definieren und das (Enhanced) eCommerce in vielen Shops läuft über diese Methode. Zunehmend stellt Google so auch Anbindungen an eigene APIs zur Verfügung, jüngst z. B. für YouTube Videos

Alle Variablen kann man in Tags direkt ausspielen oder über Lookup-Tabellen Werte zuweisen, übersichtlich an einer zentralen Stelle. Und ohne dass der Programmierer den finalen Output festlegen muss oder ein Release notwendig wird.

 

Auch über den GTM selber kann man den dataLayer befüllen. Ein Beispiel dazu findet sich im Artikel zum Universellen Tag für Analytics-Events.