# Einführung

## Client-seitiges Baskettracking

Das client-seitige Baskettracking ermöglicht die Übergabe von Warenkorbdaten direkt aus dem Shop-Frontend an das Tracking-System von *easy.MARKETING*. Dabei werden die einzelnen Artikel per JavaScript an das Skript übergeben und anschließend gesammelt übertragen.

---

### Funktionsweise (Client)

* **Skript-Einbindung:** Beim Aufruf der Bestellabschlussseite wird das Tracking-Skript eingebunden.
* **Artikel-Übergabe:** Für jedes Produkt im Warenkorb wird `eamTrckAddBasketItem(...)` aufgerufen.
* **Abschluss:** Mit `eamTrckSubmitBasket()` werden alle gesammelten Artikel an das Tracking-System übermittelt.
* **Transaktionserstellung:** Jeder Basketaufruf erzeugt automatisch auch eine Transaktion im System.
  * Zu jedem Basket gehört die entsprechende Transaktion
* **Attribuierung:** Die **EMID** wird beim Klick auf ein Werbemittel erzeugt und muss unbedingt mit übergeben werden, um die Customer Journey korrekt zu attribuieren.

---

### Verarbeitung von Zusatzdaten (Additional Parameters)

Zusätzlich zu den Standardparametern können pro Artikel optionale Informationen in einem Objekt (Key-Value-Pairs) übergeben werden. Hierbei gilt folgende Logik für die Speicherung:

1. **Artikelebene:** Die Parameter werden individuell für jeden einzelnen Artikel gespeichert.
2. **Transaktionsebene:** Das System übernimmt die Zusatzdaten des **zuletzt aufgerufenen Artikels** (`eamTrckAddBasketItem`) und speichert diese zusätzlich auf Transaktionsebene ab.

> **Wichtiger Hinweis:** Wenn bestimmte Informationen (z. B. Versandart oder Gutscheincode) für die Auswertung auf Transaktionsebene relevant sind, müssen diese zwingend bei **jedem** Artikelaufruf identisch mitgegeben werden. Nur so ist sichergestellt, dass sie unabhängig von der Artikelreihenfolge korrekt auf Transaktionsebene erfasst werden.

---