E-Commerce Tracking mit GA4 und GTM: Der Guide den wir unseren Kunden schicken
Sauberes E-Commerce Tracking ist selten. Wir onboarden mehrere Shops pro Quartal — und in fast jedem gibt es Tracking-Probleme. Doppeltes Zählen, fehlende Revenue-Parameter, falsche Currency. Dieser Guide erklärt, wie es richtig geht.
Warum ist das so wichtig? Weil Google Ads auf Conversion-Daten optimiert. Wenn Ihre Purchase-Events falsch gefeuert werden, optimiert der Algorithmus auf falsche Signale. Das kostet direkt Geld.
Ich schreibe diesen Guide für Shop-Betreiber und Entwickler, die selbst hand anlegen wollen — oder zumindest verstehen wollen, was wir als Agentur einrichten.
Die wichtigsten E-Commerce Events in GA4
GA4 hat ein definiertes Schema für E-Commerce Events. Diese vier sind die wichtigsten:
- view_item — Produktdetailseite wird aufgerufen
- add_to_cart — Produkt wird in den Warenkorb gelegt
- begin_checkout — Checkout wird gestartet
- purchase — Bestellung wird abgeschlossen
Das purchase-Event ist das wichtigste. Es muss die Parameter transaction_id, value, currency und items enthalten.
DataLayer richtig befüllen lassen
GTM liest Events aus dem dataLayer-Objekt auf der Website. Der Entwickler muss das befüllen. Hier ist ein Beispiel für das purchase-Event wie es im dataLayer aussehen sollte:
// Purchase Event im dataLayer
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'purchase',
ecommerce: {
transaction_id: 'ORDER-12345',
value: 149.90,
tax: 23.95,
shipping: 4.99,
currency: 'EUR',
coupon: '',
items: [{
item_id: 'SKU-001',
item_name: 'Bürostuhl Pro',
item_category: 'Büromöbel',
price: 149.90,
quantity: 1
}]
}
});Wichtig: Der value sollte der tatsächliche Umsatz sein, ohne MwSt., ohne Versand — oder konsistent mit MwSt. und Versand, je nach Entscheidung. Hauptsache: einheitlich.
GTM konfigurieren
In GTM braucht man für jedes Event einen Trigger und einen Tag. Für das purchase-Event sieht das so aus:
- Trigger: Custom Event, Event Name "purchase"
- Tag: GA4 Event Tag, Event Name "purchase", Enhanced Ecommerce aktivieren
- Variablen: Für jeden Parameter eine dataLayer-Variable anlegen
Enhanced E-Commerce in GA4 muss in den Property-Einstellungen aktiviert sein. Danach erscheinen in GA4 unter Reports automatisch E-Commerce-Berichte.
Google Ads verknüpfen
Zwei Möglichkeiten:
Option 1 — Conversion Import aus GA4: In Google Ads unter Conversions eine GA4-Conversion importieren. Der Vorteil: ein Conversion-Tracking-System für alles. Der Nachteil: GA4-Conversions haben eine Verzögerung von bis zu 48 Stunden.
Option 2 — Direkter Google Ads Tag: Über GTM einen Google Ads Conversion Tag hinzufügen, der direkt bei purchase feuert. Vorteil: schneller. Nachteil: zwei Systeme, die möglicherweise unterschiedliche Zahlen zeigen.
Wir empfehlen für die meisten Shops Option 1 mit GA4 als Quelle, ergänzt durch direkte Tags für kritische Conversions.
Die häufigsten Fehler
Doppel-Tracking: Das purchase-Event feuert zweimal. Passiert oft wenn es sowohl im Onpage-Code als auch über GTM ausgelöst wird. Prüfen mit dem GA4 Debugger.
Fehlende revenue Parameter: value ist 0 oder undefined. GA4 zeigt dann Transaktionen ohne Umsatz. Der häufigste Grund: Die dynamische Variable aus dem dataLayer ist falsch konfiguriert.
Falsche currency: Klingt trivial. Wenn der Wert in EUR ist, aber currency auf USD steht, sind alle Umsatzzahlen falsch skaliert.
Checkout wird nicht getrackt: add_to_cart und begin_checkout sind optional, aber wichtig für Funnel-Analyse. Viele Shops tracken nur purchases und wissen dann nicht, wo Nutzer abspringen.
Wann Server-Side sinnvoll wird
Für das purchase-Event empfehle ich ab einem gewissen Volumen Server-Side Tracking. Warum: Ein nicht geblocktes Conversion-Event ist für Google Ads wichtig. Gerade das purchase-Event — das wertvollste Signal — sollte möglichst vollständig ankommen.
Unser separater Artikel zu Stape und Server-Side Tracking erklärt das im Detail.
Häufige Fragen: E-Commerce Tracking GA4 & GTM
Welche GA4 Events sind für E-Commerce am wichtigsten?
Das purchase-Event ist das wichtigste (mit transaction_id, value, currency, items). Daneben add_to_cart und begin_checkout für Funnel-Analyse. view_item zeigt welche Produkte Interesse wecken ohne zu konvertieren.
Was ist der dataLayer?
Ein JavaScript-Array auf der Website das Daten für GTM bereitstellt. Der Entwickler befüllt es mit Events wie purchase inkl. Bestelldaten — GTM liest sie aus und sendet sie an GA4 oder Google Ads.
Warum werden Conversions doppelt gezählt?
Meist weil das purchase-Event sowohl im Shop-System als auch in GTM gefeuert wird, oder zwei separate Conversion-Tags ohne Deduplizierung via transaction_id existieren.
Muss der Entwickler den dataLayer befüllen?
Ja. GTM kann nur Daten lesen die auf der Website vorhanden sind. Viele Shop-Systeme (Shopify, Shopware) haben aber fertige Apps oder Plugins dafür.
Wann lohnt sich Server-Side Tracking zusätzlich?
Ab 2.000+ Sessions und nennenswerten Werbeausgaben. Für das purchase-Event ist Server-Side Tracking besonders wertvoll — Ad-Blocker können keinen Server blocken.
Daily Rocket
Ihr seid unsicher ob euer Tracking korrekt ist? Wir machen ein kostenloses Tracking-Audit und finden die Probleme.
Gespräch anfragen →