Das wichtigste in Kürze
Mithilfe des dataLayers können Sie Sitzungsdaten ohne Cookies zwischenspeichern und im weiteren Verlauf für verschiedene Aktionen im Google Tag Manager nutzen. Dafür müssen Sie die Daten lediglich mit einem dataLayer Push in der Datenschicht zwischenspeichern.
- Der dataLayer Push ist eine kleine JavaScript Funktion die dafür sorgt, dass Daten im JSON-Format in der Datenschicht gespeichert werden. Dadurch sind diese strukturiert und stehen u. a. dem Google Tag Manager für die Weiterverarbeitung in Tags, Triggern und Variablen zur Verfügung.
- Einrichtung des dataLayer Push: Sie können das JavaScript welches den dataLayer Push durchführt als benutzerdefiniertes HTML-Tag über den Google Tag Manager einbinden und somit die gesamte Logik über den Google Tag Manager abbilden.
- Häufige Fehler sind:
- Fehlen des Event Namens
- Überschreiben des dataLayers
- Falsche Variablennamen
- Falsches Timing
Lesedauer:
Übersicht
- Einleitung
- Was ist ein dataLayer Push?
- Wann ist ein dataLayer Push sinnvoll?
- Schritt-für-Schritt: So richten Sie einen dataLayer Push im Google Tag Manager ein.
- Häufige Fehler bei einem dataLayer Push
- FAQ: Meistgestellte Fragen zum dataLayer Push
Einleitung
Ein dataLayer Push gehört zu den wichtigsten Grundlagen, wenn Sie mit dem Google Tag Manager sauber und flexibel tracken möchten. Über den dataLayer (Datenschicht) können Sie Informationen von Ihrer Website an den Tag Manager übergeben, zum Beispiel Formularsendungen, Klicks, Nutzerdaten oder Login-Status.
Wichtig dabei: Der Google Tag Manager führt den dataLayer Push nicht selbst aus. Der Code für den Push kann aber über den Tag Manager auf Ihrer Seite platziert werden. Der Push passiert in Ihrem Website-Code. Der Tag Manager kann die Daten im dataLayer auslesen und nutzt sie für Trigger, Variablen und Tags.
In diesem How-To-Beitrag erfahren Sie Schritt für Schritt, wie Sie einen dataLayer Push über den Google Tag Manager korrekt einrichten und weiterverarbeiten.
Was ist ein dataLayer Push?
Der dataLayer ist eine JavaScript-Datenstruktur, über die Informationen an den Google Tag Manager übergeben werden können. Ein Push ist dabei das Hinzufügen neuer Datenobjekte in diesen Layer. Vereinfacht gesagt ist der dataLayer eine Liste von Schlüssel und Wert paaren. Dabei kann der Schlüssel zum Beispiel „Email“ und der Wert „tester@gmail.de“ lauten. Dies ermöglicht das temporäre Speichern von Daten ohne Cookies.
Ein typischer Push sieht so aus:
javascript
<script>
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'form_submit',
form_name: 'Kontaktformular',
form_location: 'Footer'
});
</script>
In diesem Beispiel werden drei Informationen übergeben:
- das Event form_submit
- der Formularname Kontaktformular
- die Position Footer
Der Google Tag Manager kann genau diese Werte später verwenden, um Tags oder Trigger auszulösen.
Der dataLayer sieht jetzt wie folgt aus:
JSON
[{
„event“:“form_submit“,
„form_name”:”Kontaktformular“,
„form_location“: „Footer“,
}]
Sie sehen, dass die Daten nun in einem strukturierten Format vorliegen. Das ermöglicht es Programmiersprachen wie zum Beispiel JavaScript auf relevante Daten zuzugreifen.
Wann ist ein dataLayer Push sinnvoll?
Ein dataLayer Push ist immer dann sinnvoll, wenn Standard-Trigger nicht ausreichen oder wenn Sie Daten strukturiert und zuverlässig an den Tag Manager übergeben möchten.
Typische Anwendungsfälle sind:
- Formular erfolgreich abgeschickt
- Produktdaten im Shop
- Login oder Registrierung
- Lead- oder Conversion-Events
- Enhanced Conversion Tracking für Google Ads
Gerade bei komplexeren Websites ist der dataLayer meist die sauberste Lösung, weil Sie Tracking nicht auf fragile CSS-Selektoren oder Klickmuster stützen müssen.
Schritt-für-Schritt: So richten Sie einen dataLayer Push im Google Tag Manager ein.
Voraussetzungen
Bevor Sie starten, sollten folgende Punkte erfüllt sein:
- Der Google Tag Manager ist auf der Website eingebunden.
- Sie haben Zugriff auf den Website-Code oder auf das Entwicklerteam.
- Sie wissen, welches Ereignis getrackt werden soll.
- Sie kennen die Werte, die an den Tag Manager übergeben werden sollen.
Schritt 1: Den dataLayer Push erstellen
Öffnen Sie den Google Tag Manager und wählen Sie im Reiter „Variablen“ -> „Neu“.
Dort wählen Sie den Tag-Typ „Benutzerdefiniertes HTML“.
In diesem Eingabefeld können Sie nun Custom JavaScript einfügen. Genau das ist nötig, um einen dataLayer Push durchzuführen.
Dort definieren Sie nun das eigentliche Ereignis. Entscheidend ist dabei das Feld „event“, denn dieses kann später im Google Tag Manager als Trigger verwendet werden.
Einfaches Beispiel für einen dataLayer Push
javascript
<script>
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: ‘email_ready',
email: ‘test@gmail.de’
});
</script>
Im Tag Manager:

