Zum Inhalt springen
Dokumentation
Jetzt starten

E-Commerce Tracking

Inhalt
Implementierung über Plugins Erfassung über Google Analytics E-Commerce-Parameter Manuelles Einbinden von etracker E-Commerce Events Debug-Modus Funktionen der E-Commerce API sendEvent - Event direkt absenden attachEvent - Event an Objekt anknüpfen Mögliche Events Event Objekte Anwendungsbeispiele

Mit Hilfe der Erfassung von E-Commerce Events lässt sich die komplette User Journey durch einen Online-Shop nachvollziehen und auf Kategorien und Artikel herunterbrechen. Neben den Transaktionsdaten beim Bestellabschluss zählen auch Interaktionen, die vor einem Kauf stattfinden, zu den E-Commerce Events:

  • Produktlisten-Ansichten
  • Produktdetail-Aufrufe
  • Merklisten-Aktionen
  • Warenkorb-Aktionen
  • Bestellungen bis hin zu Wandlung in Käufe oder Stornos.

Sollen hingegen nur die Transaktionen selbst gemessen werden, können diese am einfachsten mittels Parameter im etracker Code übertragen werden.
Mehr Informationen zu den Bestellparametern findest du hier.

Das E-Commerce Tracking mit etracker analytics zur tiefgehenden Analyse des Einkaufsverhaltens kann auf drei Wegen implementiert werden:

  1. Implementierung über Plugins.
  2. Erfassung über Google Analytics E-Commerce-Parameter.
  3. Manuelles Einbinden von etracker E-Commerce Events.
Achtung

Bitte beachte unsere Troubleshooting-Tipps bei Abweichungen im E-Commerce Tracking.

Implementierung über Plugins

Die speziellen Erweiterungen für Shopsysteme machen die Implementierung besonders einfach.

Erfassung über Google Analytics E-Commerce-Parameter

Wenn du ein anderes Shopsystem einsetzt und z.B. ein Plugin für Google Analytics E-Commerce Tracking (GA4 oder UA) nutzt, übernimmt etracker die Messung, indem du eine Ergänzung im etracker Code vornimmst.

Die Erfassung ist allerdings nur möglich, wenn die E-Commerce-Parameter direkt im HTML-Code vorhanden sind und nicht über den Google Tag Manager implementiert wurden. Der Einsatz von Google Analytics ist hierfür nicht erforderlich. Das Google Tag kann weiterhin vorhanden bleiben oder auch entfernt werden.

Weitere Voraussetzung ist, dass der aktuelle etracker Code korrekt eingebunden ist und um das Data-Attribut data-ecommerce-grabber=“true“ ergänzt wird.

Der etracker Code sieht dann wie folgt aus:

javascript
<!-- Copyright (c) 2000-2021 etracker GmbH. All rights reserved. -->
<!-- This material may not be reproduced, displayed, modified or distributed -->
<!-- without the express prior written permission of the copyright holder. -->
<!-- etracker tracklet 5.0 -->
<script type="text/javascript">
// var et_pagename = "";
// var et_areas = "";
// var et_tval = 0;
// var et_tsale = 0;
// var et_tonr = "";
// var et_basket = "";
</script>
<script data-ecommerce-grabber="true" id="_etLoader" type="text/javascript" charset="UTF-8" data-block-cookies="true" data-secure-code="XXXXXX" src="//code.etracker.com/code/e.js" async></script>
<!-- etracker tracklet 5.0 end -->

Der data-secure-code "xxxxxx" ist durch den persönlichen Account-Schlüssel zu ersetzen.

Folgende E-Commerce Events werden von etracker übernommen:

  • Produkt auf einer Liste gesehen
  • Produkt(detailseite) angesehen
  • In den Warenkorb gelegt
  • Aus dem Warenkorb entfernt
  • Bestellung des Produkts als Lead
Wichtig

Werden etracker E-Commerce Events bereits über ein etracker Shop-Plugin oder die direkt eingebundene Messung erfasst, sollte die hier beschriebene Funktion nicht genutzt werden, um die doppelte Erfassung der Events zu vermeiden.

Manuelles Einbinden von etracker E-Commerce Events

