7 min Lesezeit

Mit dem Data Layer den Google Tag Manager effektiv nutzen

Zuletzt aktualisiert: 12. Juni 2024
Inhaltsverzeichnis
Autor
Christoph Böcker
Gründer von growganic
Jetzt zum Newsletter anmelden und der Konkurrenz einen Schritt voraus sein!
Die growganic Community profitiert von exklusiven Inhalten, Tipps und Insights die die Konkurrenz nicht erhält. Melde dich jetzt an und sei besser als deine Wettbewerber!
Jetzt kostenlos beraten lassen
10% mehr Umsatz durch Conversion Optimierung

Unser ISER Framework: Datengetrieben zu mehr Umsatz, Wachstum und Profitabilität ohne mehr Zeit und Geld für Werbung ausgeben zu müssen.

Customer faces - CTA - Bereit für mehr Umsatz? (Schmal)

65+ erfolgreich betreute Kunden

Der Google Tag Manager ist für viele Webseiten- und Onlineshop-Betreiber ein mächtiges Werkzeug. Aber noch mächtiger wird er, wenn man weiß was ein Data Layer (auch dataLayer geschrieben) ist und wie man diesen nutzen kann.

Nach der Integration des Google Tag Manager lassen sich weitere Dienste wie der Facebook Pixel oder selbst geschriebene Skripte auf der Webseite integrieren, ohne dass man Änderungen am Quellcode durchführen muss.

Vor allem aber lassen sich dadurch (E-Commerce) Tracking Codes auf der Webseite oder Single Page Applications einfügen, um eine saubere Erfolgsmessung von Marketingkampagnen bewerkstelligen zu können

Außerdem kann mit dem Google Tag Manager auch der DSGVO-konforme Einsatz von Cookie Bannern sicher gestellt werden.

Mit Hilfe eines Data Layer kann der Google Tag Manager noch effektiver genutzt werden: Third-Party-Dienste wie der Facebook Pixel im Google Tag Manager lassen sich mit weiteren dynamischen Daten und Parameter deiner Webseite versorgen.

In diesem Artikel möchte ich dir gerne erklären, was ein Data Layer eigentlich genau ist, welche technische Funktion er übernimmt und wie du mit Hilfe des Data Layers dein Tracking verbessern kannst – nämlich dynamisch!

Zugegeben, der Artikel ist etwas technischer. Aber selbst für Marketer ohne Programmierfähigkeiten ist der Artikel (hoffentlich) interessant und sorgt für etwas mehr Klarheit, wie Daten von der Webseite oder dem Online Shop aufgegriffen, verarbeitet und an Tracking Codes gesendet werden können.

Was ist ein Data Layer und wozu brauche ich ihn?

Der Data Layer ist, wie der Name eigentlich schon erklärt, eine Datenschicht die sich zwischen deiner Webseite und einem Tag Management System wie dem Google Tag Manager befindet.

Dabei dient diese Datenschicht als eine Art Zwischenspeicher, aus welcher das Tag Management System sich bedienen und weitere Dienste wie den Facebook Pixel, Google Ads, Hotjar, Pinterest o.ä. mit weiteren Daten versorgen kann.

Das folgende Bild soll den Fluss von Daten und die „Position“ des Data Layers im Zusammenspiel zwischen Webseite und Google Tag Manager verdeutlichen:

Zusammenspiel zwischen Google Tag Manager und Data Layer
Zusammenspiel zwischen Google Tag Manager und Data Layer

Der größte Vorteil in der Verwendung eines Data Layer ist dabei die hohe Datenqualität: Da der Google Tag Manager die Daten aus dem Data Layer bezieht und an die Third-Party-Dienste weiter gibt, erhalten bspw. der Facebook Pixel und Google Ads gleiche Werte für Preise bei einem add_to_cart Event oder Kauf-Event.

Dadurch wird zum einen die angesprochene Qualität der Daten verbessert (überall fließen dieselben Informationen hin), zum anderen lässt sich aber auch das Management der anzusprechenden Dienste zentralisieren und vereinfachen.

