integration recipe · n8n → TikTok
Send n8n workflow conversions to TikTok, server-side.
A n8n workflow conversion happens off your page, where no pixel fires. Point n8n at a TracerKit webhook and it reaches TikTok's Events API with the visitor's click ids and hashed email — no code, and verified end to end.
Free sweep — see your server-side readiness before you connect anything. Or start free →
Raw email and phone are hashed before anything is stored. IP and user agent ride only the delivery, never the event log.
set it up
Three steps. No deploy.
Create the webhook in TracerKit
On your site's page in the dashboard, add a conversion webhook with the Generic JSON preset. You get a URL once — it's the only credential, and only its hash is stored.
Paste it into n8n
Add an HTTP Request node at the end of your workflow. Set the method to POST, the URL to your TracerKit webhook, and send a JSON body with email, value, currency, eventName and eventId from earlier nodes.
Connect TikTok with server-side forwarding on
Add TikTok as a destination with an Events API access token and the pixel code from TikTok Events Manager, and turn on server-side forwarding. From the next conversion onward, every conversion is enqueued to TikTok's Events API.
join the visitor
If an earlier node carries the visitor's TracerKit id (from a hidden form field or a CRM property), pass it as anonymousId to join the visitor's click ids directly; otherwise TracerKit matches by hashed email.
Sites that enforce per-field consent skip this join: the conversion then carries only what n8n sent, with no click ids from the visit.
sign the webhook
Add any shared secret of 16+ characters to the hook and send an X-TracerKit-Signature header of t=<unix seconds>,v1=<hex HMAC-SHA256 of "<t>.<raw body>">. n8n's Crypto node can compute the HMAC before the HTTP Request node. Until a secret is set, the unguessable URL is the only credential.
why server-side
TikTok can only optimise on what it receives.
It arrives even when the pixel didn't fire.
The conversion comes from n8n's servers, so blockers, ITP and a visitor who closed the tab before the thank-you page loaded don't lose it.
It matches to a real visit.
TikTok matches on the ttclid click id and ttp cookie from the landing hit, plus hashed email and phone.
It's counted once.
The server event carries the same event id as the pixel fire, so TikTok dedupes the pair.
You can prove it happened.
Most tools stop at "sent". TracerKit records each delivery's outcome and reconciles what it observed against what TikTok reports, so a silent break shows up as drift, not as a bad quarter.
questions
Asked and answered.
Do I need a developer?+
No. Creating the webhook and pasting the URL into n8n is the whole install. Threading the visitor id through is one optional line if you want direct click-id matching instead of email matching.
What does the n8n webhook send?+
Email, phone, value and currency from your workflow (PII hashed before it's stored); an eventId of your choosing as the idempotency key; an anonymousId if the workflow has the visitor's TracerKit id. TracerKit adds the click ids it captured when the visitor landed before forwarding to TikTok.
How does TikTok match the conversion to an ad click?+
TikTok matches on the ttclid click id and ttp cookie from the landing hit, plus hashed email and phone.
Will this double count against my TikTok pixel?+
The server event carries the same event id as the pixel fire, so TikTok dedupes the pair.
What if the visitor blocked the pixel?+
That's the point of server-side. The n8n conversion arrives from n8n's servers, not the visitor's browser, so ad blockers and ITP never see it. TracerKit matches it back to the visitor's landing visit by the hashed email or the visitor id you threaded through.
How do I know it's working?+
Each webhook shows when it last received a delivery, every forwarded event shows its delivery status per destination, and reconciliation compares what TracerKit observed against what TikTok reports — so drift is a number you see, not a hunch.
What does it cost?+
Server-side forwarding is on the Server-side tier at a flat monthly price per site. There is no per-conversion metering, so a busy checkout day never becomes a surprise bill.
Related recipes
n8n to other platforms
other tools to TikTok
Every n8n workflow conversion, in the light.
Tag management is free forever. Server-side forwarding starts with a 14-day trial — no card, no per-conversion metering.