# Match-Qualität

Eine Conversion nützt nur, wenn die Plattform sie einem Klick zuordnen kann.
Dafür vergleicht sie gehashte Kundendaten mit ihren eigenen.

Je mehr Merkmale übereinstimmen, desto mehr Conversions kommen im Werbekonto an
— bei identischem Umsatz.

## Was mitgeschickt wird

Alles als SHA-256, immer:

| Feld | Inhalt |
|---|---|
| `em` | E-Mail |
| `ph` | Telefon, E.164 ohne Plus — das Meta-Format |
| `ph_e164` | Telefon, E.164 mit Plus — das Format von Google Ads und GA4 |
| `fn`, `ln` | Vor- und Nachname |
| `ct`, `st`, `zp` | Ort, Bundesland, Postleitzahl |
| `country` | Land |
| `external_id` | pseudonyme Kundennummer |

Dazu die Klick-Kennungen `gclid`, `gbraid`, `wbraid`, `fbc`, `fbp`.

## Die Fallen

**Telefonnummern.** Der häufigste stille Fehler — gleich doppelt. Erstens muss
`0171 2345678` zu `491712345678` werden; Ziffern zu entfernen genügt nicht.
Zweitens sind sich die Plattformen beim Pluszeichen uneinig: Meta verlangt die
Nummer ohne, Google Ads und GA4 mit `+`. Zwei Eingaben, zwei Hashes — einer
allein bedient nur eine Seite. Das SDK und die Plugins bilden deshalb beide.

**Ort und Land.** Kleingeschrieben und ohne Leerzeichen: `Frankfurt am Main`
wird zu `frankfurtammain`.

**Leere Felder.** Meta wertet ein leeres Feld als Fehlversuch und meldet dafür
eine schlechtere Qualität, als tatsächlich vorliegt. Weglassen ist besser als
leer schicken — Trackdolphin macht das automatisch.

**Server-IP.** Bei einem serverseitigen Event ist der Absender dein Shop-Server.
Dessen IP als Nutzersignal weiterzugeben senkt die Qualität, statt sie zu heben.
Trackdolphin schickt die IP des Käufers, die am Bestellobjekt steht.

## Ohne Werbe-Einwilligung

Ohne Einwilligung gibt es kein `_fbp`-Cookie. Dann ist die First-Party-
Besucherkennung von Trackdolphin das einzige stabile Merkmal über mehrere
Besuche — sie wird als `external_id` mitgeschickt. Eine echte Kundennummer ist
stabiler und geht vor.

## Klartext verlässt den Shop nie

Gehasht wird **vor** dem Versand: im Plugin, im SDK, auf deinem Server. Der
Collector weist Klartext in `em` oder `ph` mit `400` ab.

Das ist keine Höflichkeit gegenüber der DSGVO, sondern die Bedingung dafür, dass
in unserer Datenbank nichts steht, was dort nicht stehen darf.

Enhanced Conversions je Plattform schaltest du im Dashboard zu, siehe
[Einstellungen — Shop & Tracking](/docs/app-einstellungen-shop-tracking.md).