Technisch gesehen ist ein Data Layer ein JavaScript-Objekt, in welchem Informationen und Daten gespeichert werden. Das kann entweder als Deklaration oder über die Funktion dataLayer.push() passieren – beides wird im nächsten Kapitel beschrieben.

Vom semantischen Aufbau kann ein Data Layer wie folgt aussehen:

<script>
  dataLayer = [{
    'pageCategory': 'signup',
    'visitorType': 'high-value'
  }];
</script>

Ich persönlich bin kein großer Freund der Data Layer Deklaration in dieser Form, da es bei Unachtsamkeit zu Problemen führen kann und der Aufbau sowie die Reihenfolge innerhalb des Quellcodes eine wichtige Rolle für die Funktionalität spielt.

Informationen in den Data Layer schreiben

Um Daten im Data Layer bereitzustellen oder verfügbar zu haben, gibt es zwei verschiedene Wege:

  • Data Layer Deklaration
  • dataLayer.push() Funktion

Data Layer Deklaration

Die Data Layer Deklaration ist eine Möglichkeit, Daten der Webseite für den Google Tag Manager bereitzustellen.

Der semantische Aufbau folgt dabei dem oben aufgezeigtem Snippet. Die Daten werden in den Data Layer geschrieben und sind dann, sobald der Google Tag Manager geladen wird, bereits für diesen vorhanden und lassen sich von ihm aufgreifen.

Hierbei ist wichtig, dass die Data Layer Deklaration niemals nach der Initialisierung des Google Tag Managers steht, da es sonst zu Fehlern kommen kann. Siehe dazu auch die offizielle Google Developer Seite zum Google Tag Manager und Data Layern.

Die richtige Reihenfolge wäre also

<script>
  dataLayer = [{
    'pageCategory': 'signup',
    'visitorType': 'high-value'
  }];
</script>
<!-- Google Tag Manager -->
...
<!-- End Google Tag Manager -->

Empfehlen würde ich dir allerdings immer, Daten über die dataLayer.push() Funktion zu schreiben, mit einem Event zu versehen und dann im Google Tag Manager aufzugreifen.

dataLayer.push() Funktion

Die dataLayer.push() Funktion ist eine andere Möglichkeit, Daten in den Data Layer zu schreiben. Dabei können Informationen, wie das .push() vermuten lässt, auch nachträglich in den Data Layer geschrieben und von dort verarbeitet werden.

Im Regelfall ist das die häufigste Art der Nutzung und unterscheidet sich vom semantischen Aufbau gegenüber der Deklaration:

<script>
	dataLayer.push({
	    'variable_name': 'variable_value'
	});
</script>

Die dataLayer.push() Funktion kann vor und nach der Initialisierung des Google Tag Managers erfolgen, ohne die Funktionalität zu beinträchtigen. Allerdings würde ich dir empfehlen die Funktionen immer erst nach der Initialisierung auslösen: Safety first. ?

Eine exemplarische dataLayer.push() Funktion für ein add_to_cart Event könnte dann so aussehen:

<script>
window.dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
window.dataLayer.push({
    event: "add_to_cart",
    ecommerce: {
        currency: "USD",
        value: 30.03,
        items: [{
            item_id: "SKU_12345",
            item_name: "Stan and Friends Tee",
            affiliation: "Google Merchandise Store",
            coupon: "SUMMER_FUN",
            discount: 2.22,
            index: 0,
            item_brand: "Google",
            item_category: "Apparel",
            item_category2: "Adult",
            item_category3: "Shirts",
            item_category4: "Crew",
            item_category5: "Short sleeve",
            item_list_id: "related_products",
            item_list_name: "Related Products",
            item_variant: "green",
            location_id: "ChIJIQBpAG2ahYAR_6128GcTUEo",
            price: 10.01,
            quantity: 3
        }]
    }
});
</script>

Das obere Beispiel ist der Code aus der offiziellen Google Analytics 4 Dokumentation.

Hierbei sieht man sehr schön, wie die dynamischen Werte der Produktseite aus dem Google Merchandise Store im Data Layer bereitgestellt werden und wie die Funktion mit dem 'event': 'add_to_cart' versehen ist.

