← Alle DocsKanal-Setup · TikTok

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.

Lesezeit: ca. 5 MinZuletzt aktualisiert: 2026-05-02

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-Events content_id in contents[] 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.