E-Commerce Tracking
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:
- Implementierung über Plugins.
- Erfassung über Google Analytics E-Commerce-Parameter.
- Manuelles Einbinden von etracker E-Commerce Events.
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:
<!-- 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
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.
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:
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:
<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.
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:
_etracker.tools.enableDebug()
_etracker.tools.enableDebugMode()
Es wird ein Config-Cookie für diese Session gesetzt, das die jeweilige Einstellung enthält.
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:
_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
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.
Funktionsparameter | Datentyp | Begrenzung | Beschreibung |
---|---|---|---|
event | string | Es werden nur die von der Schnittstelle definierten Events unterstützt. | Name des Events |
parameter_1, [parameter_n] | mixed | Siehe weitere Beschreibung |
Parameter in eckigen Klammern [ ] sind optionale Parameter.
etCommerce.sendEvent('viewProduct', product) ;
attachEvent – Event an Objekt anknüpfen
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.
Funktionsparameter | Datentyp | Begrenzung | Beschreibung |
---|---|---|---|
attachObject | object | Es 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. |
event | string | Es werden nur die von der Schnittstelle definierten Events unterstützt (siehe "Mögliche Events"). | Name des angehängten Events |
parameter_1, [parameter_n] | mixed | Siehe weitere Beschreibung |
Parameter in eckigen Klammern [ ] sind optionale Parameter.
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.
Funktionsparameter | Datentyp | Begrenzung | Beschreibung |
---|---|---|---|
viewProduct | string | Nur dieser Name ist zugelassen | Name des Events |
Produkt-Objekt | object | Das Objekt muss der Produkt-Objekt-Beschreibung entsprechen (siehe "Das Produkt-Objekt") | Ein Produkt-Objekt |
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.
Funktionsparameter | Datentyp | Begrenzung | Beschreibung |
---|---|---|---|
insertToBasket | string | Nur dieser Name ist zugelassen | Name des Events |
Produkt-Objekt | object | Das Objekt muss der Produkt-Objekt-Beschreibung entsprechen (siehe "Das Produkt-Objekt") | Ein Produkt-Objekt |
Anzahl | integer | 0 - 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:
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.
Funktionsparameter | Datentyp | Begrenzung | Beschreibung |
---|---|---|---|
removeFromBasket | string | Nur dieser Name ist zugelassen | Name des Events |
Produkt-Objekt | object | Das Objekt muss der Produkt-Objekt-Beschreibung entsprechen. | Ein Produkt-Objekt |
Anzahl | integer | 0 - 65 535 Negative Zahlen sind nicht erlaubt | Die Anzahl der entfernten Produkte |
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.
Funktionsparameter | Datentyp | Begrenzung | Beschreibung |
---|---|---|---|
insertToWatchlist | string | Nur dieser Name ist zugelassen | Name des Events |
Produkt-Objekt | object | Das Objekt muss der Produkt-Objekt-Beschreibung entsprechen (siehe "Das Produkt-Objekt") | Ein Produkt-Objekt |
Anzahl | integer | 0 - 65 535 Negative Zahlen sind nicht erlaubt | Die Anzahl der auf die Merkliste gesetzten Produkte |
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.
Funktionsparameter | Datentyp | Begrenzung | Beschreibung |
---|---|---|---|
removeFromWatchlist | string | Nur dieser Name ist zugelassen | Name des Events |
Produkt-Objekt | object | Das Objekt muss der Produkt-Objekt-Beschreibung entsprechen (siehe "Das Produkt-Objekt") | Ein Produkt-Objekt |
Anzahl | integer | 0 - 65 535 Negative Zahlen sind nicht erlaubt | Die Anzahl der entfernten Produkte |
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.
Funktionsparameter | Datentyp | Begrenzung | Beschreibung |
---|---|---|---|
viewProductList | string | Nur dieser Name ist zugelassen | |
Produktliste-Objekt | object | Das Objekt muss der Produktliste-Objekt-Beschreibung entsprechen. | Ein Produkliste-Object |
Parameter in eckigen Klammern [ ] sind optionale Parameter.
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.
Funktionsparameter | Datentyp | Begrenzung | Beschreibung |
---|---|---|---|
order | string | Nur dieser Name ist erlaubt | Name des Events |
Bestell-Objekt | object | Das Objekt muss der Bestell-Objekt-Beschreibung entsprechen | Ein Bestell-Objekt |
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.
Funktionsparameter | Datentyp | Begrenzung | Beschreibung |
---|---|---|---|
oderCancellation | string | Nur dieser Name ist zugelassen | Name des Events |
Bestellnummer | string | Maximal 50 Zeichen lang, Leerzeichen am Anfang und Ende werden entfernt | Die Bestellnummer der Bestellung, die storniert werden soll |
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.
Name | Attribut | Datentyp | Begrenzung | Kommentar |
---|---|---|---|---|
Produkt-ID | id | string | Maximal 50 Zeichen lang, Leerzeichen am Anfang und Ende werden entfernt | Die Produkt-ID wird von Ihnen festgelegt und ergibt sich z. B. aus Ihrem Warenwirtschaftssystem |
Produkt-Name | name | string | Maximal 255 Zeichen lang, Leerzeichen am Anfang und Ende werden entfernt | Der Name des Produktes |
(Nominal)-Preis | price | string | Maximal 20 Zeichen lang, Dezimaltrenner ist ein Punkt. Leerzeichen am Anfang und Ende werden entfernt | Der Preis des Produktes |
Währung | currency | string | maximal 3 Zeichen lang, Leerzeichen am Anfang und Ende werden entfernt | Die Währung nach ISO 4217 z. B.: EUR oder USD |
[Coupon] | coupon | string | Maximal 50 Zeichen lang, Leerzeichen am Anfang und Ende werden entfernt | Der Name des Produkt-Coupons |
[Discount] | discount | string | Maximal 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] | category | array of strings | Es 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'] |
Varianten | variants | object with key/value pairs | Das 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'} |
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:
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.
Name | Attribut | Datentyp | Begrenzung | Kommentar |
---|---|---|---|---|
Listentyp | listType | enum | Nur die Werte 'categorylist', 'searchlist' und 'genericlist' sind zugelassen | Der Default ist genericlist, wenn kein oder ein ungültiger Wert übergeben wird |
Produkt-Objekte | products | array of objects | Die Einträge des Arrays müssen der Produkt-Objekt-Beschreibung entsprechen | In 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.
Name | Attribut | Datentyp | Begrenzung | Kommentar |
---|---|---|---|---|
Warenkorb-ID | id | string | Maximal 50 Zeichen lang, Leerzeichen am Anfang und Ende werden entfernt | Die Warenkorb-ID wird von dir festgelegt |
Produkt-Objekte | products | array of objects | Das Array muss der Produkte-Array-Beschreibung entsprechen | In 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.
Name | Attribut | Datentyp | Begrenzung | Kommentar |
---|---|---|---|---|
Produkt | product | object | Das Objekt muss der Produkt-Objekt-Beschreibung entsprechen. | Das Produkt-Objekt |
Anzahl | quantity | integer | 0 - 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.
Name | Attribut | Datentyp | Begrenzung | Kommentar |
---|---|---|---|---|
Bestellnummer | orderNumber | string | Maximal 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. |
Status | status | enum | Enthält lead oder sale | Gibt an, ob es sich um eine Bestellung oder um einen Kauf handelt. |
Bestellwert | orderPrice | string | Maximal 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ährung | currency | string | Maximal 3 Zeichen lang, Leerzeichen am Anfang und Ende werden entfernt | Die Währung der Bestellung nach ISO 4217 z. B.: EUR oder USD |
Warenkorb | basket | object | Das Objekt muss der Warenkorb-Objekt-Beschreibung entsprechen | Das Warenkorb-Objekt |
[Coupon] | coupon | string | Maximal 50 Zeichen lang, Leerzeichen am Anfang und Ende werden entfernt | Der Name des Bestell-Coupons |
[Kundengruppe] | customerGroup | string | Maximal 50 Zeichen lang, Leerzeichen am Anfang und Ende werden entfernt | z. B.: - Neukunde - Stammkunde - Vielkäufer - VIP |
[Lieferbedingungen] | deliveryConditions | string | Maximal 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] | paymentConditions | paymentConditions | Maximal 255 Zeichen lang, Leerzeichen am Anfang und Ende werden entfernt | z. B.: - Spezielle Zahlungsziele - Skonto - Ratenzahlung |
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.
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
.
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.
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.
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.
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)
});