TikTok, Pixel und Events API
Server-Side-Conversion-Tracking via TikTok-Events-API 2.0. Spiegelbild der Meta-CAPI-Architektur, mit ttclid aus URL-Parametern bei Ad-Click-Landings.
Voraussetzungen
- TikTok-Ads-Manager-Account mit aktiver Abrechnung.
- Etwa 5 Minuten.
1. TikTok-Datenquelle anlegen
- TikTok Ads Manager öffnen (
ads.tiktok.com). - Tools → Events → Web Events → Datenquelle verbinden.
- Verbindungsmethode: TikTok Pixel + Events API (Empfohlen) wählen. Nicht "Events API only", nicht "TikTok Pixel only". Die kombinierte Option nutzt dieselbe Pixel-ID plus Access-Token und hält den Hybrid-Modus (Browser-Pixel-Pfad) für später offen.
- Den Browser-Pixel-HTML-Snippet, den TikTok anbietet, überspringen. Beaconry läuft server-side, du brauchst ihn nicht.
2. TikToks invasive Defaults deaktivieren
TikTok fragt während des Setups drei Privacy-Optionen ab. Alle drei für DSGVO-Strenge AUS schalten:
- Automatic Advanced Matching (AAM) AUS: würde Formularfelder im Browser scannen und ohne explizite Per-Feld-Einwilligung an TikTok senden. Beaconry hashed dieselben Felder server-side mit kontrollierten Code-Pfaden.
- First-Party-Cookies erlauben AUS: würde TikTok-Cookies unter deiner Kunden-Domain setzen und die Consent-Gate-Bereinigung umgehen.
- Erweitertes Daten-Postback erlauben AUS: würde Meta-Tags, strukturierte Daten, Button-Klicks und Performance-Daten an TikTok senden, weit über das hinaus, was du explizit trackst.
TikTok markiert all das als "Empfohlen" by default. Auf AUS umstellen.
3. Business-Funnel-Template wählen
TikTok fragt nach einem "Business Funnel Template". Custom wählen (oder "Other" / "Skip", falls verfügbar). Templates voreinstellen nur, welche Conversion-Goals TikTok in seinem UI vorschlägt. Beaconry sendet jedes Event, das du konfigurierst, unabhängig vom Template. Wenn TikTok eine Wahl erzwingt, das nehmen, was grob zu deinem Geschäft passt (E-Commerce / Lead Gen / Travel). Hat keinen Einfluss auf die Datenflüsse.
4. Pixel-ID holen
Nach der Erstellung den Pixel öffnen. Pixel-ID (alphanumerisch, ~20 Zeichen) steht direkt unter dem Pixel-Namen. Kopieren.
5. TikTok-Access-Token generieren
- Pixel-Settings → Events API → Manuell einrichten → Access Token generieren.
- Token wird EINMAL gezeigt. Sofort kopieren. Es gibt keine Möglichkeit, ihn später abzurufen, du müsstest ihn neu generieren.
6. Credentials in Beaconry eintragen
WordPress-Admin → Beaconry → Tracking → TikTok. Pixel-ID und Access-Token einfügen, speichern.
Token wird verschlüsselt gespeichert (AES-256-CBC). Konstanten-Variante: BCNR_TIKTOK_PIXEL_ID und BCNR_TIKTOK_ACCESS_TOKEN in wp-config.php.
7. (Optional) Test-Event-Code setzen
In TikTok Events Manager → Test Events-Tab einen Test-Event-Code generieren. In Beaconry einfügen. Solange gesetzt, wird jedes Event in Test Events geroutet statt live zu gehen. Vor Produktivstart entfernen.
8. Test-Event versenden
Klick TikTok-Test-Event senden. HTTP 200 mit code: 0 heißt: Credentials passen. Mit gesetztem Code erscheinen Events in TikTok Events Manager → Test Events innerhalb von Sekunden.
Was automatisch versendet wird
Alle 14 TikTok-Standard-Events sind unterstützt:
- Pageview, ViewContent, AddToCart, InitiateCheckout, AddPaymentInfo, CompletePayment, Lead, CompleteRegistration, Subscribe, Search, Contact, Download, ClickButton, AddToWishlist.
ttclid-Capture: TikTok hängt einen ttclid-Parameter an jede Ad-Click-Landing-URL. Beaconry fängt ihn beim ersten Page-Load und persistiert ihn im nl_ext-Cookie neben fbclid (Meta) und gclid (Google). Jedes nachfolgende Server-Side-Event enthält ttclid für saubere Attribution.
(Optional) Hybrid-Modus
Lädt pixel.js parallel, damit TikTok die First-Party-_ttp- und ttclid-Cookies sieht. Dedupliziert via event_id. Server-Side allein deckt schon 100 % der zustimmenden Besucher ab, Hybrid-Modus zielt auf höhere Match-Rate. Standardmäßig aus.
Troubleshooting
- "code: 40000": Token ungültig oder revoked. Neu generieren.
- "code: 40005, content_id required": Event ohne
content_id. Beaconry setzt das automatisch für WooCommerce-Events. Bei Custom-JS-Eventscontent_idincontents[]einfügen, nicht auf Top-Level. - Events kommen an, aber keine Ad-Attribution: ttclid-Capture verlangt, dass der Besucher von einem TikTok-Ad mit
?ttclid=...landet. Direkt-Besucher haben das nicht, das ist normal.