Für die manuelle Integration steht die etracker E-Commerce API zur Verfügung.

Die E-Commerce API ist eine JavaScript-Schnittstelle, die mit der Auslieferung des etracker Codes aktiviert ist, sodass die Events sofort in den Code eingebunden werden können.

Achtung

Die E-Commerce Events dürfen erst dann übermittelt werden, wenn der etracker Code vollständig geladen wurde. Um Timing-Probleme zu vermeiden, sollte das E-Commerce Event daher verzögert und mit der Funktion _etrackerOnReady sichergestellt werden, dass der etracker Code bereits geladen wurde, bevor die E-Commerce Events abgesendet werden:

javascript
window._etrackerOnReady = typeof window._etrackerOnReady === 'undefined' ? [] : window._etrackerOnReady;
window._etrackerOnReady.push(function() {
  etCommerce.sendEvent('viewProduct', { /* product */ } )
});

Oder folgende Funktion, wenn mehrere Events an verschiedenen Stellen im Code abgeschickt werden sollen:

javascript
<script>
window._etrackerOnReady = typeof window._etrackerOnReady === 'undefined' ? [] : window._etrackerOnReady;
window._etrackerOnReady.push(function() {
etCommerce.sendEvent('viewProduct', { /* product1 */ } )
});
</script>
...
<script>
window._etrackerOnReady.push(function() { 
  etCommerce.sendEvent('viewProduct', { /* product2 */ } ) 
});
</script>

Debug-Modus

Die Schnittstelle ist mit einem Debug-Modus ausgestattet, der besonders während des Einbaus der E-Commerce API hilfreich ist. Wenn der Debug-Modus aktiviert ist, werden Fehlermeldungen, Events und der Aufruf der etracker Schnittstelle in der JavaScript-Konsole des Browsers angezeigt.

Achtung

Die Events werden nicht an etracker übermittelt, während der Debug-Modus aktiviert ist. Der Modus kann erst eingeschaltet werden, wenn der etracker Code komplett geladen ist. Um die Ausgaben lesen zu können, helfen Entwicklertools wie sie heute von vielen Browsern angeboten werden.

Zur Überprüfung von Änderungen im Live-Betrieb ist der Basis Report Letzte Besucher sehr hilfreich. Hier sieht man in Echtzeit, ob die Events richtig übergeben werden. Wenn man die Events selbst auslöst, ist darauf zu achten, dass nicht die IP-Sperre oder das individuelle Opt-Out die Erfassung verhindert.

Debug-Modus über die Konsole einschalten

Der Debug-Modus lässt sich mit folgenden Befehlen direkt in der Konsole aktivieren:

javascript
_etracker.tools.enableDebug()
_etracker.tools.enableDebugMode()

Es wird ein Config-Cookie für diese Session gesetzt, das die jeweilige Einstellung enthält.

Hinweis

Bei aktivem Debug-Modus werden die Events nicht an etracker übermittelt, sondern ausschließlich in der Konsole wiedergegeben.

Nach erfolgreichem Test musst du den Debug-Modus mit folgenden Befehlen wieder ausschalten:

javascript
_etracker.tools.disableDebug()
_etracker.tools.disableDebugMode()

Funktionen der E-Commerce API

Die Schnittstelle hat zwei grundlegende Funktionen, um Informationen an etracker zu übermitteln: sendEvent und attachEvent. sendEvent ist der direkte Aufruf eines von der Schnittstelle definierten E-Commerce Events, welcher sofort die übergebenen Werte sendet. Soll das Absenden an ein bestimmtes JavaScript Event gekoppelt sein – z. B. Besucher klickt auf in den Warenkorb – dann kann die Funktion attachEvent verwendet werden, die das E-Commerce Event an ein gewünschtes Objekt der Webseite anhängt. Wenn der Tracking Code am Ende der HTML-Seite eingebaut ist oder asynchron geladen wird, gibt es die Möglichkeit, Events und das Anhängen von Events an HTML-Objekte zwischenzuspeichern. Die Funktionen werden dann ausgeführt, wenn der Tracking Code komplett geladen ist.

sendEvent – Event direkt absenden