Hier wird ein Event mit dem Namen ‚email_ready‘ an den Tag Manager übergeben. Zusätzlich wird die E-Mail Adresse mitgesendet.
In einer Produktivumgebung wollen Sie natürlich nicht immer die E-Mail „test@gmail.de“ mitsenden sondern den Wert dynamisch befüllen. Geben Sie dafür dem Input Feld welches die E-Mail Adresse beinhaltet die ID „email_input“ und ändern Sie Ihr Skript wie folgt:
javascript
<script>
window.dataLayer = window.dataLayer || [];
var email_input = document.getElementById("email_input");
if (email_input) {
window.dataLayer.push({
event: "email_ready",
email: email_input.value
});
}
</script>
Nun wird jedes Mal wenn dieses Skript aufgerufen wird, die tatsächliche E-Mail, die bspw. von einem Nutzer in das Input-Feld geschrieben wurde, gesendet.
Schritt 2: Prüfen, ob der Push im dataLayer ankommt
Bevor Sie im Google Tag Manager weiterarbeiten, sollten Sie prüfen, ob das Event technisch wirklich gesendet wird.
Das geht über die Browser-Konsole. Nachdem Sie das Event ausgelöst haben öffnen Sie die Entwicklertools und geben unter dem Reiter „Console“ Folgendes ein:

Sie sehen nun die Einträge, die bereits im dataLayer vorhanden sind. Wenn Ihr Event korrekt ausgelöst wurde, sollte dort auch das entsprechende Objekt auftauchen:

Schritt 3: Variablen im Google Tag Manager anlegen
Damit der Tag Manager auf Werte wie form_name, button_text oder email zugreifen kann, müssen Sie passende Datenschicht-Variablen anlegen.
So gehen Sie vor:
Datenschichtvariable erstellen
- Öffnen Sie Ihren Google Tag Manager Container.
- Gehen Sie zu Variablen.
- Klicken Sie unter „Benutzerdefinierte Variablen“ auf Neu.
- Wählen Sie als Variablentyp Datenschichtvariable.
- Tragen Sie exakt den Namen des Schlüssels ein, zum Beispiel:
- button_text
- form_name
Wichtig ist, dass der Variablenname exakt dem Key im Push entspricht. Groß- und Kleinschreibung zählen.
Schritt 4: Custom Event Trigger im Google Tag Manager erstellen
Damit ein Tag auf den dataLayer Push reagiert, brauchen Sie einen Trigger vom Typ Benutzerdefiniertes Ereignis.
So richten Sie den Trigger ein
- Gehen Sie zu Trigger.
- Klicken Sie auf Neu.
- Wählen Sie als Trigger-Typ Benutzerdefiniertes Ereignis.
- Tragen Sie beim Ereignisnamen exakt den Wert aus dem event-Feld ein, zum Beispiel:
- email_ready
- Speichern Sie den Trigger.
Damit hört der Google Tag Manager genau auf dieses dataLayer Event.
Schritt 5: Tag mit dem Trigger verknüpfen
Jetzt können Sie das gewünschte Tag mit dem Trigger verbinden, zum Beispiel ein GA4-Event.
Beispiel: GA4-Event-Tag
Sie erstellen ein Google Analytics 4 Event und tragen dort Werte aus dem dataLayer als Parameter ein.
Beispielhafte Konfiguration:
- Event Name: email_ready
- Event Parameter:
- email = {{DL – email}}
Anschließend weisen Sie dem Tag den zuvor erstellten Custom Event Trigger zu.
Schritt 6: dataLayer Push im Preview Mode testen
Bevor Sie veröffentlichen, sollten Sie die Implementierung im Vorschau-Modus des Google Tag Managers testen.
So prüfen Sie die Funktion:
- Klicken Sie im Google Tag Manager auf Vorschau.
- Verbinden Sie Ihre Website mit Tag Assistant.
- Lösen Sie die Aktion auf der Website aus, etwa den Klick oder die Formularsendung.
- Prüfen Sie im Debug-Modus:
- ob das Event erscheint
- ob der Trigger ausgelöst wird
- ob das gewünschte Tag feuert
- ob die Variablen korrekt befüllt sind

