Google Tag Manager
Ein Tool zur Verwaltung von Tracking-Tags, Pixeln und Code-Snippets auf Websites – mit weniger Abhängigkeit von Code-Deployments.
Eine JavaScript-Datenstruktur, die Informationen zwischen Website und Tag Management System austauscht – die Basis für zuverlässiges Tracking.
Der Data Layer ist eine JavaScript-Datenstruktur, die Informationen von deiner Website für Tracking-Tools bereitstellt. Statt dass ein Tag Manager HTML-Elemente auslesen muss, liefert der Data Layer relevante Daten strukturiert und konsistenter.
Ohne Data Layer:
// GTM muss HTML parsen
// Fragil: Bricht bei jedem Redesign
document.querySelector('.product-price').innerText
// → Preis als formatierter String statt strukturierter Zahl
Mit Data Layer:
// Strukturierte Daten, immer gleich
dataLayer.push({
event: 'view_item',
ecommerce: {
currency: currency_code,
value: item_value,
items: [{
item_id: item_sku,
item_name: item_name,
price: item_price
}]
}
});
Vorteile:
| Aspekt | Ohne Data Layer | Mit Data Layer |
|---|---|---|
| Zuverlässigkeit | oft fragiler | meist robuster |
| Redesign-sicher | häufig anfällig | besser entkoppelt |
| Datenqualität | leichter inkonsistent | besser standardisierbar |
| Debugging | oft schwieriger | meist transparenter |
| Zusammenarbeit | Konflikte | Klare Schnittstelle |
// Initialisierung vor dem Tag-Manager-Container
window.dataLayer = window.dataLayer || [];
// Daten pushen
dataLayer.push({
event: 'page_view',
page_type: 'product',
user_logged_in: true,
user_id: user_id
});
Der Data Layer ist häufig ein Array, in das Objekte gepusht werden. Der Tag Manager liest diese Objekte und reagiert auf Events.
Produktansicht:
dataLayer.push({
event: 'view_item',
ecommerce: {
currency: currency_code,
value: item_value,
items: [{
item_id: item_sku,
item_name: item_name,
item_brand: item_brand,
item_category: item_category,
price: item_price
}]
}
});
Zum Warenkorb:
dataLayer.push({
event: 'add_to_cart',
ecommerce: {
currency: currency_code,
value: item_value,
items: [{ /* wie oben */ }]
}
});
Kauf:
dataLayer.push({
event: 'purchase',
ecommerce: {
transaction_id: transaction_id,
value: order_value,
tax: tax_amount,
shipping: shipping_amount,
currency: currency_code,
items: [{ /* wie oben */ }]
}
});
Im Tag Manager erstellst du Variablen, die Data Layer Werte auslesen:
| Variable Name | Data Layer Variable Name | Beispielwert |
|---|---|---|
| DL - User ID | user_id | Nutzerkennung |
| DL - Page Type | page_type | Seitentyp |
| DL - Ecommerce Value | ecommerce.value | Warenkorb- oder Bestellwert |
| DL - Transaction ID | ecommerce.transaction_id | Transaktionskennung |
1. Vor GTM initialisieren:
<script>
window.dataLayer = window.dataLayer || [];
</script>
<!-- Tag-Manager-Container -->
2. Konsistente Namenskonvention:
// Gut: snake_case, konsistent
{ user_id: user_id, page_type: page_type }
// Schlecht: Gemischt
{ userId: user_id, 'page-type': page_type }
3. Ecommerce-Objekt leeren:
// Vor neuem E-Commerce Event
dataLayer.push({ ecommerce: null });
dataLayer.push({
event: 'view_item',
ecommerce: { /* ... */ }
});
4. Dokumentation:
Browser Console:
// Aktuellen Data Layer anzeigen
console.table(dataLayer);
// Auf Events lauschen
dataLayer.push = function(obj) {
console.log('Data Layer Push:', obj);
Array.prototype.push.call(this, obj);
};
Tag-Manager Preview Mode:
Chrome Extensions:
Der Data Layer ist wie ein Dolmetscher zwischen Website und Tracking: Statt dass jedes Tool die Seite selbst durchsucht, liefert der Data Layer alle Infos in einer gemeinsamen Sprache.
JavaScript-Datenstruktur, die Daten für Tag Manager und Tracking-Tools bereitstellt
Entkoppelt Tracking von Website-Struktur – robuster bei Redesigns
Ermöglicht konsistentes Tracking über alle Seiten und Events
E-Commerce Tracking
Produktdaten, Warenkorbwert und Transaktionen strukturiert übergeben
User-Daten
Login-Status, User-ID und Segmente für Personalisierung
Event-Tracking
Custom Events mit allen relevanten Parametern
A/B-Testing
Test-Varianten und Experiment-IDs für Analytics
Der Data Layer ist die Datenquelle auf der Website. Ein Tag Manager ist das Tool, das diese Daten liest und an Analytics-, Ads- oder andere Systeme weiterleitet.
Entwickler bauen den Data Layer in die Website ein. Marketing definiert, welche Daten benötigt werden. Zusammenarbeit ist entscheidend.
Ja, Tag Manager können auch DOM-Elemente direkt auslesen. Das ist jedoch oft fragiler, weil Layout- oder Markup-Änderungen Tracking-Regeln brechen können. Ein Data Layer ist meist robuster.
Browser Console, Tag-Manager-Preview-Modi und Debugging-Erweiterungen helfen. Wichtig ist, Events, Variablenwerte und Tag-Auslösung gemeinsam zu prüfen.