javascript
etCommerce.sendEvent(event, parameter_1, [parameter_n])

Die Funktion sendEvent des Objekts etCommerce wird im JavaScript direkt aufgerufen. Die übergebenen Werte werden dabei direkt an etracker übermittelt.

FunktionsparameterDatentypBegrenzungBeschreibung
eventstringEs werden nur die von der Schnittstelle definierten Events unterstützt.Name des Events
parameter_1, [parameter_n]mixedSiehe weitere Beschreibung
Hinweis

Parameter in eckigen Klammern [ ] sind optionale Parameter.

Beispiel direkter Aufruf javascript
etCommerce.sendEvent('viewProduct', product) ;

attachEvent – Event an Objekt anknüpfen

javascript
etCommerce.attachEvent(attachObject, event, parameter_1, [parameter_n])

Mit der Funktion attachEvent kann an jedes Webseiten-Objekt, das eine ID besitzt, ein eCommerce Event angehängt werden. Dieses wird dann durch das angegebene JavaScript-Event ausgelöst. So wird direkt mit dem Klick auf den Button In den Warenkorb das eCommerce Event an etracker übermittelt.

FunktionsparameterDatentypBegrenzungBeschreibung
attachObjectobjectEs werden nur bestehende JavaScript-Events und Objekt-IDs, die mittels getElementById ermittelt werden, unterstützt.
Der Aufbau des Objekts ist folgendermaßen: {'Eventname' : ['Objekt-ID1', ‘Objekt-ID2’]}
In diesem Objekt sind das JavaScript-Event und die IDs der Webseiten-Objekte enthalten, an das dieses Event angehängt wird.
eventstringEs werden nur die von der Schnittstelle definierten Events unterstützt (siehe "Mögliche Events").Name des angehängten Events
parameter_1, [parameter_n]mixedSiehe weitere Beschreibung
Hinweis

Parameter in eckigen Klammern [ ] sind optionale Parameter.

Beispiel verknüpfen des E-Commerce Events mit einem JavaScript-Event javascript
etCommerce.attachEvent({'mousedown' : ['viewButton']}, 'viewProduct', product) ;

Mögliche Events

Die E-Commerce API unterstützt neun verschiedene Events, die im Folgenden beschrieben werden.

viewProduct – Produkt(detailseite) angesehen 

Dieses Event kann gesendet werden, wenn sich der Kunde auf der Produktseite oder einer Übersichtsseite von Produkten befindet. Ein Produkt sollte als ‚gesehen‘ gewertet werden, wenn man es von dieser Seite aus in den Warenkorb legen kann.

Hinweis: Dies bedeutet, wenn Produkte von der Kategorie-Übersichtsseite direkt in den Warenkorb gelegt werden, muss hier, gleichzeitig zum ‚Produkt in den Warenkorb-Event‘, auch ein ‚Produkt gesehen-Event‘ aufgerufen werden.

Mit der Funktion _etrackerOnReady wird dabei sichergestellt, dass der etracker Code bereits geladen wurde, bevor das eCommerce Events abgesendet wird.

FunktionsparameterDatentypBegrenzungBeschreibung
viewProductstringNur dieser Name ist zugelassenName des Events
Produkt-ObjektobjectDas Objekt muss der Produkt-Objekt-Beschreibung entsprechen (siehe "Das Produkt-Objekt")Ein Produkt-Objekt
Beispiel Definition des Produkt-Objekts javascript
var product = {
  id: '3445',
  name: 'TV 47 Zoll Special Angebot',
  price: '1723.60',
  currency: 'EUR',
  category: ['TV', 'LCD', '47', 'Special']
};
function _etrackerOnReady() {  
etCommerce.sendEvent('viewProduct', product);
};
window._etrackerOnReady = typeof window._etrackerOnReady === 'undefined' ? [] : window._etrackerOnReady;
window._etrackerOnReady.push(function() {
  etCommerce.sendEvent('viewProduct', product)
});

insertToBasket – Produkt in den Warenkorb gelegt

Dieses Event wird gesendet, wenn der Kunde seinem Warenkorb ein Produkt hinzufügt.