Auf diese Events im Data Layer kannst du dann mit dem Google Tag Manager reagieren und bestimmte Aktionen ausführen, bspw. Daten an Google Analytics oder den Facebook Pixel schicken.

Außerdem sind dir, sofern du selbst etwas programmieren kannst oder einen Developer hast, kaum Grenzen gesetzt.

Du hast mehrere Newsletter-Formulare auf einer Seite und möchtest wissen, über welches der Formulare am meisten Anmeldungen generiert werden? Dafür schreibst du einfach eine dataLayer.push() Funktion, die immer nach dem erfolgreichen Formularversand ausgelöst wird und den Formulartyp oder -position beinhaltet.

Bei einem Formular im Inhaltsbereich wäre das dann zum Beispiel:

<script>
	window.dataLayer = window.dataLayer || [];
	window.dataLayer.push({
	    'event': 'newsletteranmeldung',
	    'newsletterlocation': 'contentarea'
	    
	});
</script>

Und bei dem Anmeldeformular im Footer:

<script>
	window.dataLayer = window.dataLayer || [];
	window.dataLayer.push({
	    'event': 'newsletteranmeldung',
	    'newsletterlocation': 'footer'
	    
	});
</script>

Diese Daten kannst du dann im Google Tag Manager aufgreifen indem du auf das 'event': 'newsletteranmeldung' reagierst und die Daten aus 'newsletterlocation' an Google Analytics übermittelst.

Den Data Layer mit dem Google Tag Manager nutzen

Aber hier beginnt die Magie des Zusammenspiels aus dataLayer und eines Tag Management Systems wie dem Google Tag Manager.

Die Daten aus dem Data Layer im Google Tag Manager aufzugreifen geht dabei recht einfach. Das funktioniert über Variablen, Trigger und Tags. Etwas ausführlicher habe ich das bereits in dem Artikel Den Google Tag Manager mit Shopify nutzen: Einrichtung, Funktionen, Limitierungen erklärt.

Daten aus dem Data Layer mit dem Google Tag Manager abholen

Für alle Variablen aus dem Data Layer musst du jetzt, im Google Tag Manager, eine passende Variable erstellen. Dabei können das recht einfache Variablen sein, beispielsweise newsletterlocation aus dem oben genannten Beispiel.

Eine einfache Variable des Data Layers im Google Tag Manager
Eine einfache Variable des Data Layers im Google Tag Manager

Für verschachtelte (nested) Variablen, ist der Aufbau etwas anders. Hier hangelst du dich den semantischen Pfad entlang bis zu dem Punkt, an welchem die Variable liegt.

In dem oben stehenden Beispiel des add_to_cart Events befindet sich beispielsweise der Produktname innerhalb einer Verschachtelung (JavaScript Objekt).

Um hier an den Produktnamen zu kommen, sieht die Variable im Google Tag Manager dann so aus: ecommerce.items.0.item_name

Eine verschachtelte Variable des Data Layers im Google Tag Manager
Eine verschachtelte Variable des Data Layers im Google Tag Manager

Denn wir wollen aus dem Objekt ecommerce, innerhalb des items das Produkt von Position 1 (da es ein JavaScript-Array ist, beginnt die Zählung bei 0 für Position 1) den item_name haben.

Das ist jetzt sehr technisch, aber (d)ein Developer kann dir sicherlich beim Aufbau des Codes helfen. Du kannst dich mit deinen Fragen auch gerne bei uns als Google Tag Manager Agentur melden oder unten kommentieren!

Nach diesem Prinzip legst du jetzt alle Variablen an, die in deinem Data Layer vorhanden sind, im Google Tag Manager verarbeitet und dann an andere Dienste geschickt werden sollen.

Das ist natürlich etwas manueller Aufwand, allerdings hat es einen großen Vorteil: Die Werte ändern sich dynamisch – in Abhängigkeit von der jeweiligen Seite.

