Zum Inhalt springen
Shopware 6 Handbuch

Google Tag Manager + GA4 E-Commerce Tracking

Google Tag Manager einbinden, ohne dein Template anzufassen: Das Plugin liefert GA4 Kaufdaten von der Produktansicht bis zum Kauf und lädt erst nach der Zustimmung im Cookie-Banner.

Version 6.7.16 Kompatibel mit 6.7.12 und neuer 47 Min. Lesezeit
Auf dieser Seite

Einleitung

Dieses Plugin bindet den Google Tag Manager in deinen Shopware-6-Shop ein und liefert ihm die Daten, die du für die Auswertung deines Shops brauchst. Du trägst einmal deine Container-ID ein — den Rest übernimmt das Plugin.

Was du mit diesem Plugin erreichst

  • Du bindest den Google Tag Manager ein, ohne eine Zeile Code im Template zu ändern.
  • Du siehst in deiner Auswertung, welche Produkte angesehen, in den Warenkorb gelegt und gekauft werden — mit Name, Nummer, Preis, Marke und Kategorie.
  • Du bekommst die typischen Schritte des Kaufvorgangs mitgeliefert: Produktlisten und Suchergebnisse, Produktansicht, Warenkorb, Kasse, Versand- und Zahlungsauswahl, Kaufabschluss und Stornierung.
  • Du erfasst zusätzlich Klicks auf Produkte in Listen und Klicks auf „Zur Wunschliste hinzufügen”.
  • Du entscheidest je Verkaufskanal getrennt, ob und mit welchem Container getrackt wird.
  • Du bleibst DSGVO-konform: Das Plugin meldet Google von sich aus, dass zunächst nichts erlaubt ist, und gibt Analyse und Werbung erst frei, nachdem der Besucher zugestimmt hatmit jedem gängigen Cookie-Werkzeug, nicht nur mit dem von Shopware.
  • Du kannst die übermittelten Daten später frei anpassen und erweitern — direkt in der Administration, ohne Programmierung.

Für wen ist dieses Plugin?

Für Shop-Betreiber und Marketing-Verantwortliche, die ihren Shop mit Google Analytics 4, Google Ads oder anderen über den Google Tag Manager eingebundenen Diensten auswerten möchten. Für den Einstieg reicht die Container-ID. Wer tiefer eingreifen will, findet in der Administration alle Bausteine dafür — muss es aber nicht.

Was du außerhalb von Shopware brauchst: ein Google-Tag-Manager-Konto mit einem angelegten Container. Das Plugin stellt die Daten deines Shops bereit; welche Auswertung damit ausgeführt wird — etwa Google Analytics 4 oder Google Ads — richtest du im Container ein, nicht in Shopware. Ohne diesen Schritt im Google Tag Manager fließen zwar Daten aus dem Shop, kommen aber in keiner Auswertung an.

Installation

Nach dem Kauf steht dir das Plugin direkt in deiner Administration zur Verfügung — du musst nichts herunterladen.

  1. Melde dich in deiner Shopware-Administration an.
  2. Öffne Erweiterungen → Meine Erweiterungen.
  3. Suche in der Liste den Eintrag Google Tag Manager + GA4 E-Commerce Tracking und klicke daneben auf Installieren.
  4. Schalte den Schalter links neben dem Eintrag ein, um das Plugin zu aktivieren.

Meine Erweiterungen mit installiertem und aktiviertem Plugin Abb. 1: Das Plugin ist installiert und über den Schalter links aktiviert. Rechts siehst du die Version und den Link Konfigurieren.

Ist der Schalter blau, läuft das Plugin. Über Konfigurieren kommst du direkt zu den Einstellungen — dieselbe Seite erreichst du später jederzeit über Einstellungen → Erweiterungen → Google Tag Manager + GA4 E-Commerce Tracking.

Taucht das Plugin nicht in der Liste auf, ist dein Shopware-Account noch nicht mit dem Shop verbunden. Das erledigst du unter Erweiterungen → Meine Erweiterungen im Reiter Shopware Account.

Direkt nach der Installation ist das Plugin bereits vorkonfiguriert: Alle wichtigen Shop-Seiten sind mit den passenden Tracking-Daten hinterlegt. Es fehlt nur noch deine Container-ID.

Hinweis beim Aktualisieren einer älteren Fassung: Deine bisherigen Einstellungen werden automatisch übernommen — je Verkaufskanal einzeln. Dein Shop verhält sich nach der Aktualisierung genauso wie vorher. Die neuen Möglichkeiten aus Cookie-Consent schaltest du bewusst ein, wenn du sie brauchst; von allein ändert sich nichts.

Erste Schritte

Drei Angaben genügen, damit der Google Tag Manager in deinem Shop lädt und deine Auswertung Daten bekommt.

Schritt 1: Container-ID besorgen

Die Container-ID vergibt Google. Du findest sie im Google-Tag-Manager-Konto, nachdem du dort einen Container für deinen Shop angelegt hast. Sie beginnt mit GTM-.

Schritt 2: Verkaufskanal wählen

Öffne Einstellungen → Erweiterungen → Google Tag Manager + GA4 E-Commerce Tracking.

Alle Einstellungen dieses Plugins gelten je Verkaufskanal. Ganz oben auf der Seite steht die Auswahl des Verkaufskanals, standardmäßig auf Alle Verkaufskanäle. Was du bei dieser Auswahl einträgst, gilt für jeden Kanal, der nichts Eigenes hinterlegt hat. Schaltest du oben auf einen einzelnen Kanal um, gelten die dort eingetragenen Werte nur für diesen einen Shop.

Betreibst du nur einen Shop, bleibst du einfach bei Alle Verkaufskanäle.

Schritt 3: Container-ID eintragen und speichern

Karte „Grundeinstellungen" mit Verkaufskanal-Auswahl, Aktiv-Schalter und GTM Container ID Abb. 2: Die Karte Grundeinstellungen. Oben die Auswahl des Verkaufskanals, darunter die Schaltfläche zur Dokumentation, der Schalter Plugin für diesen Verkaufskanal aktivieren und das Feld GTM Container ID.

  1. Trage deine Container-ID in das Feld GTM Container ID ein (Beispiel: GTM-ABC1234).
  2. Prüfe, dass der Schalter Plugin für diesen Verkaufskanal aktivieren eingeschaltet ist. Das ist er von Haus aus.
  3. Klicke oben rechts auf Speichern.

Solange dieses Feld leer ist, tut das Plugin in diesem Verkaufskanal nichts: Es wird kein Google Tag Manager geladen, es werden keine Daten übertragen, und es erscheint auch kein zusätzlicher Eintrag im Cookie-Banner.

Schritt 4: Festlegen, woher die Zustimmung kommt

Diesen Schritt musst du nur dann anfassen, wenn in deinem Shop ein anderes Cookie-Werkzeug läuft als das von Shopware mitgelieferte.

Von Haus aus meldet das Plugin an Google zuerst: noch ist nichts erlaubt. Der Container wird zwar sofort geladen, seine Analyse- und Werbe-Tags bleiben aber gesperrt, bis jemand die Zustimmung des Besuchers meldet. Diese Zustimmung liest das Plugin von Haus aus aus dem mitgelieferten Cookie-Banner von Shopware — nutzt du dieses Banner, ist hier nichts zu tun. Setzt du ein anderes Cookie-Werkzeug ein, sagst du dem Plugin einmal, welches.

Öffne dazu die Karte Cookie Consent Konfiguration und stelle Einwilligungssignal auswerten aus passend ein:

  • Du nutzt das mitgelieferte Cookie-Banner von Shopware → Shopware Cookie-Consent (so ist es voreingestellt)
  • Du nutzt Cookiebot, Cookie Script, consentmanager.net oder Usercentrics → den jeweiligen Eintrag
  • Dein Cookie-Werkzeug meldet die Zustimmung bereits selbst an Google → Consent-Werkzeug regelt das
  • Du nutzt ein anderes Werkzeug → Eigene Regel, siehe Cookie-Consent

Wichtig: Stellst du bewusst auf Consent-Werkzeug regelt das um, muss dein Werkzeug die Zustimmung auch wirklich selbst an Google melden. Tut es das nicht, bleiben Analyse und Werbung dauerhaft gesperrt — der Shop funktioniert normal, deine Auswertung bleibt aber leer. Welche Einstellung zu deinem Shop passt, steht ausführlich in Cookie-Consent.

Damit ist die Einrichtung in Shopware abgeschlossen. Welche Auswertung dein Container ausspielt, legst du im Google Tag Manager fest.

Konfiguration im Detail

Die Einstellungen findest du unter Einstellungen → Erweiterungen → Google Tag Manager + GA4 E-Commerce Tracking. Sie sind in drei Karten unterteilt: Grundeinstellungen, Cookie Consent Konfiguration und TagManager Script manipulieren.

Denk daran: Oben auf der Seite wählst du den Verkaufskanal, für den die Einstellungen gelten sollen.

Karte „Grundeinstellungen”

Diese Karte enthält alles, was du im Alltag brauchst (siehe Abb. 2).

zur Dokumentation

Ganz oben in der Karte liegt die Schaltfläche zur Dokumentation. Sie öffnet diese Anleitung online — in der Sprache, in der du die Administration bedienst.

Plugin für diesen Verkaufskanal aktivieren

Mit diesem Schalter legst du fest, ob das Tracking in dem oben gewählten Verkaufskanal überhaupt stattfindet. Ist er ausgeschaltet, lädt dieser Kanal weder den Google Tag Manager noch die Tracking-Daten, und es wird auch nichts ins Cookie-Banner eingetragen. Andere Verkaufskanäle bleiben davon unberührt. Von Haus aus ist der Schalter eingeschaltet.