Gerade dieser Schritt ist wichtig, weil Sie so sofort sehen, ob Eventname, Variablen und Trigger zusammenpassen.
Häufige Fehler bei einem dataLayer Push
In der Praxis scheitert die Implementierung oft an kleinen Details. Diese Fehler kommen besonders häufig vor:
Der event-Name fehlt
Ohne event kann der Google Tag Manager keinen Custom Event Trigger auslösen:
Falsch:
javascript
window.dataLayer.push({
form_name: 'Kontaktformular'
});
Richtig:
javascript
window.dataLayer.push({
event: 'form_submit',
form_name: 'Kontaktformular'
});
Der dataLayer wird überschrieben
Problematisch ist zum Beispiel dieser Code:
javascript
dataLayer = [];
Damit können bestehende Daten verloren gehen. Verwenden Sie stattdessen immer:
javascript
window.dataLayer = window.dataLayer || [];
Variablennamen stimmen nicht exakt überein
Wenn im Push „form_name“ steht, muss auch die Data Layer-Variable genau so heißen. Schon kleine Abweichungen führen dazu, dass im GTM kein Wert ankommt.
Der Push erfolgt zum falschen Zeitpunkt
Ein Event sollte genau dann gepusht werden, wenn die Aktion tatsächlich abgeschlossen ist. Bei Formularen also idealerweise nach erfolgreichem Versand und nicht schon beim Klick auf den Senden-Button.
Best Practices für sauberes Tracking
Ein dataLayer Push funktioniert am besten, wenn Sie ihn strukturiert und konsistent aufbauen.
Darauf sollten Sie achten:
Eindeutige Event-Namen verwenden
Nutzen Sie klare Namen wie:
- form_submit
- cta_click
- file_download
- purchase
So bleibt Ihr Setup verständlich und wartbar.
Einheitliche Benennung pflegen
Bleiben Sie bei einem festen Schema für Keys, zum Beispiel:
- page_type
- button_text
- form_name
Nicht in einem Push buttonText und im nächsten button_text.
Nur relevante Daten übergeben
Der dataLayer sollte nicht mit unnötigen Informationen überladen werden. Übergeben Sie nur Werte, die Sie später wirklich im Tag Manager oder in Analytics benötigen.
Gemeinsam mit Entwicklern abstimmen
Gerade bei größeren Projekten lohnt sich ein Tracking-Konzept, in dem Eventnamen, Variablen und Auslösebedingungen dokumentiert sind. Das reduziert Fehler und erleichtert die spätere Analyse.
Fazit
Ein dataLayer Push ist eine der saubersten Methoden, um Informationen an den Google Tag Manager zu übergeben. Die Grundlogik ist einfach:
- Daten per JavaScript in den dataLayer pushen
- Im Google Tag Manager passende Data Layer-Variablen anlegen
- Einen Custom Event Trigger erstellen
- Das gewünschte Tag damit auslösen
- Alles im Preview Mode testen
Wenn Sie diesen Ablauf sauber umsetzen, erhalten Sie ein deutlich robusteres und flexibleres Tracking als mit rein klickbasierten Lösungen.
FAQ: Meistgestellte Fragen zum dataLayer Push
Häufige Fragen
Der dataLayer ist die Datenstruktur selbst. Ein dataLayer Push ist das Hinzufügen neuer Informationen in diese Struktur.
Nicht zwingend. Wichtig ist, dass der dataLayer korrekt vorhanden ist. Der GTM kann auch Daten verarbeiten, die vor seinem vollständigen Laden in den dataLayer geschrieben wurden.
Häufige Ursachen sind ein falscher Eventname, ein fehlendes event-Feld, Tippfehler bei Variablen oder ein Push, der gar nicht ausgelöst wird.
Ja, das ist sogar üblich. Neben dem event können Sie beliebig viele zusätzliche Parameter mitschicken, solange sie sinnvoll strukturiert sind.
Ja. Gerade bei GA4 ist der dataLayer sehr hilfreich, um Events und Parameter sauber an den Google Tag Manager und anschließend an Analytics zu übergeben.
