Trackum

WooCommerce GA4 Tracking: E-Commerce-Daten erfassen

GA4 erwartet view_item, add_to_cart, begin_checkout und purchase mit items-Array, value und currency. Dazu die typischen Fallen bei WooCommerce und der Test mit einer Bestellung.

Anleitung · 17. Oktober 2026 · 4 Min. Lesezeit

Foto: Lucrezia Carnelos auf Unsplash

Was GA4 für Shops erwartet

GA4 erwartet für Shops die Ereignisse view_item, add_to_cart, begin_checkout und purchase. Sie bilden den Weg vom Produkt bis zum Kauf ab: Jemand sieht einen Artikel, legt ihn in den Warenkorb, beginnt den Bezahlvorgang und kauft. Jedes Ereignis braucht ein items-Array mit item_id, item_name, price und quantity, dazu value und currency. Bei purchase kommt die transaction_id hinzu. Das sind Namen, die GA4 für seine Shop-Berichte kennt. Weichst du davon ab, füllen sich die E-Commerce-Berichte nicht.

Für WooCommerce gibt es Plugins, die diese Daten in den dataLayer schreiben. Der Tag Manager liest sie dort aus und sendet sie an GA4. Der dataLayer ist dabei die Schnittstelle: Der Shop legt dort ab, was passiert ist, und der Tag Manager entscheidet, wohin er es meldet. Ist der dataLayer unvollständig, fehlen die Daten in GA4. Prüfe deshalb, dass Produktansicht, Warenkorb, Checkout und Bestellbestätigung abgedeckt sind.

Die Daten im Detail

Das items-Array ist eine Liste: Für jeden Artikel im Warenkorb ein Eintrag mit Artikelnummer, Name, Einzelpreis und Menge. value ist der Gesamtwert des Ereignisses, currency die Währung als Kürzel wie EUR. Wichtig ist, dass der Wert stets zur Summe der Positionen passt. Stimmen Einzelpreise und Gesamtwert nicht zusammen, entstehen in GA4 Umsätze, die zu keiner Buchung passen.

Die transaction_id bei purchase ist die Bestellnummer. Sie macht jede Bestellung eindeutig. GA4 kann damit erkennen, dass zwei gleiche Ereignisse zur selben Bestellung gehören, und zählt sie nicht doppelt. Verwende dafür die Nummer aus WooCommerce, nicht eine Zufallszahl, die bei jedem Seitenaufruf neu entsteht. Dann lassen sich später GA4-Zahlen und Bestellungen im Shop eins zu eins vergleichen.

Passend dazu: Meta Pixel über den Google Tag Manager einrichten

Typische Fallen

AJAX-Warenkorb: Wird ein Artikel ohne Seitenwechsel hinzugefügt, kommt das Ereignis oft nicht an, weil das Plugin nur auf Seitenaufrufe achtet. Zahlungsanbieter mit Umleitung: Schließe sie als unerwünschte Verweise aus, sonst verliert der Kauf seine Quelle. Bestellbestätigung: Beim Neuladen kann purchase erneut gemeldet werden, achte auf eine eindeutige transaction_id. Wert: Setze value einheitlich mit oder ohne Versand.

  • AJAX-Warenkorb löst add_to_cart aus.
  • Zahlungsanbieter mit Umleitung als unerwünschte Verweise ausschließen.
  • purchase wird bei Neuladen nicht erneut gemeldet.
  • value einheitlich mit oder ohne Versand.
  • Fest eingebautes altes Google Analytics entfernen.

Der letzte Punkt ist ein Klassiker bei älteren Shops: Irgendwann hat jemand den alten Analytics-Code direkt ins Theme eingefügt. Kommt nun ein Tag Manager mit GA4 dazu, werden Seitenaufrufe und Käufe doppelt gezählt. Schau im Quelltext nach, ob dort noch Skripte von Google Analytics stehen, die nicht aus dem Container kommen, und entferne sie.