Wozu das gut ist: Du betreibst neben deinem Verkaufsshop einen internen oder einen B2B-Kanal, den du nicht mitmessen willst. Statt das Plugin zu deinstallieren, schaltest du es dort einfach aus. Genauso praktisch, wenn du das Tracking vorübergehend stilllegen möchtest.

GTM Container ID

Hier trägst du die Kennung deines Google-Tag-Manager-Containers ein, zum Beispiel GTM-ABC1234. Ohne diese Angabe passiert im betreffenden Verkaufskanal nichts. Die ID findest du im Google-Tag-Manager-Konto, nachdem der Container dort angelegt wurde. Über das Symbol rechts im Feld kopierst du den Wert mit einem Klick.

Wozu das gut ist: Weil die Einstellung je Verkaufskanal gilt, kannst du für unterschiedliche Shops unterschiedliche Container verwenden — etwa einen eigenen Container je Land oder Marke, damit sich die Auswertungen nicht vermischen.

Produkt-Clicks in Listings tracken

Ist dieser Schalter an, meldet das Plugin, wenn ein Besucher ein Produkt in einer Produktkachel anklickt — also überall dort, wo Produkte in Listen erscheinen: auf Kategorie- und Suchergebnisseiten, auf Startseiten und Erlebniswelten, im Zubehör und auf der Wunschliste. In der Voreinstellung ist der Schalter ausgeschaltet.

Wozu das gut ist: Du siehst nicht nur, welche Produkte angesehen wurden, sondern auch, welche Listen tatsächlich zum Klick geführt haben. So erkennst du, ob deine Sortierung und deine Kategorieseiten die richtigen Artikel nach vorne stellen.

Klicks auf „Zur Wunschliste hinzufügen”

Ist dieser Schalter an, meldet das Plugin, wenn ein Besucher ein Produkt auf die Wunschliste setzt — auch aus dem Warenkorb und dem seitlich einfahrenden Warenkorb heraus. In der Voreinstellung ist der Schalter ausgeschaltet.

Wozu das gut ist: Die Wunschliste zeigt echtes Kaufinteresse, ohne dass schon bestellt wurde. Diese Signale helfen dir bei der Bewertung von Produkten und bei der Aussteuerung von Werbung.

DataLayer bei Überschreitung einer Grenze splitten

Google verarbeitet pro Übertragung nur eine begrenzte Datenmenge. Auf Seiten mit sehr vielen Produkten würde die Datenlieferung zu groß und käme unvollständig oder gar nicht an. Der hier eingetragene Wert ist eine Größenangabe in Kilobyte: Überschreitet eine Lieferung diese Größe, teilt das Plugin sie selbstständig in mehrere kleinere Teillieferungen auf, die nacheinander übertragen werden. Voreingestellt sind 7. Der Wert 0 schaltet die Aufteilung vollständig ab.

Wozu das gut ist: Du musst dich um das Thema normalerweise nicht kümmern. Lass den Wert unverändert, solange in deiner Auswertung nichts fehlt. Fehlen dir auf sehr langen Kategorieseiten Produktdaten, verringere den Wert schrittweise.

Tipp: Sehr niedrige Werte erzeugen viele kleine Teillieferungen. Das kann dazu führen, dass Klicks auf Produkte aus den früheren Teillieferungen nicht mehr zugeordnet werden. Gehe deshalb in kleinen Schritten vor und prüfe nach jeder Änderung.

Karte „Cookie Consent Konfiguration" mit allen Einstellungen Abb. 3: Die Karte Cookie Consent Konfiguration mit ihren acht Einstellungen — von der Consent-Mode-Voreinstellung bis zur Consent-Diagnose aufzeichnen.

Diese Karte beantwortet drei Fragen, die du seit dieser Fassung getrennt voneinander entscheidest: Wer sagt Google, dass zunächst nichts erlaubt ist? Wann wird der Container geladen? Und woher erfährt das Plugin, dass der Besucher zugestimmt hat? Welche Kombination zu deinem Shop passt, zeigt Cookie-Consent an typischen Beispielen. Hier steht, was die einzelnen Einstellungen tun.

Bevor der Container lädt, sollte Google wissen, dass noch nichts erlaubt ist. Fehlt diese Ansage, behandelt Google jede Speicherart als erlaubt, und Analyse- und Werbe-Tags feuern, bevor der Besucher irgendetwas bestätigt hat. Hier legst du fest, wer diese Ansage macht:

  • Plugin sendet „denied” (empfohlen) — das Plugin sagt Google von sich aus, dass alle Werbe- und Analysezwecke zunächst abgelehnt sind. Funktioniert mit jedem Cookie-Werkzeug. So ist es voreingestellt.
  • Consent-Werkzeug sendet selbst — dein Cookie-Werkzeug übernimmt das, zum Beispiel über seine eigene Vorlage im Google Tag Manager. Prüfe dort, ob wirklich „abgelehnt” voreingestellt ist: Mehrere Werkzeuge liefern das Gegenteil aus.
  • Keine Voreinstellung (Altverhalten) — es wird nichts gesendet. Nur für Shops, die das bewusst an anderer Stelle regeln.

Wozu das gut ist: Das ist die Einstellung, die den rechtlich heiklen Moment absichert — die Sekunde zwischen dem Laden der Seite und der Entscheidung des Besuchers. Lass sie auf der Voreinstellung, wenn du nicht sicher weißt, dass dein Cookie-Werkzeug das selbst zuverlässig erledigt.

Speicherarten, die per Voreinstellung erlaubt sind

Alles, was hier nicht steht, gilt zunächst als abgelehnt und wird erst nach der Zustimmung freigegeben. Lass dieses Feld leer, solange du keinen konkreten, geprüften Grund hast, etwas davon auszunehmen. Die Einstellung wirkt nur, wenn oben das Plugin die Voreinstellung sendet.

Wozu das gut ist: Für Sonderfälle, in denen deine Rechtsberatung eine bestimmte Speicherart auch ohne Einwilligung für zulässig hält. Im Normalbetrieb bleibt das Feld leer.

Auf das Einwilligungssignal warten (Millisekunden)

So lange halten die Google-Tags still und warten auf die Zustimmung, bevor sie mit der Voreinstellung weiterarbeiten. Voreingestellt sind 500. Liegt die Entscheidung schon vor, endet die Wartezeit sofort — es wird dann nichts verzögert. Der Wert 0 schaltet das Warten ab.

Wozu das gut ist: Manche Cookie-Werkzeuge stellen die gespeicherte Entscheidung eines wiederkehrenden Besuchers erst nach, wenn ihr eigenes Skript geladen ist. Ohne diese kurze Wartezeit hätten die Google-Tags bis dahin schon mit „abgelehnt” gearbeitet, und dessen Besuch wäre nicht gemessen worden, obwohl er längst zugestimmt hatte. Fehlen dir wiederkehrende Besucher in der Auswertung, erhöhe den Wert schrittweise.

Ladezeitpunkt des Containers

  • Sofort laden, Steuerung über Consent Mode (empfohlen) — der Container lädt mit der Seite, und Google entscheidet anhand der gemeldeten Zustimmung, was jedes einzelne Tag darf. Setzt eine funktionierende Voreinstellung voraus. So ist es voreingestellt.
  • Erst nach Einwilligung laden — der Container wird überhaupt nicht geladen, solange keine Zustimmung eintrifft.
  • Consent-Werkzeug entscheidet (Blockier-Attribute) — dein Cookie-Werkzeug hält das Skript zurück und gibt es selbst frei.

Wozu das gut ist: Die empfohlene Einstellung misst am vollständigsten, weil auch zustimmungsfreie Signale sauber ankommen. Verlangt deine Rechtsberatung, dass gar nichts geladen wird, bevor zugestimmt wurde, wählst du Erst nach Einwilligung laden.

Nur wirksam, wenn oben Consent-Werkzeug entscheidet eingestellt ist. Der Inhalt wird unverändert an die Einbindung des Containers weitergereicht, damit dein Cookie-Werkzeug sie erkennt und zurückhält. Die genaue Schreibweise steht in der Dokumentation deines Werkzeugs — für Usercentrics zum Beispiel data-usercentrics="Google Tag Manager", für Cookiebot type="text/plain" data-cookieconsent="statistics,marketing".

Wozu das gut ist: Damit lässt sich jedes Werkzeug anbinden, das Skripte über solche Kennzeichnungen blockiert — auch eines, das dieses Plugin gar nicht kennt.

Einwilligungssignal auswerten aus

Hier sagst du dem Plugin, woher es die Entscheidung des Besuchers erfährt:

  • Consent-Werkzeug regelt das — dein Werkzeug meldet die Zustimmung selbst an Google; das Plugin hält sich dann heraus.
  • Shopware Cookie-Consent — das mitgelieferte Cookie-Banner von Shopware. Das Plugin ergänzt es um die Einträge Google Tagmanager, Google Analytics und Google Werbung und Marketing. So ist es voreingestellt.
  • Cookiebot, Cookie Script (cookie-script.com), consentmanager.net, Usercentrics — das Plugin liest den Stand direkt über die Schnittstelle des jeweiligen Werkzeugs.
  • Eigene Regel — für jedes andere Werkzeug; die Regel selbst trägst du im Feld darunter ein.

Wozu das gut ist: Das ist die Einstellung, die dein Cookie-Banner mit deiner Auswertung verbindet. Ohne sie bleibt alles gesperrt, was Zustimmung braucht.

Tipp: Cookiebot, Cookie Script, consentmanager.net und Usercentrics beherrschen den Google Consent Mode meist auch selbst. Hast du das dort eingeschaltet, stelle auf Consent-Werkzeug regelt das um — die Anbindung des Anbieters wird von ihm gepflegt.

