GTM & GA4 Datalayer im Matomo-Tracking: So geht’s einfach!
Management Summary
Wenn du Google Tag Manager (GTM) und Google Analytics 4 (GA4) nutzt, hast du wahrscheinlich bereits einen robusten Datalayer auf deiner Website implementiert. Dieser Datalayer sammelt wichtige Daten wie Klicks, Formular-Abschlüsse oder E-Commerce-Interaktionen. Die gute Nachricht? Du musst dieses System nicht neu aufbauen, wenn du zusätzlich oder stattdessen Matomo verwenden möchtest.
In diesem Artikel erfährst du, wie du deinen bestehenden GA4-Datalayer automatisch für Matomo nutzen kannst. Das spart Zeit, vermeidet Redundanz und stellt sicher, dass deine Daten in beiden Systemen konsistent sind.
Die Rolle des Datalayers im Web-Tracking
Ein Datalayer dient als temporärer Datenspeicher auf einer Webseite. Er ist ein JavaScript-Objekt, das Informationen über Benutzerinteraktionen sammelt und diese für Tag-Management-Systeme zugänglich macht. Anstatt manuelle Scripts für jede Aktion zu erstellen, werden Daten in einem standardisierten Format in den Datalayer “gepusht”. Tag-Manager wie GTM oder Matomo können diese Daten dann abrufen und an die jeweiligen Analyse-Tools senden.
Die Verwendung eines Datalayers bietet folgende Vorteile:
- Konsistenz: Alle Tags greifen auf dieselbe Datenquelle zu.
- Flexibilität: Tags können ohne Änderungen am Website-Code hinzugefügt oder modifiziert werden.
- Effizienz: Die Tracking-Implementierung wird zentralisiert und skalierbar.
Die Herausforderung der Datalayer-Kompatibilität
Google Tag Manager nutzt den Datalayer mit dem Standardnamen dataLayer, während Matomo den eigenen Datalayer namens _mtm verwendet. Eine manuelle Duplizierung der Daten in beide Datalayer ist mit doppeltem Aufwand und einem erhöhten Fehlerrisiko verbunden.
In Matomo kann beim Erstellen eines Containers die folgende Option aktiviert werden:
Diese Option scheint aber nicht immer verlässlich und nicht immer alle Ereignisse zu synchronisieren.
Falls die Option nicht zuverlässig funktioniert, gibt es zur Lösung dieses Problems ein Script, das eine automatische Synchronisation beider Datalayer ermöglicht.
Die Lösung: Datalayer-Synchronisation per Script
Das folgende Script synchronisiert die Datalayer, indem es jeden push()-Befehl im GTM-Datalayer direkt an den Matomo-Datalayer weiterleitet. Das Script sollte auf der Webseite vor dem Matomo-Tracking-Code platziert werden, idealerweise direkt nach dem GTM-Container-Code. Es kann auch innerhalb Matomo in einen Custom HTML Tag integriert werden.
Funktionsweise des Scripts
- Datalayer-Initialisierung: Das Script stellt die Existenz beider Datalayer (dataLayer und _mtm) sicher.
- push-Methode ersetzen: Die ursprüngliche push-Methode des dataLayer-Arrays wird gespeichert und durch eine neue Funktion ersetzt.
- Synchronisierung: Die neue push-Funktion prüft, ob das gepushte Objekt ein event enthält. Ist dies der Fall, wird das Objekt zusätzlich in den Matomo-Datalayer _mtm geschrieben. Anschließend wird die ursprüngliche push-Methode aufgerufen, um die Funktionalität eines ggf. implementierten GTM Containers nicht zu beeinträchtigen.
- Verarbeitung vorab vorhandener Einträge: Eine forEach-Schleife verarbeitet bereits im dataLayer vorhandene Ereignisse, falls das Script nach diesen geladen wird.
Konfiguration in Matomo Tag Manager
Nach der Implementierung des Scripts müssen in Matomo Tag Manager (MTM) die entsprechenden Tags und Trigger konfiguriert werden. Die Ereignisnamen aus dem GA4-Datalayer sind nun im Matomo-Datalayer verfügbar.
1. Trigger erstellen
Im Matomo Tag Manager wird ein neuer Trigger vom Typ Ereignis-Datenschicht erstellt. Der Datenschicht-Ereignisname muss exakt mit dem event-Namen aus dem GA4-Datalayer übereinstimmen (z.B. add_to_cart, purchase).
2. Variablen definieren
Für die Übertragung zusätzlicher Daten werden Datenschicht-Variablen angelegt. Der Variablenname muss dem Schlüssel im Datalayer entsprechen (z.B. page_location, ecommerce.items.0.item_name).
3. Tag konfigurieren
Ein Matomo Analytics Tag müsste dann noch erstellt werden. Er wird mit dem zuvor definierten Trigger verknüpft und die Datalayer-Variablen werden den entsprechenden Matomo-Feldern zugewiesen (z.B. Ereignis-Kategorie, Ereignis-Aktion).
Durch diese Konfiguration werden die Matomo-Tags automatisch ausgelöst und mit denselben Daten befüllt, die auch für GA4 verwendet werden.
Fazit
Die Synchronisation des GTM- und Matomo-Datalayers stellt eine effiziente Methode dar, um die Tracking-Infrastruktur zu vereinheitlichen. Sie reduziert den Implementierungsaufwand und sorgt für eine konsistente Datenbasis in beiden Systemen. Das gezeigte Script schafft die technische Basis, um die Vorteile beider Tools auf einer gemeinsamen Datenplattform zu nutzen.