Allgemeine Informationen zum e-Commerce Tracking
Wichtig! Das e-Commerce Tracking ist nur ab dem Business Abo verfügbar.
Das e-Commerce Tracking bietet ein vollwertiges Tracking deines Onlinehshops, ähnlich wie du es aus dem e-Commerce Tracking bei Google Analytics kennst.
Folgende Daten werden hier zusätzlich ermittelt:
- Artikelumsatz
- Top Channel (auf Basis der Verkäufe)
- Warenkorb Absprung
- Meist verkauftes Produkt
- bester Tag (auf Basis des gewählten Zeitrahmens)
- meist aufgerufene Produkte
- Auflistung aller Bestellungen inkl. entsprechender Einstiegsseite (die Einstiegsseite ist die Seite die der Besucher als erstes beim Besuch aufgerufen hat)
- Anzeige der Verkaufshöhe für Channel (z.B. Facebook, verweisende Webseiten, etc.) , Ländern und Regionen, UTM Quellen, Browser und Endgeräte)
Alle Daten lassen sich filtern und sortieren. Somit könnte ihr bis ins kleinste Detail die Performance eures Onlinehsops auswerten.
Für die einzelnen Bereiche gibt es zusätzlich zur Standardansicht auch die Option in die Detailansicht zu wechseln.
Diese bietet dann eine weitere Möglichkeit Daten einzusehen.