FunktionsparameterDatentypBegrenzungBeschreibung
insertToBasketstringNur dieser Name ist zugelassenName des Events
Produkt-ObjektobjectDas Objekt muss der Produkt-Objekt-Beschreibung entsprechen
(siehe "Das Produkt-Objekt")
Ein Produkt-Objekt
Anzahlinteger0 - 65 535
Negative Zahlen sind nicht erlaubt
Die Anzahl der in den Warenkorb gelegten Produkte

Für die Übergabe mit dem Klick muss die Funktion ‚attachEvent‘ genutzt werden. Demnach ist folgender Beispiel-Code für die Auslösung des Events notwendig:

Beispiel Definition des Produkt-Objekts javascript
var product = {
  id: '3445',
  name: 'TV 47 Zoll Special Angebot',
  price: '1723.60',
  currency: 'EUR',
  category: ['TV', 'LCD', '47', 'Special']
};
    
etCommerce.attachEvent({'mousedown' : ['ButtonZuWarenkorb']}, 
'insertToBasket', product, 3);

removeFromBasket – Produkt aus dem Warenkorb entfernt

Dieses Event wird gesendet, wenn der Kunde ein Produkt aus dem Warenkorb entfernt.

FunktionsparameterDatentypBegrenzungBeschreibung
removeFromBasketstringNur dieser Name ist zugelassenName des Events
Produkt-ObjektobjectDas Objekt muss der Produkt-Objekt-Beschreibung entsprechen.Ein Produkt-Objekt
Anzahlinteger0 - 65 535
Negative Zahlen sind nicht erlaubt
Die Anzahl der entfernten Produkte

Beispiel Definition des Produkt-Objekts javascript
var product = {
  id: '3445',
  name: 'TV 47 Zoll Special Angebot',
  price: '1723.60',
  currency: 'EUR',
  category: ['TV', 'LCD', '47', 'Special']
};
    
etCommerce.attachEvent({'mousedown' : ['ButtonAusWarenkorb']}, 
'removeFromBasket', product, 2);

insertToWatchlist – Produkt zur Merkliste hinzugefügt

Dieses Event wird gesendet, wenn der Kunde seiner Merkliste ein Produkt hinzufügt.

FunktionsparameterDatentypBegrenzungBeschreibung
insertToWatchliststringNur dieser Name ist zugelassenName des Events
Produkt-ObjektobjectDas Objekt muss der Produkt-Objekt-Beschreibung entsprechen
(siehe "Das Produkt-Objekt")
Ein Produkt-Objekt
Anzahlinteger0 - 65 535
Negative Zahlen sind nicht erlaubt

Die Anzahl der auf die Merkliste gesetzten Produkte

Beispiel Definition des Produkt-Objekts javascript
var product = {
  id: '3445',
  name: 'TV 47 Zoll Special Angebot',
  price: '1723.60',
  currency: 'EUR',
  category: ['TV', 'LCD', '47', 'Special']
};
    
etCommerce.attachEvent({'mousedown' : ['ButtonZuMerkliste']}, 
'insertToWatchlist', product, 3);

removeFromWatchlist – Produkt von Merkliste entfernt

Dieses Event wird gesendet, wenn der Kunde ein Produkt aus der Merkliste entfernt.

FunktionsparameterDatentypBegrenzungBeschreibung
removeFromWatchliststringNur dieser Name ist zugelassenName des Events
Produkt-ObjektobjectDas Objekt muss der Produkt-Objekt-Beschreibung entsprechen (siehe "Das Produkt-Objekt")Ein Produkt-Objekt
Anzahlinteger0 - 65 535
Negative Zahlen sind nicht erlaubt
Die Anzahl der entfernten Produkte

Beispiel Definition des Produkt-Objekts
var product = {
  id: '3445',
  name: 'TV 47 Zoll Special Angebot',
  price: '1723.60',
  currency: 'EUR',
  category: ['TV', 'LCD', '47', 'Special']
};
    
etCommerce.attachEvent({'mousedown' : ['ButtonAusMerkliste']}, 
'removeFromWatchlist', product, 2);

viewProductList – Produkt in Liste gesehen

Dieses Event kann gesendet werden, wenn sich der Kunde auf einer Produktliste befindet.