Eigene Regel (JSON, Expert)

Ein Expertenfeld, das nur bei den Einstellungen Eigene Regel, Usercentrics und consentmanager.net eine Rolle spielt.

Bei Eigene Regel beschreibst du hier, wo dein Cookie-Werkzeug seine Entscheidung ablegt und welcher Wert Zustimmung bedeutet. Bei Usercentrics und consentmanager.net trägst du hier stattdessen ein, wie die Google-Dienste in deinem Konto heißen — die Auswertungsregel selbst bringt das Plugin schon mit. Die Vorgaben decken die üblichen Bezeichnungen ab; korrigiere sie nur, wenn dein Konto andere verwendet.

Wozu das gut ist: Damit lässt sich auch ein Werkzeug anbinden, das in der Liste oben nicht auftaucht. Die genaue Schreibweise erklärt der Hilfetext direkt am Feld; im Zweifel unterstützt dich unser Support. Eine fehlerhafte Eingabe wird verworfen und gibt vorsichtshalber nichts frei — sie kann also nie versehentlich zu viel erlauben.

Zeichnet auf, welche Voreinstellung gesendet wurde, welches Signal eintraf und wann der Container geladen wurde. Die Aufzeichnung ist nur im eigenen Browser sichtbar und wird nur mit den Entwicklerwerkzeugen ausgelesen — Shop-Besucher merken davon nichts. Wie du sie liest, steht in Für Administratoren / Technische Details. Schalte sie nach der Prüfung wieder aus.

Wozu das gut ist: Genau die drei Fragen, die man beim Einrichten stellt, beantwortet die Aufzeichnung schwarz auf weiß — statt zu raten, ob das Cookie-Banner wirklich gemeldet hat, was es anzeigt.

Karte „TagManager Script manipulieren”

Karte „TagManager Script manipulieren" mit Warnhinweis Abb. 4: Der orange Warnhinweis über den Expertenfeldern und das Feld Script-Tag Attribute (optional/expert).

Diese Karte ist ein Expertenbereich. Der orange Hinweis darüber sagt es deutlich: Änderungen an diesen Feldern können dazu führen, dass der Google Tag Manager nicht mehr richtig funktioniert. Für den normalen Betrieb brauchst du sie nicht — lass sie unverändert, wenn du dir nicht sicher bist.

Script-Tag Attribute (optional/expert)

Der Inhalt dieses Feldes wird unverändert an das eingebundene Skript weitergereicht. Voreingestellt steht dort type="text/javascript".

Wozu das gut ist: Manche Consent-Werkzeuge oder Sicherheitsrichtlinien verlangen zusätzliche Angaben am Skript. Genau die trägst du hier ein.

Tipp: Für das reine Blockieren durch dein Cookie-Werkzeug gibt es seit dieser Fassung das eigene Feld Blockier-Attribute Ihres Consent-Werkzeugs in der Karte Cookie Consent Konfiguration. Nutze bevorzugt dieses — es wirkt gezielt auf den Container und lässt die übrigen Ausgaben unangetastet.

Setze diese Attribute nicht an das dataLayer Script-Tag

Ist dieser Schalter an, gelten die oben eingetragenen Angaben nur für das Skript des Google Tag Manager, nicht für die Ausgabe der Tracking-Daten. Von Haus aus ist er aus.

Wozu das gut ist: Blockiert ein Consent-Werkzeug alles, was die oben eingetragenen Angaben trägt, würde es sonst auch die Tracking-Daten blockieren. Mit diesem Schalter nimmst du sie davon aus.

Zusätzliche URL Parameter

Was du hier einträgst, wird an die Adresse angehängt, unter der das Skript geladen wird.

Wozu das gut ist: Für Test- und Staging-Umgebungen. Google vergibt dafür eigene Zugangsparameter, damit deine Testumgebung eine andere Container-Version verwendet als der Live-Shop. Für den Live-Shop bleibt das Feld leer.

GTM Funktion überschreiben

Ist dieses Feld gefüllt, wird der komplette Einbindungscode des Google Tag Manager durch deinen eigenen ersetzt. Der Inhalt von Zusätzliche URL Parameter wird dann nicht mehr berücksichtigt.

Wozu das gut ist: Nur für Sonderfälle, in denen deine Agentur eine abweichende Einbindung vorgibt. Im Zweifel leer lassen.

Eigene Tag-Manager-URL angeben

Ist dieses Feld gefüllt, lädt das Skript nicht von der üblichen Google-Adresse, sondern von der hier hinterlegten.

Wozu das gut ist: Für Server-Side Tagging, bei dem die Daten zunächst über deinen eigenen Server laufen. Die Adresse bekommst du von der Stelle, die dieses Setup betreibt.

Das ersetzt kein serverseitiges Messen. Dieses Feld tauscht ausschließlich die Adresse aus, von der der Container geladen wird — Absender der Messung bleibt der Browser des Kunden. Lädt die Bestellabschlussseite nie, entsteht auch hier kein purchase. Wenn es dir darum geht, dass fehlende Bestellungen vom Shop aus nachgemeldet werden, ist das Zusatzmodul in Abschnitt 4.4 der richtige Weg.


Karte „Serverseitiges purchase (Zusatzmodul)”

Karte „Serverseitiges purchase" im Auslieferungszustand Abb. 5: Die Karte Serverseitiges purchase (Zusatzmodul). Oben der Hinweis mit der Schaltfläche Zusatzmodul freischalten, darunter die fünf Einstellungen — sie wirken erst nach der Freischaltung.

Diese Karte gehört zu einem kostenpflichtigen Zusatzmodul. Ohne Freischaltung kannst du die Felder ausfüllen und speichern, sie bleiben aber wirkungslos.

Das Problem, das dieses Modul löst

Das purchase-Ereignis entsteht ausschließlich, wenn die Bestellabschlussseite im Browser des Kunden geladen wird. Passiert das nicht, existiert die Bestellung in Shopware — in GA4 fehlt sie. Vier Fälle führen dazu:

  • Der Kunde kehrt nach der Zahlung nicht in den Shop zurück. Bei PayPal, Klarna oder Sofortüberweisung schließt ein Teil der Kunden das Fenster, sobald die Zahlung bestätigt ist. Das ist erfahrungsgemäß die häufigste Ursache.
  • Ein Werbeblocker verhindert die Übertragung.
  • Die Bestellung wurde in der Administration oder über eine Schnittstelle angelegt. Dort gibt es keinen Browser, der etwas melden könnte.
  • Die Abschlussseite lädt aus anderen Gründen nicht vollständig.

Das Ergebnis ist immer dasselbe: Dein Umsatz in GA4 ist niedriger als der tatsächliche, und die Zuordnung zu Kampagnen stimmt nicht mehr.

Wie das Modul arbeitet

Beim Anlegen der Bestellung sichert das Plugin die GA4-Kennung des Besuchers an der Bestellung — noch im selben Seitenaufruf, in dem der Kunde auf „Zahlungspflichtig bestellen” klickt. Das ist der letzte Moment, in dem die Google-Cookies erreichbar sind; was danach passiert, spielt keine Rolle mehr.

Nach einer einstellbaren Wartezeit prüft der Shop: Hat der Browser diesen Kauf gemeldet? Wenn ja, passiert nichts weiter. Wenn nein, meldet der Shop ihn selbst an GA4 — mit deiner Shopware-Bestellnummer als transaction_id sowie Wert, Währung, Steuer, Versandkosten und allen Positionen.

Gesendet wird genau das, was du im Backend eingestellt hast. Der Server baut das Ereignis aus derselben Datenschicht-Konfiguration wie der Browser — hast du unter dataLayer Eigenschaften für die Bestellabschlussseite eigene Felder eingerichtet oder vorhandene geändert, gehen sie auch serverseitig mit. Zwei Abweichungen gibt es, beide zwingend: Die E-Mail-Adresse wird entfernt (GA4 weist Ereignisse mit personenbezogenen Daten zurück; im Browser verarbeitet der Tag Manager sie selbst für Enhanced Conversions), und zwei technische Angaben zur Sitzungszuordnung kommen hinzu, die der Browser nicht braucht.

Eine Doppelzählung ist ausgeschlossen. Die Abschlussseite bestätigt einen gemeldeten Kauf an der Bestellung, und der serverseitige Versand steigt dann aus. Die Bestätigung erfolgt bewusst erst, wenn der Tag Manager im Browser tatsächlich geladen ist — sonst würde ausgerechnet der Werbeblocker-Fall als „schon gemeldet” gelten und das Nachmelden verhindern.

Nicht zu verwechseln mit „Eigene Tag-Manager-URL” (Karte 4.3). Jenes Feld tauscht nur die Adresse aus, von der der Container geladen wird — Absender der Messung bleibt der Browser. Lädt die Abschlussseite nie, entsteht auch dort kein purchase. Nur dieses Zusatzmodul meldet vom Shop-Server aus.

Was das Modul NICHT löst

Zwei Lücken bleiben bewusst offen:

  • Bestellungen ohne Einwilligung bleiben ungemessen. Ohne Zustimmung gibt es keine GA4-Kennung, und das Measurement Protocol kennt keinen Consent Mode — was gesendet wird, wird gezählt. Das ist keine Lücke im Produkt, sondern die Rechtslage.
  • Bestellungen aus der Administration oder über eine Schnittstelle haben nie ein Google-Cookie gesehen. Sie ließen sich nur als anonyme Direktzugriffe melden, was deine Kanalberichte stärker verfälschen würde als die fehlende Bestellung selbst.