Konfiguration im Tag Manager

Lege für jedes Ereignis einen Trigger vom Typ „Benutzerdefiniertes Ereignis“ auf den Ereignisnamen im dataLayer an, und dazu je ein GA4-Ereignis-Tag. Prüfe bei purchase, dass transaction_id eindeutig ist und nicht bei jedem Seitenaufruf neu entsteht. Die Artikelliste aus dem dataLayer gibst du an den GA4-Tag weiter, in der Einstellung zur Übertragung von E-Commerce-Daten. Läuft ein Plugin parallel direkt zu GA4, entstehen Duplikate. Entscheide dich für den Tag Manager oder das Plugin, nicht für beides.

Für Google Ads und das Meta Pixel nutzt du denselben dataLayer: Der Kauf-Trigger löst zusätzlich einen Conversion-Tag für Google Ads und einen Kauf-Tag für das Pixel aus, mit dem Wert und der Währung aus den Daten. So hast du eine einzige Quelle für alle Dienste, und die Zahlen stimmen überall überein.

Einwilligung

Alle diese Tags dürfen nur mit Einwilligung feuern. Dein Banner muss seine Wahl an den Tag Manager melden, und die Tags müssen darauf reagieren. Mit dem Consent Mode v2 gibst du Google den Status weiter. Tags anderer Anbieter wie das Meta Pixel steuerst du über die Einwilligungsprüfung im Tag Manager. Das ist keine Rechtsberatung. Teste, dass bei „Ablehnen“ keine Kaufdaten an Werbedienste gehen.

Test mit einer echten Bestellung

Teste mit einer echten Testbestellung vom Produkt bis zur Bestätigung. Beobachte den dataLayer und die Vorschau des Tag Managers. Prüfe, dass alle vier Ereignisse erscheinen, items vollständig sind und der Wert zur Bestellung passt. Teste auch den Rücksprung vom Zahlungsanbieter und mit und ohne Einwilligung.

Ein Beispiel: Ein kleiner Shop für Kerzen kauft ein Plugin für das E-Commerce-Tracking und stellt fest, dass GA4 Umsätze zeigt, die höher sind als die Bestellungen in WooCommerce. Die Testbestellung zeigt den Grund: purchase kommt zweimal an, einmal vom Plugin direkt, einmal über den Tag Manager. Nach Abschalten der direkten Übertragung stimmen die Zahlen. Vergleiche nach einer Woche die Anzahl der Käufe in GA4 mit den echten Bestellungen. Kleine Abweichungen sind normal, weil nicht alle zustimmen.

Wann sich Hilfe lohnt

Shop-Tracking betrifft Plugin, Zahlungsanbieter, Banner und Werbekonten gleichzeitig und fällt bei Updates leicht wieder um. Trackum richtet Tracking ein, auch mit Tag Manager, GA4, Google Ads, Meta Pixel und Consent Mode v2, mit festen Preisen vorab. Getestet wird mit und ohne Einwilligung, live geht es innerhalb eines Werktags.

Häufige Fragen

Welche Ereignisse erwartet GA4?

view_item, add_to_cart, begin_checkout und purchase, jeweils mit einem items-Array (item_id, item_name, price, quantity) sowie value und currency. Bei purchase kommt die transaction_id hinzu.

Was ist das Problem beim AJAX-Warenkorb?

Wird ein Artikel ohne Seitenwechsel in den Warenkorb gelegt, wird add_to_cart oft nicht gemeldet. Prüfe, ob dein Setup diese Interaktion erkennt.

Warum ist die transaction_id wichtig?

Sie identifiziert jede Bestellung eindeutig. Wird die Bestellbestätigung beim Neuladen erneut gemeldet, hilft sie gegen Doppelzählung.

Darf der alte Analytics-Code im Shop bleiben?

Nein, ein fest eingebauter alter Google-Analytics-Code zusätzlich zum Tag Manager führt zu Doppelzählungen.