Mit der Funktion _etrackerOnReady wird dabei sichergestellt, dass der etracker Code bereits geladen wurde, bevor das eCommerce Event abgesendet wird.

FunktionsparameterDatentypBegrenzungBeschreibung
viewProductListstringNur dieser Name ist zugelassen
Produktliste-ObjektobjectDas Objekt muss der Produktliste-Objekt-Beschreibung entsprechen.Ein Produkliste-Object
Hinweis

Parameter in eckigen Klammern [ ] sind optionale Parameter.

Beispiel Definition des Produktlisten-Objekts javascript
var productList = {
  listType: 'genericlist',
  products: [
    {
      id: '12345',
      name: 'Silber',
      price: '0',
      currency: 'EUR',
      category: ['Strom', 'Privatkunden']
    },
    {
      id: '12346',
      name: 'Gold',
      price: '0',
      currency: 'EUR',
      category: ['Strom', 'Privatkunden'],
    },
    {
      id: '12347',
      name: 'Platinum',
      price: '0',
      currency: 'EUR',   
      category: ['Strom', 'Privatkunden']
    }
  ]
};
window._etrackerOnReady = typeof window._etrackerOnReady === 'undefined' ? [] : window._etrackerOnReady;
window._etrackerOnReady.push(function() {
  etCommerce.sendEvent('viewProductList', productList)
});

order – Bestellung

Dieses Event übermittelt die gesamte Bestellung mit allen Bestelldaten und dem Warenkorb (maximal 128 KB). Das Event wird ausgelöst, wenn die Bestätigungsseite eines Kaufs erscheint.

Mit der Funktion _etrackerOnReady wird dabei sichergestellt, dass der etracker Code bereits geladen wurde, bevor das eCommerce Event abgesendet wird.

FunktionsparameterDatentypBegrenzungBeschreibung
orderstringNur dieser Name ist erlaubtName des Events
Bestell-ObjektobjectDas Objekt muss der Bestell-Objekt-Beschreibung entsprechenEin Bestell-Objekt

Beispiel Definition des Bestell-Objekts javascript
var order = {
  orderNumber: 'Bestellnummer 1',
  status: 'sale',
  orderPrice: '1301.30',
  currency: 'EUR',
  basket: {
    id: 'Warenkorb 1',
    products: [
      {
        product: {
          id: '3445',
          name: 'Elfrida',
          price: '200.20',
          currency: 'EUR',
          category: ['Tiere', 'Großwild', 'Giraffen', 'Liebe Giraffen']
        },
        quantity: 2
      }
      ,
      {
        product: {
          id: '3446',
          name: 'Berta',
          price: '300.30',
          currency: 'EUR',
          category: ['Tiere', 'Haustiere', 'Kühe', 'Milchkühe']
        },
        quantity: 3
      }
    ]
  },
  customerGroup: 'Tierliebhaber',
  deliveryConditions: 'Großer Transport',
  paymentConditions: 'Sofortzahlung'
};
window._etrackerOnReady = typeof window._etrackerOnReady === 'undefined' ? [] : window._etrackerOnReady;
window._etrackerOnReady.push(function() { 
etCommerce.sendEvent('order', order)
});

orderCancellation – Bestellung storniert

Dieses Event wird gesendet, wenn der Kunde die gesamte Bestellung storniert.

FunktionsparameterDatentypBegrenzungBeschreibung
oderCancellationstringNur dieser Name ist zugelassenName des Events
BestellnummerstringMaximal 50 Zeichen lang, Leerzeichen am Anfang und Ende werden entferntDie Bestellnummer der Bestellung, die storniert werden soll
Beispiel javascript
etCommerce.sendEvent('orderCancellation', 'Bestellnummer 1') ;

Event Objekte

Die Informationen zu Produkten, Warenkörben und Bestellungen werden in JavaScript-Objekten definiert. Im Folgenden wird eine Aufstellung dieser Objekte und ihr Aufbau dargestellt.

Das Produkt-Objekt

Dieses Objekt definiert ein Produkt mit den dazugehörigen Attributen.