Rechne also nicht damit, dass nach der Freischaltung 100 % deiner Bestellungen in GA4 erscheinen. Erwartbar ist, dass der Anteil der Zahlungsabbrecher und Werbeblocker-Fälle zurückkommt.

Freischalten

Klicke in der Karte auf Zusatzmodul freischalten. Shopware führt dich durch den Kauf über deinen Shopware-Account; danach zeigt die Karte statt des Hinweises eine grüne Bestätigung. Ein Neustart oder eine Neuinstallation ist nicht nötig.

Was du dabei buchst: ein monatliches Abonnement, das Shopware zusammen mit deiner regulären monatlichen Shopware-Rechnung abrechnet — nicht über uns. Verwalten und kündigen kannst du es in deinem Shopware-Account unter deinen Abonnements. Nach dem Kündigen bleibt das Modul bis zum Ende des laufenden Abrechnungszeitraums aktiv; danach hört das Nachmelden auf, deine Einstellungen und die bereits gemeldeten Bestellungen bleiben unangetastet.

Bestellungen nachmelden, die der Browser nicht gemeldet hat

Der Hauptschalter des Moduls. Von Haus aus aus — auch nach der Freischaltung. Schalte ihn erst ein, wenn Mess-ID und API-Geheimnis eingetragen sind.

Mess-ID

Die GA4-Mess-ID des Datenstroms, der die Bestellungen empfangen soll — dieselbe, die auch dein Tag Manager verwendet. Du findest sie in GA4 unter Verwaltung → Datenströme.

API-Geheimnis

Anzulegen in GA4 unter Verwaltung → Datenströme → Ihr Datenstrom → Measurement Protocol API secrets.

Ohne Mess-ID und API-Geheimnis wird nichts gesendet, auch bei eingeschaltetem Modul nicht. Beide Werte gelten je Verkaufskanal: Betreibst du mehrere Kanäle mit getrennten GA4-Datenströmen, hinterlege sie je Kanal getrennt.

Nachmelden, sobald

Legt fest, wann die Wartezeit beginnt:

  • die Zahlung als bezahlt markiert ist (empfohlen) — der übliche Fall.
  • die Bestellung angelegt wurde — die richtige Wahl bei Rechnung und Vorkasse. Dort wird eine Bestellung erst Tage später auf „bezahlt” gesetzt; der Kauf erschiene in GA4 sonst mit tagelanger Verspätung oder gar nicht.

Wartezeit vor dem Nachmelden (Minuten)

Die Schonfrist, in der der Browser zuerst melden darf. Voreingestellt sind 30 Minuten.

Kürzer heißt: Der Kauf erscheint früher in den Berichten. Länger heißt: weniger Doppelmeldungen bei Kunden, die erst spät in den Shop zurückkehren. Für Tagesberichte ist der Wert unerheblich, für die Echtzeitübersicht nicht.

Diagnose aufzeichnen

Nur für die Fehlersuche. Ist der Schalter an, wird an die Prüfadresse von Google gesendet und deren Antwort im Protokoll wbm_tag_manager festgehalten.

Wichtig: Ereignisse an die Prüfadresse erscheinen nicht in GA4. Schalte die Diagnose nach der Prüfung wieder aus. Der Grund für dieses Feld: Die reguläre Adresse bestätigt jede Übertragung, auch eine inhaltlich fehlerhafte — ohne die Prüfadresse liefe ein Fehler unbemerkt ins Leere.

Kontrolle: Wurde eine Bestellung gemeldet?

Öffne eine Bestellung in der Administration und sieh dir die Zusatzfelder Google Analytics 4 (technisch) an:

FeldBedeutung
GA4 Client-IDleer = kein Google-Cookie beim Bestellvorgang (keine Einwilligung, oder Bestellung ohne Browser). Ein Nachmelden findet dann nicht statt.
Analytics-Einwilligungwar zum Bestellzeitpunkt eine Zustimmung erteilt?
An GA4 gemeldet amleer = noch nicht gemeldet (oder Wartezeit läuft noch).
Gemeldet durchbrowser = der Kunde hat gemeldet, server = das Zusatzmodul hat nachgemeldet.

Diese vier Felder beantworten für jede einzelne Bestellung die Frage, warum sie in GA4 auftaucht oder eben nicht.

Was dir das bringt

Ohne Zustimmung kein Tracking — das verlangt der Datenschutz. Das Plugin nimmt dir diese Kopplung ab: Es sagt Google zuerst, dass noch nichts erlaubt ist, erkennt die Entscheidung deines Besuchers und gibt Analyse und Werbung erst danach frei. Du musst dafür nichts programmieren und nichts am Cookie-Banner ändern.

Neu seit dieser Fassung: Das funktioniert mit jedem gängigen Cookie-Werkzeug, nicht nur mit dem von Shopware. Früher gab es dafür eine einzige Auswahl mit drei festen Werten; wer etwas anderes einsetzte, blieb außen vor. Jetzt entscheidest du die drei beteiligten Fragen getrennt.

Die drei Fragen

Alle drei beantwortest du in der Karte Cookie Consent Konfiguration (siehe Abb. 3):

FrageEinstellung
Wer sagt Google, dass zunächst nichts erlaubt ist?Consent-Mode-Voreinstellung
Wann wird der Container geladen?Ladezeitpunkt des Containers
Woher erfährt das Plugin von der Zustimmung?Einwilligungssignal auswerten aus

Die Voreinstellung lautet: Das Plugin sendet die Ablehnung, der Container lädt sofort, und ausgewertet wird das Cookie-Banner von Shopware. Nutzt du dieses Banner, musst du beim Einrichten keine der drei Fragen anfassen. Setzt du ein anderes Cookie-Werkzeug ein, ist die dritte Frage die einzige, die du wirklich beantworten musst.

Typische Einrichtungen

Suche dir die Zeile, die zu deinem Shop passt.

Dann ist nichts zu tun: Einwilligungssignal auswerten aus steht bereits auf Shopware Cookie-Consent, die beiden anderen Einstellungen bleiben ebenfalls, wie sie sind.

Im Cookie-Banner deines Shops erscheinen dann zusätzliche Einträge, die dein Besucher einzeln an- und abwählen kann:

  • in der Gruppe Statistik: Google Tagmanager und Google Analytics
  • in der Gruppe Marketing: Google Werbung und Marketing

Solange niemand zugestimmt hat, bleiben Analyse und Werbung gesperrt. Stimmt der Besucher zu, wird das sofort an Google gemeldet — er muss die Seite nicht neu laden. Ändert er seine Auswahl später, wird auch diese Änderung gemeldet. Die Zustimmung wird im Browser des Besuchers gespeichert: der Eintrag für den Google Tag Manager 90 Tage, die Einträge für Google Analytics und Google Werbung jeweils 30 Tage.

Die drei Einträge erscheinen nur, wenn das Plugin für den Verkaufskanal aktiviert und eine Container-ID hinterlegt ist. Fehlt eines von beidem, bleibt das Cookie-Banner unverändert.

Stelle Einwilligungssignal auswerten aus auf den Namen deines Werkzeugs. Das Plugin liest den Stand dann direkt dort aus, ohne dass du im Werkzeug etwas einrichten musst.

Bei Usercentrics und consentmanager.net hängen die Bezeichnungen der Dienste von deinem Konto ab. Die mitgelieferten Vorgaben decken die üblichen Google-Dienste ab. Kommt keine Zustimmung an, schalte Consent-Diagnose aufzeichnen ein: Die Aufzeichnung nennt die Bezeichnungen, die dein Konto tatsächlich verwendet. Passe sie anschließend im Feld Eigene Regel (JSON, Expert) an.

Tipp: Wenn du in deinem Werkzeug den Google Consent Mode ohnehin schon eingeschaltet hast, stelle auf Consent-Werkzeug regelt das um. Zwei Stellen, die dasselbe melden, brauchst du nicht.

Stelle Einwilligungssignal auswerten aus auf Consent-Werkzeug regelt das. Prüfe außerdem einmal, ob dein Werkzeug wirklich eine Voreinstellung mit „abgelehnt” sendet — tut es das nicht, lass die Consent-Mode-Voreinstellung beim Plugin.

Stelle Einwilligungssignal auswerten aus auf Eigene Regel und beschreibe im Feld Eigene Regel (JSON, Expert), wo dein Werkzeug seine Entscheidung ablegt. Der Hilfetext am Feld enthält ein vollständiges, an einem echten Shop geprüftes Beispiel. Kommst du nicht weiter, hilft dir unser Support — schicke uns dazu den Namen deines Werkzeugs.

Es darf nichts geladen werden, bevor zugestimmt wurde

Verlangt deine Rechtsberatung hartes Blockieren, stellst du Ladezeitpunkt des Containers auf Erst nach Einwilligung laden. Der Container wird dann überhaupt nicht geladen, bis eine Zustimmung eintrifft. Alternativ überlässt du das Blockieren deinem Cookie-Werkzeug: Consent-Werkzeug entscheidet (Blockier-Attribute), dazu die Kennzeichnung aus dessen Dokumentation im Feld Blockier-Attribute Ihres Consent-Werkzeugs.

Wichtig: Nach jeder Änderung an diesen Einstellungen solltest du deinen Shop in einem frischen, privaten Browserfenster öffnen. Nur so siehst du das Cookie-Banner wieder im Ausgangszustand, ohne deine vorherige Entscheidung.

Zustimmung prüfen

Ob wirklich ankommt, was das Banner anzeigt, beantwortest du in zwei Minuten:

  1. Schalte Consent-Diagnose aufzeichnen ein und speichere.
  2. Öffne deinen Shop in einem privaten Browserfenster und stimme im Cookie-Banner zu.
  3. Lies die Aufzeichnung aus, wie in Für Administratoren / Technische Details beschrieben. Du siehst dort, welche Voreinstellung gesendet wurde, welches Signal eintraf und wann der Container geladen wurde.
  4. Schalte die Aufzeichnung anschließend wieder aus.