Auf einer Produktseite X werden von deinem Developer oder Shopsystem die dynamischen Werte des Produktes X – wie beispielsweise SKU, Preis, Variante, … in den Data Layer geschrieben. Auf der Produktseite Y hingegen kommen dann die Werte des Produktes Y in den Data Layer. Die Variablen im Google Tag Manager bleiben allerdings immer gleich, da sie nur den semantischen Aufbau des Data Layers widerspiegeln.

Daten aus dem Data Layer an Google Analytics schicken

Nachdem du also alle Variablen angelegt hast, kannst du nun noch einen Trigger für das 'event': 'XXX' erstellen.

In unserem Fall wäre der Name des Events entweder newsletteranmeldung oder add_to_cart und der Trigger im Google Tag Manager sieht wie folgt aus:

Google Tag Manager - Event aus dem Data Layer aufgreifen
Google Tag Manager – Event aus dem Data Layer aufgreifen

Mit diesem Trigger löst du einen Tag aus, in welchem du dynamische Werte (nämlich die vorher angelegten Variablen) einsetzt.

Wir möchten jetzt alle Produkte in Google Analytics 4 erfassen, welche zum Warenkorb hinzugefügt worden sind. Dafür erstellen wir also einen Tag mit dem Ereignisnamen add_to_cart. Zusätzlich fügen wir drei Ereignisparameter und zugehörige Werte hinzu, nämlich:

  1. value -> {{dlv - ecommerce.value}}
  2. currency -> {{dlv - ecommerce.currency || EUR}}
  3. items -> {{dlv - ecommerce.items}}

Dies sind die offiziellen Event-Parameter von Google Analytics 4. Außerdem nutze ich bei der currency Variable immer noch gerne einen Standarwert mit EUR (oder der entsprechenden Währung des Kundenprojektes), daher heißt bei mir die Variable oben beim 2. Punkt etwas anders.

Auslösen soll der Tag immer dann, wenn das Data Layer Event add_to_cart ausgelöst wird (also immer dann, wenn jemand ein Produkt in den Warenkorb legt). Am Ende sieht der Tag dann so aus:

Google Tag Manager Ereignis für add_to_cart an Google Analytics schicken
Google Tag Manager Tag für add_to_cart an Google Analytics schicken
Jetzt kostenlos beraten lassen
10% mehr Umsatz durch Conversion Optimierung

Unser ISER Framework: Datengetrieben zu mehr Umsatz, Wachstum und Profitabilität ohne mehr Zeit und Geld für Werbung ausgeben zu müssen.

Customer faces - CTA - Bereit für mehr Umsatz? (Schmal)

65+ erfolgreich betreute Kunden

Fazit zur Nutzung von Data Layer und Google Tag Manager

Mit Hilfe eines Data Layer kann man dynamisch und einfach Daten von der Webseite über den Google Tag Manager an Third-Party-Dienste schicken. Natürlich bringt eine gute Integration auch einiges an initialem Aufwand mit sich, die Vorteile sind diesen Aufwand aber in jedem Fall wert.

Die Daten an die Third-Party-Dienste sind einheitlich und beinhalten dieselben Werte, mit Hilfe des GTM kannst du auf unterschiedliche Consent-Zustände des Webseitenbesuchers eingehen und die Datenqualität als auch die Trackingqualität können sich erhöhen.

Mit wenig programmiertechnischem Aufwand lassen sich auch komplexere Dinge erfassen, im Data Layer bereitstellen und über den Google Tag Manager verarbeiten.

Hast du schon einen Data Layer im Einsatz oder fehlt dir da aktuell noch der einfache Einstieg zu?

Lass es mich in den Kommentaren unten gerne wissen!

Geschrieben von
Geschrieben von
Feedback
Hinterlasse einen Kommentar

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

growganic GmbH hat 4,99 von 5 Sternen 34 Bewertungen auf ProvenExpert.com
🤫 Exklusive Inhalte zu datengetriebenem Wachstum, die du woanders nicht bekommst

Erhalte kostenlose Conversion Analysen, Insights, Cases, Test-Ideen und lerne, welche versteckten Strategien die besten Online Shops und Webseiten einsetzen, um mehr Conversions und Umsatz zu erzielen als ihre Konkurrenten.