NameAttributDatentypBegrenzungKommentar
Produkt-IDidstringMaximal 50 Zeichen lang, Leerzeichen am Anfang und Ende werden entferntDie Produkt-ID wird von Ihnen festgelegt und ergibt sich z. B. aus Ihrem Warenwirtschaftssystem
Produkt-NamenamestringMaximal 255 Zeichen lang, Leerzeichen am Anfang und Ende werden entferntDer Name des Produktes
(Nominal)-PreispricestringMaximal 20 Zeichen lang,
Dezimaltrenner ist ein Punkt. Leerzeichen am Anfang und Ende werden entfernt
Der Preis des Produktes
Währungcurrencystringmaximal 3 Zeichen lang,
Leerzeichen am Anfang und Ende werden entfernt
Die Währung nach ISO 4217
z. B.: EUR oder USD
[Coupon]couponstringMaximal 50 Zeichen lang,
Leerzeichen am Anfang und Ende werden entfernt
Der Name des Produkt-Coupons
[Discount]discountstringMaximal 20 Zeichen lang,
Dezimaltrenner ist ein Punkt. Leerzeichen am Anfang und Ende werden entfernt
Der gewährte Rabatt. Dieser wird im Report vom Preis des Produktes abgezogen.
[Produkt-Hierarchie]categoryarray of stringsEs können maximal vierstufige Hierarchien abgebildet werden. Das Array oder eine Kategorie kann auch leer sein.
Die Hierarchien können 50 Zeichen lang sein,
Leerzeichen am Anfang und Ende werden entfernt.
Die Produkthierarchie wird in einem Array gespeichert,
z. B.: ['Monitore', '', 'Flachbildschirme', 'LED']
Variantenvariantsobject with key/value pairsDas Objekt kann leer sein.
Die Varianten können 50 Zeichen lang sein,
Leerzeichen am Anfang und Ende werden entfernt. Maximal 5 Varianten. Sollten die Keys nicht explizit 'var1' - 'var5' benannt sein, wird die Zuordnung zu den Produkt-Varianten-Attributen nach alphabetischer Sortierung der Keys vorgenommen.
Um verschiedene Varianten eines Produktes zu übergeben.
z. B.: {'var1': 'gelb', 'var2': 'XL'}

{'Größe': 'XL', 'Farbe': 'gelb'} entspricht nach Sortierung der Keys dann {'var1': 'gelb', 'var2': 'XL'}
Hinweis

Attribute in eckigen Klammern [ ] sind optionale Attribute.

Für die Übergabe des Events ‚viewProduct‘ muss die Funktion ’sendEvent‘ auf einer Produktseite verwendet werden. Demnach ist folgender Beispiel-Code für die Auslösung des Events notwendig:

Beispiel javascript
var product = {
  id: '3445',
  name: 'TV 47 Zoll Special Angebot', 
  price: '1723.60',
  currency: 'EUR',
  category: ['TV', 'OLED', '47', 'Special'],
  variants: {'var1': 'matt'}
};

Das Produktliste-Objekt

Bei einem viewProductList-Event wird die Produktliste mit diesem Objekt übergeben.

NameAttributDatentypBegrenzungKommentar
Listentyp listTypeenumNur die Werte 'categorylist', 'searchlist' und 'genericlist' sind zugelassenDer Default ist genericlist, wenn kein oder ein ungültiger Wert übergeben wird
Produkt-Objekteproductsarray of objectsDie Einträge des Arrays müssen der Produkt-Objekt-Beschreibung entsprechenIn diesem Array werden die verschiedenen Produkt-Objekte hinterlegt. Die Position im Array entspricht der Position in der Produktliste.

Das Warenkorb-Objekt

Bei einer Bestellung werden die bestellten Produkte in einem Warenkorb-Objekt abgelegt.

NameAttributDatentypBegrenzungKommentar
Warenkorb-IDidstringMaximal 50 Zeichen lang, Leerzeichen am Anfang und Ende werden entferntDie Warenkorb-ID wird von dir festgelegt
Produkt-Objekteproductsarray of objectsDas Array muss der Produkte-Array-Beschreibung entsprechenIn diesem Array werden die verschiedenen Produkt-Objekte und die bestellte Anzahl hinterlegt