dataLayer anpassen

Was dir das bringt

Das Plugin liefert die Tracking-Daten nicht fest verdrahtet aus, sondern als Zusammenstellung, die du in der Administration einsehen und ändern kannst. Du kannst weitere Shop-Seiten aufnehmen, einzelne Werte umbenennen oder zusätzliche Angaben mitschicken, die deine Auswertung braucht — ohne Programmierung im Shop.

Für den normalen Betrieb ist das nicht nötig. Ab Werk sind alle wichtigen Seiten fertig eingerichtet. Dieses Kapitel richtet sich an alle, die darüber hinausgehen möchten, und an Agenturen, die eine bestehende Messung nachbauen sollen.

Die Übersichtsseite

Du findest den Bereich unter Marketing → Google Tag Manager.

Übersichtsseite unter Marketing mit den Container-IDs je Verkaufskanal Abb. 6: Die Übersicht GTM Container IDs mit einer Zeile je Verkaufskanal. Oben die Reiter der eingerichteten Zuordnungen, darunter die Schaltflächen Module, Exportiere Datenschichten und Importiere Datenschichten.

Die Karte GTM Container IDs listet jeden Verkaufskanal mit der Container-ID, die dort gerade greift, und einem Häkchen als Statusanzeige. Die Zeile Alle Storefronts steht für den Wert, der überall dort gilt, wo kein eigener hinterlegt ist. Über Container IDs bearbeiten passt du die Zuordnung direkt hier an.

Wozu das gut ist: Du siehst auf einen Blick, welcher Shop mit welchem Container misst — ohne dich durch die Konfigurationsseite Kanal für Kanal durchzuschalten.

Ganz oben laufen die Reiter mit den bereits eingerichteten Zuordnungen (Cancel Order, Off-Canvas Cart, Cart Page, Payment and Shipping Info, Confirm Page, Finish Page, Add To Cart und weitere). Über die Pfeile am Rand blätterst du durch die Liste.

Daneben liegen drei Schaltflächen:

  • Module — führt zur Liste aller eingerichteten Zuordnungen.
  • Exportiere Datenschichten — lädt die gesamte Zusammenstellung als Datei herunter.
  • Importiere Datenschichten — spielt eine solche Datei wieder ein.

„dataLayer Module”: welche Seite welche Daten sendet

Ein Modul ist in diesem Plugin die Zuordnung „auf dieser Shop-Seite werden diese Daten gesendet”. Der Begriff steht so in der Oberfläche — gemeint ist nicht das Plugin selbst, sondern eine einzelne solche Zuordnung.

Klicke auf der Übersichtsseite auf Module.

Liste „dataLayer Module" mit allen vorkonfigurierten Seiten Abb. 7: Die Liste dataLayer Module. Die Spalte Name benennt die Shop-Seite, Route ist ihre technische Adresse im Shop.

Die Liste zeigt, welche Seiten bereits abgedeckt sind — darunter Product Detail (Produktdetailseite), Category Page (Kategorieseite), Search Page (Suchergebnisse), Listing (ajax), Home Page (Startseite), Off-Canvas Cart und Cart Page (Warenkorb), Add To Cart und Remove From Cart, Checkout Register Page, Payment and Shipping Info, Confirm Page, Finish Page (Kaufabschluss) sowie Cancel Order (Stornierung).

Die Spalten bedeuten:

  • Name — die Bezeichnung, unter der du die Zuordnung wiederfindest. Frei wählbar.
  • Route — die technische Adresse der Shop-Seite, auf die sich die Zuordnung bezieht.
  • HTML / JSON Response — steht hier ein Häkchen, handelt es sich um eine normale Seite. Ausgeschaltet wird der Schalter nur, wenn der Shop an dieser Stelle keine Seite ausliefert, sondern reine Daten — etwa bei Formularen.

Rechts oben stehen zwei Schaltflächen: Eigenschaften führt zu den Werten der gerade gewählten Zuordnung, Modul hinzufügen legt eine neue an. Über das Menü am rechten Rand einer Zeile (die drei Punkte) bearbeitest du einen vorhandenen Eintrag.

Detailansicht eines Moduls Abb. 8: Die Detailansicht der Zuordnung Product Detail.

In der Detailansicht pflegst du:

  • Name — die Bezeichnung in der Liste.
  • Route — die Shop-Seite, hier frontend.detail.page für die Produktdetailseite.
  • Alternative Route der Response — für Aktionen, nach denen der Shop eine andere Seite ausliefert als die aufgerufene. Bei Add To Cart steht dort zum Beispiel der seitlich einfahrende Warenkorb, weil der Besucher nach dem Hinzufügen genau diesen zu sehen bekommt. Bei einfachen Seitenaufrufen wie der Produktdetailseite bleibt das Feld leer.
  • HTML / JSON Response — wie in der Liste beschrieben.

Mit Speichern übernimmst du die Änderung, mit Abbrechen verwirfst du sie.

Gut zu wissen: Eine Zuordnung, die eine Produktliste meldet, wird nur dann ausgelöst, wenn auf der Seite auch wirklich Produkte stehen. Eine Erlebniswelt, eine Herstellerseite oder eine Info-Seite ohne Produktliste sendet also keine leere Liste mehr. Das hält deine Listenberichte sauber und verhindert leere Signale in der Werbeaussteuerung.

„dataLayer Eigenschaften”: welche Werte gesendet werden

Zu jeder Zuordnung gehört eine Zusammenstellung von Werten. Du erreichst sie über die Schaltfläche Eigenschaften oder über den Reiter der Zuordnung auf der Übersichtsseite.

Eigenschaften-Baum mit geöffnetem Editor Abb. 9: Links der Baum dataLayer Eigenschaften für Product Detail, rechts der Editor der ausgewählten Eigenschaft item_name.

Links siehst du die Werte als aufklappbaren Baum. Für die Produktdetailseite liegen dort zum Beispiel unter ecommerce die Angaben currency (Währung) und value (Wert) sowie unter items die Produktangaben item_name, item_id, price, item_brand, item_category und item_variant.

Klickst du einen Eintrag an, öffnet sich rechts der Editor:

  • Name — unter welcher Bezeichnung der Wert übertragen wird. Diese Bezeichnung muss zu dem passen, was deine Auswertung erwartet.
  • Wert — woher der Inhalt stammt. Hier steht kein fester Text, sondern ein Platzhalter, der beim Aufruf der Seite mit den echten Daten gefüllt wird. Im Beispiel liefert {{ product.translated.name }} den Produktnamen in der Sprache des Besuchers.
  • Als separates Event pushen — diese Option gibt es nur bei den obersten Einträgen des Baums. Ist sie gesetzt, wird der darunterliegende Teil nicht zusammen mit der Seite, sondern als eigene, nachgelagerte Meldung übertragen. Erscheint dann zusätzlich das Feld Eventname, trägst du dort die Bezeichnung dieser Meldung ein.

Mit Speichern übernimmst du die Änderung. Über das Menü am rechten Rand einer Zeile (die drei Punkte) legst du weitere Einträge an oder entfernst vorhandene.

Wichtig: Ändere Bezeichnungen nur, wenn du weißt, welche dein Google-Tag-Manager-Container erwartet. Eine umbenannte Angabe kommt in deiner Auswertung sonst nicht mehr an — der Shop selbst funktioniert davon unabhängig weiter.

Tipp: Lade dir vor jeder größeren Änderung über Exportiere Datenschichten den aktuellen Stand herunter. Damit kannst du jederzeit zurück.

Was in value steht

value ist der Wert eines Ereignisses: die Summe der Positionen, also Preis mal Menge über alle Artikel — ohne Versandkosten und ohne Steuer. Beides wird beim Kauf und bei der Stornierung als eigene Angabe daneben gesendet (shipping und tax), so wie Google es für GA4 vorsieht.

Ob die Beträge brutto oder netto sind, richtet sich nach dem Kunden: Shopware zeigt Netto-Kundengruppen Nettopreise, allen anderen Bruttopreise, und der dataLayer übernimmt genau das. Bei steuerbefreiter Lieferung entfällt die Steuer ohnehin.

Hinweis für Shops, die vor 6.7.16 im Einsatz waren: Bis einschließlich 6.7.15 enthielt value zusätzlich die Versandkosten. Seit 6.7.16 ist das korrigiert — der an GA4 gemeldete Umsatz fällt dadurch um die Versandkosten niedriger aus. Das ist der richtige Wert, kein Datenverlust; ein Sprung in der Kurve zum Update-Zeitpunkt ist zu erwarten. Hast du die Vorlage selbst angepasst, bleibt sie unverändert — dann greift die Korrektur nicht und du stellst sie bei Bedarf von Hand auf positionPrice um.

Sichern und übertragen: Export und Import

Über Exportiere Datenschichten lädst du die komplette Zusammenstellung — alle Zuordnungen samt ihrer Werte — als Datei herunter. Du bekommst sie unter dem Namen dataLayer.json.

Seite „Importiere Datenschichten" Abb. 10: Die Seite Importiere Datenschichten mit dem Feld json Import Datei und der Option Tabellen vor Import leeren.