Nutzung / Aktivierung des e-Commerce Trackings
Das e-commerce Tracking ist ab dem Business Tarif automatisch verfügbar.
Einbindung des Codes für das e-Commerce Tracking
Damit das e-commerce Tracking funktioniert, ist eine zusätzliche Einbindung von Scripten in eure Webseite nötig.
Grundsätzlich habt ihr 2 Wege diese Scripte in eure Seite einzubinden:
- manuelle Einbindung
- Einbindung über ein entsprechendes Plugin
Manuelle Einbindung
Die manuelle Einbindung erfordert Programmierkenntnisse und sollte nur von erfahrenen Entwicklern durchgeführt werden.
Diese Anleitung beschreibt, wie du das E-Commerce-Tracking von Trackboxx manuell in einen Shop integrierst – unabhängig davon, ob du ein Custom-System, Shopify, Shopware, Magento oder einen anderen Shop einsetzt. Für WooCommerce steht ein offizielles Plugin bereit, das alle hier beschriebenen Events automatisch auslöst.
Grundlogik: Was bedeutet trackboxx('Purchase', [...])?
Bevor es an die einzelnen Events geht, ein wichtiger Punkt zum Verständnis – dieser Punkt wird erfahrungsgemäß am häufigsten falsch interpretiert:
Wichtig: trackboxx('Purchase', [...]) ist kein einzelnes Event, sondern der generische Aufruf für alle E-Commerce-Interaktionen. Welches Event tatsächlich getrackt wird, bestimmt das erste Objekt im Array über seinen type:
{ type: 'ViewProduct' }– Produktdetailseite{ type: 'AddToCart' }– Produkt in den Warenkorb gelegt{ type: 'ViewCart' }– Warenkorbseite angesehen{ type: 'order' }– Bestellung abgeschlossen
Das 'Purchase' im Funktionsaufruf bezeichnet lediglich die Aktionskategorie „E-Commerce“ und bleibt immer gleich – egal ob du eine Produktansicht, einen Add-to-Cart oder einen tatsächlichen Kauf trackst.
Die vier E-Commerce-Events im Überblick
1. ViewProduct – Produktdetailseite
Auslösen: Beim Aufruf einer Produktdetailseite.
Minimaldaten: Produktname und Einzelpreis.
<script>
trackboxx('Purchase', [
{ type: 'ViewProduct' },
{ type: 'product', name: '%%PRODUCT_NAME%%', price: 99.90 }
]);
</script>Code-Sprache: HTML, XML (xml)
Hinweise:
price= Einzelpreis des Produkts (numerisch, Punkt als Dezimaltrenner).- Optionale Zusatzfelder:
sku,category. - Bei Varianten oder Bundles: den kompletten Variantennamen inkl. Attribute übergeben (z. B. „T-Shirt – rot, L“), damit Reports konsistent aggregiert werden.
2. AddToCart – Produkt in den Warenkorb gelegt
Auslösen: Nach erfolgreichem „In den Warenkorb“-Vorgang – nicht blind beim Klick.
Minimaldaten: Produktname und Einzelpreis.
<script>
trackboxx('Purchase', [
{ type: 'AddToCart' },
{ type: 'product', name: '%%PRODUCT_NAME%%', price: 19.99 }
]);
</script>Code-Sprache: HTML, XML (xml)
Hinweise zum Timing – je nach Shop-Typ:
- Custom Shops und AJAX-Warenkörbe: Event im Success-Callback der Add-to-Cart-Aktion feuern, nicht im Click-Handler. So wird kein Tracking-Event erzeugt, wenn der Artikel aufgrund von Bestandsprüfung, Validierung oder Netzwerkfehlern gar nicht im Warenkorb landet.
- Serverseitige Shops mit Redirect: Event auf der Folgeseite nach erfolgreichem Add einmalig auslösen.
- Einfache Button-Klick-Integrationen: erlaubt, aber nur, wenn sichergestellt ist, dass der Klick tatsächlich zu einem erfolgreichen Add führt (z. B. Button-Disabled-Check bei ausverkauften Produkten).
- Deduplizierung: AddToCart nur einmal pro Aktion senden – keine Dopplung bei Reload oder Zurück-Navigation.
3. ViewCart – Warenkorbseite
Auslösen: Beim Aufruf der Warenkorbseite.
Minimaldaten: Cart-Summe (amount). Optional: alle enthaltenen Produkte als separate Objekte.
<script>
trackboxx('Purchase', [
{ type: 'ViewCart' },
{ type: 'cart', amount: 149.70 },
{ type: 'product', name: 'Produkt A', price: 99.90 },
{ type: 'product', name: 'Produkt B', price: 49.80 }
]);
</script>Code-Sprache: HTML, XML (xml)
Hinweise:
amount= Gesamtsumme des Warenkorbs. Standard: Netto (entspricht dem Verhalten des offiziellen WooCommerce-Plugins).- Wenn dein Shop mit Bruttopreisen arbeitet, sind Bruttowerte ebenfalls erlaubt – entscheidend ist Konsistenz innerhalb eines Events:
cart.amountund alleproduct.price-Werte müssen auf derselben Basis (alle netto oder alle brutto) berechnet sein. - Pro Warenkorbposition ein eigenes
product-Objekt anhängen. - Der
pricepro Produkt entspricht hier der Positionssumme (Einzelpreis × Menge) – siehe Abschnitt „Preislogik & Quantity“.
4. Purchase – Bestellabschluss (Danke-Seite)
Auslösen: Auf der Bestellbestätigungsseite nach erfolgreicher Zahlung – genau einmal pro Bestellung.
Minimaldaten: Order-ID, Gesamtbetrag, alle gekauften Produkte.
<script>
trackboxx('Purchase', [
{ type: 'order', id: 'ORDER_ID', total: 149.70 },
{ type: 'product', name: 'Produkt A', price: 99.90 },
{ type: 'product', name: 'Produkt B', price: 49.80 }
]);
</script>Code-Sprache: HTML, XML (xml)
Optional – mit Gutschein: Pro eingesetztem Gutschein ein zusätzliches coupon-Objekt anhängen.
<script>
trackboxx('Purchase', [
{ type: 'order', id: '12345', total: 149.70 },
{ type: 'coupon', name: 'SUMMER10', discount: 10.00 },
{ type: 'product', name: 'Produkt A', price: 99.90 },
{ type: 'product', name: 'Produkt B', price: 49.80 }
]);
</script>Code-Sprache: HTML, XML (xml)
Hinweise:
- Beim Purchase-Event gibt es keinen vorangestellten Event-Marker wie bei ViewProduct oder AddToCart – das
order-Objekt identifiziert den Event selbst. order.id= eindeutige Bestell-ID aus dem Shop-System.order.total= Gesamtwert der Bestellung (Brutto-Endbetrag inkl. Versand und Steuern wird empfohlen, muss aber zur Konsistenz mit den product.price-Werten passen).product.price= Positionssumme (Einzelpreis × Menge), nicht Einzelpreis.- Gegen mehrfaches Feuern absichern (Reload-Schutz), z. B. über serverseitiges Flag oder Session-Marker.
Preislogik & Quantity
Trackboxx verwendet kein separates quantity-Feld. Mengen werden implizit über den Preis abgebildet. Diese Regel ist verbindlich und sollte in jeder Integration gleich umgesetzt werden:
| Event | Bedeutung von price |
|---|---|
ViewProduct | Einzelpreis des Produkts |
AddToCart | Einzelpreis des Produkts |
ViewCart | Positionssumme (Einzelpreis × Menge) |
Purchase (order) | Positionssumme (Einzelpreis × Menge) |
Beispiel: Drei identische Artikel à 19,99 € im Warenkorb werden bei ViewCart und Purchase als ein product-Objekt mit price: 59.97 gesendet – nicht als drei separate Objekte und ohne quantity-Feld.
Reihenfolge der Objekte im Array
Für eine saubere, konsistente Integration empfehlen wir folgende Reihenfolge der Objekte:
- Event-Marker bzw.
order-Objekt (ViewProduct/AddToCart/ViewCart/order) cart-Objekt (nur bei ViewCart)coupon-Objekte (nur bei Purchase, falls vorhanden)product-Objekte
Best Practices
- Deduplizierung: Jedes Event nur einmal pro tatsächlicher Aktion senden – kein Doppeltracking bei Reload, Zurück-Navigation oder AJAX-Retries.
- Timing:
ViewProductundViewCartbeim Seitenaufbau feuern.AddToCartnach bestätigtem Hinzufügen.Purchaseeinmalig auf der Danke-Seite. - Preise & Beträge: Als
Numberübergeben (kein String), mit Punkt als Dezimaltrenner (z. B.19.99– nicht"19,99"). - Konsistenz: Netto oder brutto ist eine Entscheidung pro Shop – aber dann durchgängig für
cart.amount,product.priceundorder.total. - Datenschutz: Niemals personenbezogene Daten übergeben – keine E-Mail-Adressen, Namen, Kundennummern oder Adressen. Consent respektieren.
Schnell-Checkliste je Shop-System
- WooCommerce: Nutze das offizielle Trackboxx-Plugin. Es löst alle vier Events (
ViewProduct,AddToCart,ViewCart,Purchase) automatisch aus – keine manuelle Integration nötig. - Custom Shops: Serverseitig Produktname, Preis und Summe als Variablen in das jeweilige Inline-Script einsetzen.
- Shopify: Snippets in die Templates einbauen (
product.liquid,cart.liquid, Checkout-Thank-You-Page). FürAddToCartam AJAX-Success-Callback andocken. - Shopware / Magento: An die entsprechenden Events bzw. Hooks im Theme oder Plugin hängen – Produktseite, Warenkorbseite, Add-to-Cart-Event, Order-Complete-Event.
Referenz: Minimalvarianten
ViewProduct (minimal)
trackboxx('Purchase', [
{ type: 'ViewProduct' },
{ type: 'product', name: 'Product Name 1', price: 19.99 }
]);Code-Sprache: JavaScript (javascript)
AddToCart (minimal)
trackboxx('Purchase', [
{ type: 'AddToCart' },
{ type: 'product', name: 'Product Name 1', price: 19.99 }
]);Code-Sprache: JavaScript (javascript)
ViewCart (minimal)
trackboxx('Purchase', [
{ type: 'ViewCart' },
{ type: 'cart', amount: 19.99 }
]);Code-Sprache: JavaScript (javascript)
Purchase (minimal)
trackboxx('Purchase', [
{ type: 'order', id: 'ORDER_ID', total: 19.99 },
{ type: 'product', name: 'Product Name 1', price: 19.99 }
]);Code-Sprache: JavaScript (javascript)
Kurzüberblick: Die wichtigsten Regeln
trackboxx('Purchase', [...])ist ein generischer E-Commerce-Call, kein Event.- Der Eventtyp steckt im Payload (
type-Feld des ersten Objekts), nicht im Funktionsaufruf. AddToCartnach erfolgreichem Add feuern – nicht blind beim Klick.cart.amountim Standard als Netto-Wert; Brutto erlaubt, aber konsistent innerhalb des Events.price= Einzelpreis beiViewProduct/AddToCart, Positionssumme beiViewCart/Purchase.- Kein separates
quantity-Feld – Mengen über den Preis abbilden. - Purchase-Event basiert auf
{ type: 'order' }ohne vorangestellten Event-Marker. - Preise als Number mit Punkt-Dezimaltrenner, niemals als String.
- Keine personenbezogenen Daten im Payload.
Einbindung über Plugin
Aktuell ist die Einbindung über Plugin mit den folgenden Systemen möglich:
- WordPress – Hier geht es zum Download des Plugins
- JTL – Hier geht es zum Download des Plugins
Wir werden Stück für Stück weitere Plugins umsetzen.
Aktuell bereits in der Umsetzung:
- ePages (mittlerweile verfügbar)
- Shopware
Anzeige der meist aufgerufenen Produkte
Um diese Anzeige auszugeben, geht bitte wie folgt vor:
- klickt auf das Zahnrad für die Einstellungen und wählt „Webseiten“ aus
- bei der entsprechenden Webseite klickt auf die 3 Punkte hinter der Webseite

Im folgenden PopUp haben wir nun 2 Optionen diese Ausgabe zu nutzen/konfigurieren:
- Eure Produkte haben einen eindeutigen Pfad – z.B. www.webseite.de/produkte/produkt-XYZ
In diesem Fall „Produkte“ – dann könnt ihr die erste Option nutzen un diesen Pfad an der entsprechenden Stelle eintragen:
Das Format wäre: (.*)/produkte/(.*)
2. Sollte es keineneindeutigen Pfad geben, müssten wir hier den Google Product Feed nutzen. In der Regel nutzt man diesen ja bei einem Onlineshop.
Tragt diesen Feed einfach ein und speichert diesen.