Das Produkte-Array-Objekt

Das Produkte-Array-Objekt enthält ein oder mehrere Objekte, die wiederum aus Produkt-Objekten und der jeweiligen Anzahl bestehen.

NameAttributDatentypBegrenzungKommentar
ProduktproductobjectDas Objekt muss der Produkt-Objekt-Beschreibung entsprechen.Das Produkt-Objekt
Anzahlquantityinteger0 - 65 535
Negative Zahlen sind nicht erlaubt
Die bestellte/stornierte Anzahl

Das Bestell-Objekt

Das Bestell-Objekt enthält sämtliche Bestelldaten und das Warenkorb-Objekt.

NameAttributDatentypBegrenzungKommentar
BestellnummerorderNumberstringMaximal 50 Zeichen lang,
Leerzeichen am Anfang und Ende werden entfernt
Die von dir festgelegte eindeutige Bestellnummer. Mit dieser werden spätere Stornierungen getätigt. Bestellnummern, die sich nicht eindeutig einer Bestellung zuordnen lassen, verfälschen die Daten.
StatusstatusenumEnthält lead oder saleGibt an, ob es sich um eine Bestellung oder um einen Kauf handelt.
BestellwertorderPricestringMaximal 20 Zeichen lang,
Dezimaltrenner ist ein Punkt.
Leerzeichen am Anfang und Ende werden entfernt
Der Gesamtwert der Bestellung. Er sollte sich möglichst als Summe aus Warenkorbwert und Versandkosten ergeben. Rabatte, Gutscheine oder Sonderkosten durch Zahlungsart o.ä. sollten als Produkt-Objekt erfasst werden.
WährungcurrencystringMaximal 3 Zeichen lang,
Leerzeichen am Anfang und Ende werden entfernt
Die Währung der Bestellung nach ISO 4217
z. B.: EUR oder USD
WarenkorbbasketobjectDas Objekt muss der Warenkorb-Objekt-Beschreibung entsprechenDas Warenkorb-Objekt
[Coupon]couponstringMaximal 50 Zeichen lang,
Leerzeichen am Anfang und Ende werden entfernt
Der Name des Bestell-Coupons
[Kundengruppe]customerGroupstringMaximal 50 Zeichen lang,
Leerzeichen am Anfang und Ende werden entfernt
z. B.:
- Neukunde
- Stammkunde
- Vielkäufer
- VIP
[Lieferbedingungen]deliveryConditionsstringMaximal 255 Zeichen lang,
Leerzeichen am Anfang und Ende werden entfernt
z. B.:
- Lieferung bis Bordsteinkante
- Aufstellung vor Ort
- Lieferung an Packstation/Paket-shop/Filiale
[Zahlungsbedingungen]paymentConditionspaymentConditionsMaximal 255 Zeichen lang,
Leerzeichen am Anfang und Ende werden entfernt
z. B.:
- Spezielle Zahlungsziele
- Skonto
- Ratenzahlung
Hinweis

Parameter in eckigen Klammern [ ] sind optionale Parameter.

Anwendungsbeispiele

Die Anwendungsbeispiele verdeutlichen, wie die verschiedenen Events für ausgewählte Aktionen auf der Website an etracker gesendet werden können.

Produktseite angesehen

Beim Aufrufen einer Produktseite sollen die Produktinformationen sofort an etracker übermittelt werden. Dafür wird ein Produkt-Objekt definiert. Die Daten werden über die sendEvent-Funktion direkt übermittelt. Mit der Funktion _etrackerOnReady wird dabei sichergestellt, dass der etracker Code bereits geladen wurde, bevor das eCommerce Event abgesendet wird.

Beispiel javascript
var product = 
{
    id      : '3445', 
    name      : 'TV 47 Zoll Special Angebot', 
    category : ['TV', 'LCD', '47', 'Special'], 
    price      : '1723.60', 
    currency  : 'EUR'
};

window._etrackerOnReady = typeof window._etrackerOnReady === 'undefined' ? [] : window._etrackerOnReady;
window._etrackerOnReady.push(function() {
  etCommerce.sendEvent('viewProduct', product)
});

Produkt in den Warenkorb gelegt