Zum Einspielen klickst du auf Importiere Datenschichten:

  1. Ziehe die Datei in den gestrichelten Bereich oder wähle sie über Datei auswählen aus. Zulässig sind Dateien dieses Formats bis 5 MB.
  2. Entscheide über Tabellen vor Import leeren, wie mit dem vorhandenen Stand umgegangen wird:
    • Häkchen gesetzt: Der bisherige Stand wird zuvor vollständig entfernt und durch den Inhalt der Datei ersetzt. Das ist der saubere Weg, um eine bestehende Einrichtung eins zu eins zu übernehmen.
    • Häkchen nicht gesetzt: Der Inhalt der Datei kommt zum vorhandenen Stand hinzu. Einträge, die es bereits gibt, bleiben dabei unverändert — auf diesem Weg lassen sich vorhandene Werte also nicht überschreiben.
  3. Klicke auf Importieren. Über Zurück verlässt du die Seite ohne Import.

Läuft etwas schief — falsches Dateiformat, beschädigte Datei, fehlende Berechtigung —, sagt dir die Meldung den Grund, und dein bisheriger Stand bleibt vollständig erhalten. Übersprungene Zeilen werden dabei mit angegeben.

Wozu das gut ist: So überträgst du eine fertig abgestimmte Einrichtung von deinem Testshop in den Live-Shop, ohne alles noch einmal von Hand einzugeben — und hast zugleich eine Sicherung, bevor du experimentierst.

Wichtig: Ein Import mit gesetztem Häkchen entfernt deine bisherige Einrichtung vollständig, einschließlich der mitgelieferten Voreinstellungen. Lade vorher einen Export herunter.

Tipp: Zeigt der Shop nach einem Import noch die alten Daten, leere den Zwischenspeicher unter Einstellungen → System → Caches & Indizes.

Kontrolle: Wirkt das Tracking?

Was dir das bringt

Nach der Einrichtung willst du wissen, ob wirklich Daten fließen — und zwar bevor du dich auf deine Auswertung verlässt. Die folgenden Schritte zeigen dir das in wenigen Minuten.

Schritt 1: Shop öffnen und zustimmen

Öffne deinen Shop in einem neuen, privaten Browserfenster und stimme im Cookie-Banner zu. Ohne Zustimmung bleiben Analyse und Werbung gesperrt — das ist kein Fehler, sondern die gewollte Datenschutzeinstellung.

Schritt 2: Typische Seiten ansteuern

Rufe nacheinander die Seiten auf, deren Messung dir wichtig ist. Für den ersten Test genügen eine Kategorie- und eine Produktseite.

Kategorieseite im Shop Abb. 11: Eine Kategorieseite. Hier greift die Zuordnung Category Page und meldet die angezeigte Produktliste.

Produktdetailseite im Shop Abb. 12: Eine Produktdetailseite. Hier greift die Zuordnung Product Detail und meldet die Produktansicht.

Schritt 3: Ankunft der Daten prüfen

Am schnellsten siehst du das Ergebnis in der Vorschaufunktion deines Google-Tag-Manager-Containers: Sie zeigt dir für jeden Seitenaufruf, welche Daten in deinem Shop angekommen sind.

Alternativ prüfst du direkt im Browser. Öffne auf einer Produktseite die Entwicklerwerkzeuge deines Browsers (meist mit der Taste F12), wechsle zur Console und gib ein:

window.dataLayer

Produktseite mit sichtbarem Inhalt der übertragenen Daten Abb. 13: Die tatsächlich übertragenen Daten einer Produktseite — mit der Meldung view_item, dem Produktnamen, der Artikelnummer, dem Preis, der Marke und der Währung.

Findest du dort wie in Abb. 12 einen Eintrag mit deinem Produktnamen, ist alles in Ordnung: Die Daten verlassen deinen Shop korrekt. Ob sie danach in Google Analytics ankommen, hängt an der Einrichtung deines Containers — siehe Fehlerbehebung.

Schritt 4: Auch die Kauf-Strecke testen

Für eine vollständige Prüfung legst du ein Produkt in den Warenkorb und führst eine Testbestellung bis zur Abschlussseite durch. Damit prüfst du die Meldungen zum Warenkorb, zur Kasse, zur Versand- und Zahlungsauswahl und zum Kauf in einem Durchgang. Möchtest du auch die Stornierung prüfen, brichst du die Testbestellung anschließend im Kundenkonto ab.

Fehlerbehebung

Unter Marketing gibt es keinen Eintrag „Google Tag Manager”

Woran es liegt: Das Plugin ist noch nicht aktiviert, oder der Zwischenspeicher der Administration ist veraltet.

So behebst du es:

  1. Öffne Erweiterungen → Meine Erweiterungen und prüfe, ob der Schalter neben dem Plugin eingeschaltet ist.
  2. Leere den Zwischenspeicher: Einstellungen → System → Caches & Indizes.
  3. Lade die Administration im Browser neu.

Bleibt der Eintrag aus, fehlen deinem Benutzerkonto die Rechte für diesen Bereich (siehe Für Administratoren / Technische Details).

In Google Analytics kommen keine Daten an

Arbeite die Punkte der Reihe nach ab:

  1. Ist die Container-ID eingetragen? Prüfe sie in der Karte Grundeinstellungen — und zwar mit dem oben eingestellten Verkaufskanal, den du testest. Ein häufiger Fall: Die ID steht bei Alle Verkaufskanäle, der getestete Kanal hat aber einen eigenen, leeren Wert.
  2. Ist der Schalter „Plugin für diesen Verkaufskanal aktivieren” an?
  3. Weiß das Plugin, woher die Zustimmung kommt? Prüfe Einwilligungssignal auswerten aus in der Karte Cookie Consent Konfiguration. Wurde dort Consent-Werkzeug regelt das ausgewählt, obwohl dein Cookie-Werkzeug die Zustimmung nicht selbst an Google meldet, bleiben Analyse und Werbung dauerhaft gesperrt. Siehe Cookie-Consent.
  4. Hast du im Cookie-Banner zugestimmt? Ohne Zustimmung bleibt gesperrt, was Zustimmung braucht.
  5. Kommen die Daten im Shop überhaupt an? Prüfe das wie in Kontrolle: Wirkt das Tracking? beschrieben. Siehst du dort deine Produktdaten, arbeitet das Plugin korrekt — dann liegt es an der Einrichtung im Google Tag Manager.
  6. Ist dein Container eingerichtet und veröffentlicht? Der Google Tag Manager leitet Daten nur weiter, wenn dort ein passendes Tag angelegt und die Version veröffentlicht wurde. Das ist Aufgabe deiner Agentur oder deines GTM-Setups, nicht des Plugins.

Die Zustimmung wird nicht erkannt, obwohl der Besucher zugestimmt hat

Woran es liegt: Entweder passt die Auswahl unter Einwilligungssignal auswerten aus nicht zum eingesetzten Cookie-Werkzeug, oder das Werkzeug meldet seine Entscheidung unter anderen Bezeichnungen, als das Plugin erwartet — das kommt bei Usercentrics und consentmanager.net vor, weil diese Bezeichnungen vom Konto abhängen.

So behebst du es:

  1. Schalte Consent-Diagnose aufzeichnen ein und speichere.
  2. Öffne den Shop in einem privaten Browserfenster und stimme zu.
  3. Lies die Aufzeichnung aus (siehe Für Administratoren / Technische Details). Sie zeigt dir, ob überhaupt ein Signal eingetroffen ist — und bei Usercentrics und consentmanager.net auch, welche Bezeichnungen dein Konto verwendet.
  4. Trage abweichende Bezeichnungen im Feld Eigene Regel (JSON, Expert) nach.
  5. Schalte die Aufzeichnung wieder aus.

Wiederkehrende Besucher werden nicht gemessen, neue schon

Woran es liegt: Dein Cookie-Werkzeug stellt die gespeicherte Entscheidung erst nach, wenn sein eigenes Skript geladen ist. Bis dahin haben die Google-Tags schon mit „abgelehnt” gearbeitet.

So behebst du es: Erhöhe den Wert bei Auf das Einwilligungssignal warten (Millisekunden) schrittweise, etwa auf 1000 oder 1500, und prüfe nach jeder Änderung. Mehr als ein paar Sekunden sind nicht sinnvoll — so lange wartet kein Besucher.

Woran es liegt: Drei Voraussetzungen müssen zusammenkommen — und eine davon fehlt.

So behebst du es: Prüfe für den betroffenen Verkaufskanal:

  1. Einwilligungssignal auswerten aus steht auf Shopware Cookie-Consent. Bei jeder anderen Auswahl ergänzt das Plugin das Shopware-Banner bewusst nicht — dann übernimmt dein eigenes Cookie-Werkzeug die Anzeige.
  2. Der Schalter Plugin für diesen Verkaufskanal aktivieren ist an.
  3. Im Feld GTM Container ID steht eine Container-ID.

Danach speichern und den Shop in einem frischen, privaten Browserfenster öffnen.

Das Tracking läuft gar nicht, obwohl eine Container-ID eingetragen ist

Woran es liegt: Die Container-ID hat nicht das Format, das Google vergibt. Das Plugin nimmt nur GTM- gefolgt von Großbuchstaben und Ziffern an — alles andere wird verworfen, und der Tag Manager wird gar nicht erst geladen. Typische Ursachen: eine Google-Analytics-Kennung (G-… oder UA-…) statt der Container-ID, ein mitkopierter Codeschnipsel, oder Kleinschreibung.

Dasselbe gilt für Eigene Tag-Manager-URL angeben: Erwartet wird http:// oder https:// mit Host und optionalem Pfad, ohne Fragezeichen-Teil — das Plugin hängt /gtm.js?id=… selbst an. Eine abweichende Eingabe wird verworfen und Googles Standardadresse verwendet.

So behebst du es: Trage in GTM Container ID genau den Wert ein, der im Google Tag Manager oben neben dem Containernamen steht (Form GTM-XXXXXXX). Ob ein Wert verworfen wurde, steht im Log deines Shops unter dem Kanal wbm_tag_manager — dort mit Angabe des betroffenen Verkaufskanals.

