# Schnellstart Shopify

> **Hinweis:** Die Trackdolphin-App ist noch nicht im Shopify App Store. Du
> installierst sie über den Link aus deinem Dashboard — das geht für jeden
> Store, dauert eine Minute und braucht keine Freigabe durch Shopify.

## 1. Store verbinden

Im Dashboard unter **Einrichtung** trägst du die Adresse deines Stores ein
(`deinshop.myshopify.com`, zu finden in der Shopify-Verwaltung unter
*Einstellungen → Domains*) und klickst **Mit Shopify verbinden**.

Shopify zeigt dir, was die App darf, und fragt nach deiner Freigabe:

- **Bestellungen lesen** — für die Kauf- und Erstattungs-Webhooks
- **Web Pixel schreiben** und **Kundenereignisse lesen** — für das Pixel

Danach landest du wieder im Dashboard. Das war die Einrichtung: keine Werte
abtippen, kein Plugin hochladen.

## 2. Was die App in deinem Store anlegt

**Drei Webhooks.** `orders/paid` meldet uns jeden bezahlten Kauf,
`refunds/create` jede Erstattung, `app/uninstalled` sagt uns, wenn du die App
entfernst. Sie gehen von Shopifys Server zu unserem — ohne den Browser, ohne
Adblocker, ohne abgebrochene Danke-Seite. Jede Zustellung ist signiert, und
Shopify wiederholt sie, falls wir einmal nicht erreichbar sind; doppelt
gezählt wird trotzdem nichts.

**Ein Web Pixel.** Es läuft in Shopifys Pixel-Sandbox und meldet
Seitenaufrufe, Produktansichten, Warenkorb und Checkout-Schritte. Beim
Abschluss des Checkouts schickt es den Kauf mit derselben Event-ID wie der
Webhook — Meta und Google sehen also ein Ereignis, nicht zwei.

**Ein App Proxy.** Das Pixel sendet nicht an eine fremde Adresse, sondern an
`https://deinshop.de/a/td/collect` — also an deinen eigenen Store. Shopify
reicht die Anfrage signiert an uns weiter. Werbeblocker und Safari sehen nur
den Shop; für den Besucher gibt es keinen fremden Hostnamen, den man sperren
könnte.

Alles drei siehst du im Dashboard unter *Einstellungen → Shopify-App*. Dort trennst
du die Verbindung auch wieder; die App baut Webhooks und Pixel dann selbst ab.

## 3. Prüfen, ob etwas ankommt

Ruf eine Produktseite in deinem Store auf. Unter **Einrichtung** springt der
Eventzähler in wenigen Sekunden an. Der erste Kauf erscheint, sobald eine
Bestellung als bezahlt gilt — bei Testbestellungen mit dem Bogus Gateway sofort.

## Einwilligung: Shopifys Consent-Banner

Shopify bringt ein eigenes Einwilligungs-Banner mit (*Einstellungen →
Kundendatenschutz*). Das Web Pixel hält sich daran: Es fragt Shopifys
Customer Privacy API und meldet Ereignisse erst, wenn der Besucher Analyse
bzw. Marketing zugestimmt hat — je nachdem, was du im Banner abfragst. Du
brauchst dafür kein zusätzliches Consent-Tool und keine eigene Konfiguration
bei uns.

Die Webhooks betrifft das nicht: Der Kauf ist ein Vertrag, kein Tracking, und
wird immer gemeldet. Was die Werbeplattformen davon bekommen, regelst du wie
gewohnt unter *Einstellungen → Consent & Datenschutz*.

## Was wir speichern

Aus den Webhooks übernehmen wir Bestellwert, Währung, Artikel und die
Kundennummer — E-Mail und Telefonnummer nur als SHA-256-Hash, genau so, wie
Meta und Google sie fürs Matching erwarten. Klartext-Adressen verlassen
Shopify nicht. Löschanfragen von Kunden und die Löschung nach einer
Deinstallation verarbeiten wir über Shopifys Pflicht-Webhooks automatisch.

## Historie importieren

[Historie importieren](/docs/backfill.md) holt deine bisherigen Bestellungen
über die Admin-API nach — mit derselben Verbindung, ohne weitere Zugangsdaten.
Das zeigt dir in Zahlen, wie viel dein bisheriges Tracking übersehen hat.

## Grenzen — Stand heute

- **Nicht im App Store.** Installation über den Link aus dem Dashboard. Für
  eine Veröffentlichung im Store verlangt Shopify eine Abrechnung über Shopify
  Billing; die kommt später, an der Funktion ändert das nichts.
- **Bestellhistorie:** Shopify gibt Apps standardmäßig die Bestellungen der
  letzten 60 Tage. Für einen längeren Import muss Shopify die Berechtigung
  `read_all_orders` für unsere App freischalten — wir bauen das, sobald wir
  sie haben.
- **Ein Store, ein Shop.** Jeder Store gehört zu genau einem Trackdolphin-Shop.
  Verbindest du ihn für einen zweiten, wandert die Verbindung dorthin.
- **Headless-Storefronts** (Hydrogen, eigene Frontends) bekommen kein Web
  Pixel von Shopify — dort nutzt du unser [SDK](/docs/sdk.md); die Webhooks
  funktionieren trotzdem.