Um Produkte zu erfassen, die in den Warenkorb gelegt werden (durch Klicken auf einen in den Warenkorb legen-Button), ist ein Event zu definieren, das sich an den vorhandenen Button hängt. Zuvor muss ein Produkt-Objekt definiert werden, das die Produktdaten enthält. Die ID des Buttons lautet in diesem Fall ButtonAddToBasket und die Datenübermittlung erfolgt, wenn das JavaScript-Event mousedown ausgelöst wird. Die Anzahl der erfassten Produkte ergibt sich aus einem auf der Webseite hinterlegten Formularfeld ProductQuantity.

Beispiel javascript
var product = 
{
 id : '3445', 
 name : 'TV 47 Zoll Special Angebot', 
 category : ['TV', 'LCD', '47', 'Special'], 
 price : '1723.60', 
};
var et_Commerce_quantity = Number(document.getElementById('ProductQuantity').value) ;
etCommerce.attachEvent({'mousedown' : ['ButtonAddToBasket']}, 'insertToBasket', product, et_Commerce_quantity);

Produkt aus dem Warenkorb entfernen

Um die Information zu übermitteln, dass der Kunde ein Produkt wieder aus dem Warenkorb genommen hat, muss das Event removeFromBasket aufgerufen werden. Die Daten werden über die sendEvent Funktion direkt übermittelt.

Beispiel javascript
var product = 
{
 id : '3445', 
 name : 'TV 47 Zoll Special Angebot', 
 category : ['TV', 'LCD', '47', 'Special'], 
 price : '1723.60', 
 currency : 'EUR'
};
etCommerce.sendEvent('removeFromBasket', et_Commerce_product, 1);

Eine Bestellung beim Klick absenden

Um eine Bestellung direkt beim Klicken auf den Bestellknopf an etracker zu melden, benötigt man ein Event order, das an den Button sendOrder angehängt wird. Die Daten werden über die sendEvent Funktion direkt übermittelt.

Beispiel javascript
var basket = 
{
id : '3',
products : [
{
 product: 
 {
  id : '3445', 
  name : 'Elfrida', 
  category : ['Tiere', 'Großwild', 'Giraffen', 'Liebe Giraffen'], 
  price : '1723.60', 
  currency : 'EUR'
 },
 quantity : 1
}]
}
var order = 
{
 orderNumber : '234',
 status : 'sale', 
 orderPrice : '5447.2',
 basket : basket,
 customerGroup : 'Tierliebhaber',
 deliveryConditions : 'Großer Transport',
 paymentConditions : 'Sofortzahlung',
}
  
etCommerce.attachEvent( {'mousedown' : ['sendOrder']}, 'order', order);

Versandkosten als Produkt erfassen

Es ist auch möglich, die Versandkosten als eigenes Produkt zu erfassen.

Beispiel javascript
var order = {
  orderNumber: 'Bestellnummer 1',
  status: 'sale',
  orderPrice: '1301.30',
  currency: 'EUR',
  basket: {
    id: 'Warenkorb 1',
    products: [
      {
        product: {
          id: '3445',
          name: 'Elfrida',
          price: '200.20',
          currency: 'EUR',
          category: ['Tiere', 'Großwild', 'Giraffen', 'Liebe Giraffen']
        },
        quantity: 2
      }
      ,
      {
        product: {
          id: '3446',
          name: 'Berta',
          price: '300.30',
          currency: 'EUR',
          category: ['Tiere', 'Haustiere', 'Kühe', 'Milchkühe']
        },
        quantity: 3
      }
      ,
      {
        product: {
          id: 'Versandkosten',
          name: 'Versankosten',
          category: ['Versandkosten', '', '', ''],
          price: '4.99',
          currency: 'EUR'
        },
        quantity: 1
      }
    ]
  },
  customerGroup: 'Tierliebhaber',
  deliveryConditions: 'Großer Transport',
  paymentConditions: 'Sofortzahlung'
};
window._etrackerOnReady = typeof window._etrackerOnReady === 'undefined' ? [] : window._etrackerOnReady;
window._etrackerOnReady.push(function() { 
etCommerce.sendEvent('order', order)
});