Nach dem Wechsel der Container-ID ändert sich nichts

Woran es liegt: Die Seite wird noch aus dem Zwischenspeicher ausgeliefert, oder dein Browser zeigt eine gespeicherte Fassung.

So behebst du es: Leere den Zwischenspeicher unter Einstellungen → System → Caches & Indizes und lade den Shop in einem privaten Browserfenster neu.

Nach Änderungen in der Karte „TagManager Script manipulieren” funktioniert das Tracking nicht mehr

Woran es liegt: Die Felder dieser Karte greifen direkt in die Einbindung ein. Ein Tippfehler genügt, damit nichts mehr lädt.

So behebst du es: Setze die Felder auf den Ausgangszustand zurück — Script-Tag Attribute (optional/expert) auf type="text/javascript", alle übrigen Felder leer und den Schalter Setze diese Attribute nicht an das dataLayer Script-Tag aus. Speichern, Zwischenspeicher leeren, erneut prüfen.

Klicks auf Produkte oder auf die Wunschliste tauchen nicht auf

Woran es liegt: Die beiden Schalter in der Karte Grundeinstellungen sind vom übrigen Tracking unabhängig und in der Voreinstellung ausgeschaltet.

So behebst du es: Schalte Produkt-Clicks in Listings tracken beziehungsweise Klicks auf „Zur Wunschliste hinzufügen” ein — und zwar für den Verkaufskanal, den du testest.

Fehlen danach nur einzelne Klicks auf sehr langen Listenseiten, kann die Aufteilung großer Datenlieferungen die Ursache sein. Erhöhe dann probeweise den Wert bei DataLayer bei Überschreitung einer Grenze splitten.

Auf Kategorieseiten mit sehr vielen Produkten fehlen Angaben

Woran es liegt: Die Datenlieferung überschreitet die Menge, die Google pro Übertragung verarbeitet.

So behebst du es: Verringere den Wert bei DataLayer bei Überschreitung einer Grenze splitten schrittweise und prüfe nach jeder Änderung erneut.

Der Import bricht ab oder die Datei lässt sich nicht auswählen

Woran es liegt: Es wird eine Datei im falschen Format oder eine zu große Datei verwendet.

So behebst du es: Verwende ausschließlich eine Datei, die zuvor über Exportiere Datenschichten erzeugt wurde. Sie darf höchstens 5 MB groß sein. Die Meldung nennt dir in jedem Fall den Grund der Ablehnung; dein bisheriger Stand bleibt dabei erhalten.


Eine Bestellung existiert in Shopware, fehlt aber in GA4

Das ist der häufigste Grund für eine Lücke zwischen deinen Shopware-Zahlen und GA4 — und meist kein Fehler, sondern die Bauart des Messens: Das purchase-Ereignis entsteht nur, wenn die Bestellabschlussseite im Browser geladen wird.

So grenzt du den Fall ein: Sieh dir die Zahlungsart der fehlenden Bestellung an. Ist es eine Weiterleitungszahlung (PayPal, Klarna, Sofortüberweisung), hat der Kunde das Fenster mit hoher Wahrscheinlichkeit nach der Zahlung geschlossen, ohne in den Shop zurückzukehren. Dann wurde die Abschlussseite nie aufgerufen — und ohne sie gibt es kein purchase, unabhängig von deinen Einstellungen.

Was hilft:

  1. Sofort und ohne Zusatzkosten: Stelle unter Wann soll der Container geladen werden? auf Sofort laden, über Consent Mode steuern. Damit liefert Google für nicht einwilligende Besucher modellierte Conversions, und ein Teil der Lücke schließt sich.
  2. Für die übrigen Fälle: das Zusatzmodul Serverseitiges purchase (Abschnitt 4.4). Es meldet genau die Bestellungen nach, die der Browser nicht gemeldet hat.

Ob eine einzelne Bestellung gemeldet wurde und auf welchem Weg, zeigen die Zusatzfelder Google Analytics 4 (technisch) an der Bestellung.

Das Zusatzmodul ist freigeschaltet, es wird trotzdem nichts nachgemeldet

Arbeite die Punkte in dieser Reihenfolge ab — die Prüfung im Shop läuft genauso:

  1. Ist Bestellungen nachmelden, die der Browser nicht gemeldet hat eingeschaltet? Der Schalter ist auch nach dem Kauf zunächst aus.
  2. Sind Mess-ID und API-Geheimnis für diesen Verkaufskanal hinterlegt? Beide Werte gelten je Kanal.
  3. Ist die Wartezeit schon abgelaufen? Voreingestellt sind 30 Minuten nach dem auslösenden Ereignis.
  4. Trägt die Bestellung eine GA4 Client-ID? Ist sie leer, lag beim Bestellvorgang keine Einwilligung vor oder die Bestellung entstand ohne Browser — beides schließt ein Nachmelden bewusst aus.
  5. Steht bei An GA4 gemeldet am bereits ein Zeitpunkt mit Gemeldet durch: browser? Dann hat der Kunde selbst gemeldet, und das Nachmelden ist korrekt entfallen.

Bleibt danach unklar, warum nichts ankommt: Schalte Diagnose aufzeichnen ein, löse eine Testbestellung aus und sieh in das Protokoll wbm_tag_manager. Google nennt dort im Klartext, was es beanstandet. Danach die Diagnose wieder ausschalten — an die Prüfadresse gesendete Ereignisse erscheinen nicht in GA4.

Ein Kauf taucht doppelt in GA4 auf

Prüfe zuerst, ob die Bestellung tatsächlich zweimal gezählt wurde oder ob GA4 dieselbe Transaktion in zwei Berichten zeigt. Bei einer echten Doppelzählung sieh dir das Feld Gemeldet durch an der Bestellung an: Steht dort server, obwohl der Kunde die Abschlussseite gesehen hat, war die Wartezeit vermutlich zu kurz für einen spät zurückkehrenden Kunden. Erhöhe sie.

Wichtig zu wissen: GA4 entfernt doppelte transaction_id nicht zuverlässig von selbst.

FAQ

F: Warum ist mein Umsatz in GA4 seit dem Update auf 6.7.16 niedriger?

A: Weil die Versandkosten nicht mehr im Wert des Ereignisses stecken. Google definiert value als Summe der Positionen und erwartet Versand und Steuer als eigene Angaben — die das Plugin ohnehin mitsendet. Bis 6.7.15 war der Versand zusätzlich im value enthalten, der gemeldete Umsatz also zu hoch. Seit 6.7.16 stimmt er. Rechnerisch fällt er um genau die Versandkosten niedriger aus; ein Sprung in der Kurve zum Update-Zeitpunkt ist normal und einmalig. Wenn du Google Ads auf den Umsatz optimieren lässt, bietet es ab jetzt auf den richtigen Wert.

F: Brauche ich ein eigenes Google-Konto?

A: Ja. Du brauchst ein Google-Tag-Manager-Konto mit einem angelegten Container. Das Plugin bindet diesen Container ein, ersetzt ihn aber nicht.

F: Muss ich etwas programmieren oder mein Template anpassen?

A: Nein. Das Plugin bringt alle wichtigen Seiten fertig eingerichtet mit. Es genügt, die Container-ID einzutragen und einmal festzulegen, woher die Zustimmung kommt.

F: Reicht das Plugin allein für eine funktionierende Auswertung?

A: Nein. Das Plugin stellt die Daten deines Shops bereit. Was damit geschieht — also welche Tags in Google Analytics 4 oder Google Ads auslösen — legst du im Google-Tag-Manager-Container fest.

F: Kann ich für jeden meiner Shops einen eigenen Container verwenden?

A: Ja. Alle Einstellungen gelten je Verkaufskanal. Schalte oben auf der Konfigurationsseite auf den gewünschten Kanal um und trage dort eine eigene Container-ID ein. Welcher Kanal gerade welche ID verwendet, siehst du auf einen Blick unter Marketing → Google Tag Manager.

F: Kann ich das Tracking in einem einzelnen Verkaufskanal abschalten?

A: Ja, über den Schalter Plugin für diesen Verkaufskanal aktivieren. Das Plugin bleibt installiert, der betroffene Kanal lädt dann weder den Google Tag Manager noch die Tracking-Daten.

F: Welche Cookie-Werkzeuge werden unterstützt?

A: Shopwares eigenes Cookie-Banner, Cookiebot, Cookie Script, consentmanager.net und Usercentrics werden direkt unterstützt. Jedes andere Werkzeug bindest du über Eigene Regel an, sofern es seine Entscheidung im Browser ablegt. Und Werkzeuge, die den Google Consent Mode ohnehin selbst bedienen, lässt du einfach machen — dafür stellst du auf Consent-Werkzeug regelt das um.

F: Ich habe von einer älteren Fassung aktualisiert. Muss ich etwas umstellen?

A: Nein. Deine bisherige Einstellung wird je Verkaufskanal übernommen, dein Shop verhält sich unverändert. Die neuen Möglichkeiten schaltest du bewusst ein, wenn du sie brauchst.

F: Werden auch Filter, Sortierung und das Blättern in Kategorien erfasst?

A: Ja. Aktualisiert sich eine Produktliste nach, ohne dass die ganze Seite neu lädt, meldet das Plugin die neue Liste erneut.

F: Warum meldet eine Info- oder Erlebnisseite keine Produktliste?

A: Weil dort keine Produkte stehen. Seiten ohne Produktliste senden bewusst keine leere Liste — das hielte sonst deine Listenberichte und deine Werbeaussteuerung mit Signalen auf, hinter denen nichts steht.

F: Werden Stornierungen erfasst?

