If you advertise on TikTok with only the browser pixel, you are losing a growing share of conversions to ad blockers and iOS restrictions, exactly as on Meta. The Events API sends conversions server-side to recover them. Here is how to set it up.

Why the pixel alone is not enough

The TikTok pixel runs in the browser, where tracking prevention, ad blockers, and consent refusals drop events before they reach TikTok. The Events API sends the same conversions from your server, which is far harder to block, so TikTok sees more of what actually happened. More complete data means better optimization and more accurate reported performance.

Get your Pixel ID and access token

Setup starts in TikTok Ads Manager, where two credentials unlock the API:

  • Find your Pixel ID under Events, then Web Events, in your pixel's settings.
  • In Settings, open the Events API section and generate an access token, which authenticates your server's requests.

Choose a setup path

There are three ways to send events, trading effort for reach. TikTok's Events API Gateway is the managed, TikTok-only option and the fastest to stand up. Server-side GTM adds a TikTok tag to a server container and covers multiple platforms at once. A direct API integration is the most engineering-heavy but the most flexible. For a multi-platform stack, the server-side GTM route usually pays off; for TikTok alone, the Gateway is quicker.

Send events with a shared event ID

Running the pixel and the Events API together means sending each conversion twice, so you pass the same event ID on both sides and let TikTok match them. A server event carries the event name, the event ID, and hashed user data:

// Server-side event to TikTok Events API (shape, simplified)
{
  "event": "CompletePayment",
  "event_id": "<same id used by the browser pixel>",
  "timestamp": "2026-10-22T10:00:00Z",
  "user": {
    "email": "<sha256 lowercased email>",
    "phone": "<sha256 E.164 phone>",
    "ttclid": "<TikTok click id>"
  },
  "properties": { "value": 59.90, "currency": "USD" }
}

Hash email and phone with SHA-256, and include ttclid where you have it, since the click ID is a strong match signal for users who came from a TikTok ad.

A note on deduplication

Guidance here conflicts, so be careful. The standard recommendation is to send a matching event_id from both the pixel and the server so TikTok can deduplicate, and that is the safe default. Some practitioners report inconsistent dedup behavior and choose to send a given event from only one side instead. Verify the behavior for your account in the test tools before you trust the counts, rather than assuming either approach works blindly.

Test before going live

Use the test events view in Events Manager to fire a conversion and confirm it arrives with the event ID and hashed data intact. Check that a purchase shows once, not twice, and that match quality looks healthy. Only move real budget behind the setup once you have watched a full event flow through cleanly.

Keep the pixel running alongside it

The Events API is not a replacement for the TikTok pixel but a partner to it, the same pattern as Meta. The pixel captures real-time browser behavior and the click context, while the Events API recovers the events the browser drops and carries hashed first-party data. Running both, tied together by the shared event ID, gives TikTok more complete signal than either provides alone, so resist the temptation to rip out the pixel once the server path works.

Pixel-only TikTok tracking leaks conversions the same way Meta does, and the Events API is how you send them server-side and win them back. Pull your Pixel ID and token, pick a setup path, send events with a shared event ID and hashed user data, and verify dedup in the test tools rather than assuming it. Do that and TikTok optimizes on the full picture of your conversions instead of the thinned-out browser version.

Want a stronger data analyst role or a raise? Grab the FREE Product Analyst Playbook and get the exact roadmap to your next offer.