# Schnellstart JTL-Shop

> **Hinweis:** Voraussetzung ist JTL-Shop 5.2 oder neuer. Erst ab 5.2 können
> Plugins eigene Routen anmelden, darauf beruht der First-Party-Messweg
> (siehe unten).

## 1. Plugin installieren

Lade das Plugin im Dashboard unter **Einrichtung** herunter. Im Backend deines
Shops: *Plugins → Verfügbar → Upload*, ZIP hochladen, dann in der Liste
installieren.

Der Ordner im Paket heißt `trackdolphin`, bitte nicht umbenennen. JTL-Shop
leitet aus dem Ordnernamen den Namensraum ab, unter dem die Klassen geladen
werden.

## 2. Zwei Werte prüfen

Endpoint und Projekt-ID stecken bereits im heruntergeladenen Paket. Nachsehen
kannst du sie unter *Plugins → Trackdolphin → Einstellungen*:

- **Collector-Endpoint**
- **Shop-ID** (die Projekt-ID aus dem Dashboard)
- **Tracking aktiv** auf „Ja“

## 3. Prüfen

Ruf eine Artikelseite auf. Der Eventzähler im Dashboard reagiert innerhalb
weniger Sekunden. Schließe danach eine Testbestellung ab; sie erscheint als
`purchase` mit Wert und Währung.

## Was das Plugin misst

**Serverseitig**, aus der Bestellung selbst: `purchase` und `refund` bei
Storno. Der Kauf wird zweimal abgesichert: beim Bestellabschluss und beim
Statuswechsel aus JTL-Wawi, sobald „bezahlt“ erreicht ist. Der zweite Weg
fängt die Bestellungen, bei denen der Käufer nach PayPal oder Klarna nie auf
der Danke-Seite ankommt. Gezählt wird trotzdem nur einmal.

**Im Browser**, mit Daten aus dem Template statt aus dem Seitenquelltext:
Seitenaufruf, Artikelansicht, Warenkorb, Kassenbeginn, In-den-Warenkorb,
Entfernen und Zahlungsart.

## Der eigene Messweg des Shops

Das Plugin legt im Shop die Route `POST /td/collect` an. Der Browser spricht
damit nur noch mit deinem Shop, dein Shop spricht mit Trackdolphin, gleiche
Domain, gleiches Zertifikat. Safari kann diesen Weg nicht als Drittanbieter
einstufen, und Werbeblocker finden keinen fremden Hostnamen. Fällt die Route
aus, etwa wegen eines vorgelagerten Schutzsystems, sendet das Skript direkt an
den Collector weiter, statt Ereignisse zu verlieren.

## Einwilligung

Ist im Plugin **„Besucher-Cookie erst nach Einwilligung setzen“** eingeschaltet,
erscheint das Cookie `_td_vid` im **Consent Manager von JTL-Shop** und wird
erst nach Zustimmung gesetzt. Ein externes Banner, das Consent Mode im
dataLayer setzt (`ad_storage`), wird ebenfalls gelesen.

## Historienimport

Bestellungen von vor der Installation holt der
[Historienimport](/docs/backfill.md) nach, ab Plugin-Version 0.2.0. Anders als
bei WooCommerce und Shopware gibt es dafür nichts einzutragen: JTL-Shop hat
keine Bestell-API, also liefert das Plugin die Historie selbst. Adresse und
Schlüssel stecken schon im heruntergeladenen Paket.

Läuft im Shop noch eine ältere Fassung, lade das Plugin in der Einrichtung neu
herunter und spiel das Update ein; die Einstellungen bleiben dabei erhalten.

Das Plugin gibt dabei **keine** Namen und Adressen heraus, nur Beträge,
Positionen, Land und Status sowie die E-Mail als Hash. Genau daraus entsteht
der Abgleich „so viele Bestellungen hat der Shop, so viele hat das Tracking
gemeldet".