A: Ja, dafür ist die Zuordnung Cancel Order vorkonfiguriert.

F: Kann ich eine Shop-Seite ergänzen, die noch nicht erfasst wird?

A: Ja, über Marketing → Google Tag Manager → Module → Modul hinzufügen. Du brauchst dafür die technische Adresse der Seite; orientiere dich bei Bedarf an den vorhandenen Einträgen der Liste.

F: Ich habe die Werte im Eigenschaften-Baum verstellt — wie komme ich zurück?

A: Über Importiere Datenschichten spielst du einen zuvor heruntergeladenen Export wieder ein. Deshalb: vor größeren Änderungen immer erst exportieren.

F: In welchen Sprachen steht das Plugin zur Verfügung?

A: Die Oberfläche und die Texte im Shop gibt es auf Deutsch, Englisch und Niederländisch. Angezeigt wird die Sprache, in der die Administration beziehungsweise der Shop betrieben wird.

Für Administratoren / Technische Details

Dieser Abschnitt richtet sich an technische Administratoren. Für die normale Nutzung brauchst du ihn nicht.

Systemanforderungen

  • Shopware: 6.7
  • PHP: 8.2 oder neuer, mit aktivierter JSON-Erweiterung

Installation über die Kommandozeile

composer require webmatch/tag-manager-analytics
bin/console plugin:refresh
bin/console plugin:install --activate WbmTagManagerAnalytics
bin/console cache:clear

Aktualisieren einer bereits installierten Fassung:

bin/console plugin:refresh
bin/console plugin:update WbmTagManagerAnalytics

Berechtigungen

Das Plugin bringt eigene Berechtigungen unter der Bezeichnung WBM Tag Manager mit, abgestuft nach Lesen, Bearbeiten, Anlegen und Löschen. Du vergibst sie unter Einstellungen → System → Benutzer & Berechtigungen in einer Rolle. Zum Herunterladen eines Exports genügt das Leserecht; für einen Import wird das Schreibrecht benötigt.

Wichtig: Diese Berechtigungen allein reichen nicht aus. Ein Benutzer benötigt zusätzlich die üblichen Grundrechte für die Administration, sonst kommt er gar nicht erst in die Oberfläche.

Wie weit das Schreibrecht reicht

Das Schreibrecht auf die dataLayer-Eigenschaften ist eine weitreichende Berechtigung. Vergib sie nur an Personen, denen du auch Zugriff auf die Datenbank deines Shops geben würdest.

Der Grund liegt in der Funktionsweise des Plugins: Die dataLayer-Eigenschaften sind keine reinen Textfelder, sondern Vorlagen, die im Shop ausgeführt werden. Genau das macht das Plugin so flexibel — du kannst jeden Wert berechnen, statt aus einer festen Liste zu wählen. Es bedeutet aber auch, dass jeder, der diese Vorlagen ändern darf, damit Anweisungen hinterlegt, die auf jeder Shop-Seite laufen.

Zwei Punkte solltest du dabei kennen:

  • Die Vorlagen können auf Shop-Daten zugreifen. Das Plugin stellt dafür eine Abfrage-Funktion bereit, mit der sich Werte aus der Datenbank holen lassen — nicht nur aus den Tabellen des Plugins. Eine sorgfältig gebaute Eigenschaft kann damit auch Angaben lesen, die im Tracking nichts verloren haben, etwa Kundendaten.
  • Was in den dataLayer geschrieben wird, verlässt den Shop. Der dataLayer wird an den Google Tag Manager übergeben und von dort an die eingerichteten Dienste. Eine Eigenschaft, die versehentlich personenbezogene Daten mitschickt, ist damit kein reiner Shop-Fehler, sondern ein Datenschutzvorfall.

Praktisch heißt das:

Rolle im TeamEmpfohlene Berechtigung
Marketing, Auswertung, Kontrolle des Trackingsnur Lesen — reicht für die Übersicht und für den Export
Betreuung des Trackings, Anpassung der VorlagenBearbeiten und bei Bedarf Anlegen/Löschen
Externe Dienstleister ohne Datenbank-Zugangnur Lesen; Änderungen über einen Import, den ihr gemeinsam prüft

Der Import verlangt bewusst dasselbe Schreibrecht: Eine Import-Datei kann dieselben Vorlagen mitbringen wie die Oberfläche. Prüfe eine Datei aus fremder Quelle deshalb, bevor du sie einspielst — dieselbe Sorgfalt, die du auch einem Plugin aus unbekannter Herkunft entgegenbringst.

Diagnose im Browser

Das Plugin schreibt nichts in die Browser-Konsole — weder Fehler noch Hinweise. Shop-Besucher bekommen also unter keinen Umständen Ausgaben zu sehen. Die Diagnose-Meldungen laufen stattdessen in eine Aufzeichnung im Speicher des Browsers, die nur mit gesetztem Debug-Flag gefüllt wird.

Einschalten — einmalig in der Konsole der Entwicklerwerkzeuge eingeben, danach die Seite neu laden:

localStorage.setItem('wbmTagManagerDebug', '1')

Einträge ansehen:

window.wbmTagManagerDebug.dump()

Ausschalten:

localStorage.removeItem('wbmTagManagerDebug')

Jeder Eintrag besteht aus Zeitpunkt, Stufe und Meldung. Meldungen des Storefront-Codes tragen das Präfix [WbmTagManagerAnalytics], die der Einwilligungs-Laufzeit das Präfix [wbm-consent] — letztere erscheinen nur, wenn zusätzlich die Plugin-Einstellung Consent-Diagnose aufzeichnen eingeschaltet ist. Die Aufzeichnung fasst 200 Einträge; ältere fallen heraus, ein vergessenes Flag belegt also keinen unbegrenzten Speicher. Das Flag gilt nur im Browser, in dem es gesetzt wurde.

Zusätzlich geht jeder Eintrag als Storefront-Ereignis wbmTagManagerDiagnostic heraus. Daran hängt ein Shop sein eigenes Monitoring, ohne Plugin-Dateien zu ändern:

document.$emitter.subscribe('wbmTagManagerDiagnostic', (event) => {
    // event.detail = { time, level, args }
});

Das Plugin bedient den Google Consent Mode: Es sendet vor dem Laden des Containers eine Voreinstellung mit denied für alle Werbe- und Analyse-Speicherarten, meldet die Entscheidung des Besuchers als update und schiebt zusätzlich ein Ereignis wbm_consent_update in den dataLayer, an dem sich im Container ein Seitenaufruf im selben Besuch auslösen lässt. Die Wartezeit wait_for_update steuerst du über Auf das Einwilligungssignal warten (Millisekunden).

Damit das eine Wirkung hat, muss der Google-Tag-Manager-Container selbst consent-aware konfiguriert sein — also so eingerichtet, dass seine Tags auf diese Signale reagieren. Das ist Aufgabe des GTM-Setups beziehungsweise der betreuenden Agentur, nicht des Plugins.

Schnittstelle für eigene Anbindungen

Für Cookie-Werkzeuge, die das Plugin nicht kennt, steht im Browser die Schnittstelle window.wbmTagManager bereit. Damit lässt sich eine Anbindung aus einem Customizing-Plugin, aus einem Tag im Google Tag Manager oder aus einem Snippet des Werkzeugs selbst herstellen:

// Einzelne Speicherarten melden
window.wbmTagManager.setConsent({ analytics_storage: 'granted', ad_storage: 'denied' });

// Alles freigeben beziehungsweise alles sperren
window.wbmTagManager.grantAll();
window.wbmTagManager.denyAll();

// Container von Hand nachladen (bei "Erst nach Einwilligung laden")
window.wbmTagManager.loadGtm();

Alternativ meldest du die Entscheidung als Ereignis — praktisch, wenn kein direkter Zugriff auf das Objekt besteht:

document.dispatchEvent(new CustomEvent('wbm-tagmanager:consent', {
    detail: { analytics_storage: 'granted' }
}));

Wiederholte, unveränderte Meldungen werden unterdrückt; es wird also nichts doppelt gesendet.

Erweiterte Conversions

Bei angemeldeten Kunden übermittelt das Plugin zusätzlich Kontaktdaten in verschlüsselter (gehashter) Form, damit Google Käufe zuverlässiger zuordnen kann. Ob und wie diese Daten verwendet werden, entscheidet die Konfiguration auf Google-Seite. Prüfe vor dem Einsatz, ob diese Übermittlung zu deiner Datenschutzerklärung und deinem Consent-Konzept passt.

Server-Side Tagging

Läuft ein Server-Side-Tagging-Setup, trägst du dessen Adresse im Feld Eigene Tag-Manager-URL angeben der Karte TagManager Script manipulieren ein. Das Skript wird dann von dort geladen statt von der Standardadresse von Google.

Support und Dokumentation

Du erreichst die Dokumentation außerdem jederzeit direkt aus der Administration über die Schaltfläche zur Dokumentation in der Karte Grundeinstellungen.


Diese Anleitung wurde für Google Tag Manager + GA4 E-Commerce Tracking Version 6.7.15 erstellt.

Wer betreut deinen Shop, wenn es ernst wird?

Wir pflegen Shopware-Shops seit über 20 Jahren, inklusive Updates, Hotfixes und der Plugins, die du hier gerade einrichtest.

BuI Insights

Shopware- & xentral-Praxiswissen direkt ins Postfach

Plugin-Updates, Best Practices, Migrations-Tipps und Branchen-Cases. Ein Mal im Monat, nur das, was wirklich relevant ist. Jederzeit abbestellbar.

Mit dem Klick stimmst du zu, dass wir dir den Newsletter zusenden dürfen (Art. 6 Abs. 1 lit. a DSGVO). Mehr in der Datenschutzerklärung.