TikTok pixel setup is a two layer job: the pixel that runs in the browser and the Events API that sends conversions from your server. You create the pixel inside Events Manager in TikTok Ads Manager, place the code on the site, then send the same events again from the server with a shared event_id. In 2026 a browser-only setup loses roughly a third of real conversions according to industry benchmarks; running both layers together lifts capture substantially.
How do you complete TikTok pixel setup step by step?
The pixel is a tracking snippet that reports on-site behaviour back to your TikTok ad account. Setup starts by creating a web event source in Events Manager and placing the code on every page. You pick one of three routes: manual code, a tag manager, or a native platform integration. Once data flows, you map conversion events and then send the same events a second time through the Events API.
- Open Events Manager inside Ads Manager, create a new web event source and note the pixel ID; every later step needs it.
- Choose an installation route: a manual snippet, a tag manager such as Google Tag Manager, or a native integration for Shopify or WooCommerce.
- Put the base code in the head section of every page. A pixel that only sits on the thank-you page cannot collect intermediate events like ViewContent and AddToCart. In single page apps, fire page views manually on route change.
- Map the standard events: for each critical step send the event name TikTok recognises plus parameters such as value, currency and content_id.
- Wire in your consent layer. The pixel must not fire before marketing consent is given; listen to the consent platform event and fire afterwards.
- Connect the Events API: send events from your backend with an access token, stamping each one with the same event_id used on the browser side.
- Align product identifiers with the catalogue. The content_id you send has to match the ID in the product feed exactly; sending a variant ID while the catalogue holds the parent ID breaks dynamic ads. If more than one pixel runs on the page, document which ID belongs to which account.
Which standard events should you send to TikTok?
A standard event is one whose name TikTok recognises and can use as an optimisation target. The documented list covers ViewContent, Search, AddToWishlist, AddToCart, InitiateCheckout, AddPaymentInfo, Purchase, CompleteRegistration, Subscribe, StartTrial, Lead, Contact, Download, Login and SubmitApplication. In e-commerce four of them form the core; the rest exist so you can see where the funnel leaks.
- ViewContent: product detail views. Without content_id and content_type there is no catalogue match, so dynamic product ads stay empty.
- AddToCart: cart additions. On accounts with low purchase volume this is the event upper-funnel campaigns optimise toward most often.
- InitiateCheckout: the start of checkout. A reasonable proxy event while weekly purchases stay too thin to optimise on directly.
- Purchase: a completed order. value and currency are mandatory; without them revenue and ROAS reporting stays blank.
- Lead and CompleteRegistration: form and signup flows. For non-retail accounts these are the primary conversion events.
- Search and AddPaymentInfo: rarely optimisation targets, but strong diagnostics. Search shows on-site intent, AddPaymentInfo shows friction at the payment step, and a drop between the two usually points to shipping cost or a form error.
What does the Events API add on top of the pixel?
The Events API is the interface that sends conversion events to TikTok from your own server instead of the browser. The browser layer loses data to ad blockers, tracking prevention, cookie consent and plain network failures; the server layer is immune to most of that. Benchmarks put pixel-only capture near 65% of conversions, while both layers sharing an event_id can push past 90%. We covered where the signal disappears in the server-side tracking guide.
Read the data in one panel
Put TikTok, Meta and Google Ads conversions side by side; Ads Sensor catches the anomalies and proposes reasoned actions.
What are advanced matching and the EMQ score?
Advanced matching is the practice of sending hashed customer information alongside the event so TikTok can tie it to the right user. The result appears in Events Manager as an Event Match Quality (EMQ) score between 0 and 10 for each event. Above 7 is considered strong; in practice teams aim for 8 and up, because match quality drives both the number of attributed conversions and how fast the bidding model learns.
- Email and phone: hashed with SHA-256. Normalise before hashing: lowercase and trimmed email, phone numbers in E.164 format with country code.
- external_id: your own customer identifier. Even for anonymous visitors it can be derived from a stable first-party cookie ID that survives across sessions.
- ttclid: the TikTok click identifier. Unless the landing page reads it from the URL and stores it in a first-party cookie it never reaches the server. This is the most commonly skipped step.
- _ttp: the browser identifier written by the pixel. Including it in the Events API call raises the odds that both layers resolve to the same user.
- IP and user agent: pass the client's real values from the server. Behind a reverse proxy it is easy to send your own server IP by accident, which destroys matching.
How does event_id prevent double counting?
When the same purchase is sent from both the browser and the server, TikTok can record two separate conversions. Deduplication solves it: both layers carry the same event_id and the same event name for one action, and the platform discards the duplicate. Documentation puts the deduplication window at 48 hours; a copy arriving outside that window is stored as a separate event and inflates your reports.
- Generate the event ID on the server. Use a stable value such as the order number, or a UUID; an ID generated randomly in the browser will not match on the server side.
- Write the same value into the event_id field of the pixel call and the event_id field of the Events API payload. The event name has to match exactly too.
- Keep the timing close. Send the server event right after the order completes; queueing it for hours risks falling outside the window.
- Watch the duplicate event warnings in the diagnostics view of Events Manager. If most copies fail to match, either ID generation or the event name is out of sync.
- If you are considering a server-only setup, measure first. The pixel is also what collects ttclid and _ttp, so removing it can pull your EMQ down.
How do you verify the setup and keep it healthy?
Verification uses three tools. The TikTok Pixel Helper browser extension shows that an event fired and which parameters went with it; the Test Events screen in Events Manager streams events in real time; the diagnostics tab lists duplicate events and missing parameter warnings. After launch, review weekly, because a theme update or a payment provider change breaks events silently.
- Volume drift: compare Purchase counts with your order management system every week. Anything above a 10% gap deserves investigation.
- EMQ drop: if the score falls more than a point within a week, a field has usually stopped being sent, most often email or ttclid.
- Attribution window: the default is 7 day click and 1 day view and it is locked once the ad group is live, so decide during setup.
- Consent rate: when acceptance falls, pixel volume falls with it. The Events API must respect the same consent rules, so drive both layers from one consent decision.
- Server errors: when an Events API call returns 4xx the event is never recorded and never shows up in reporting. Log response codes and set a threshold on the error rate, because silent failures are the most expensive measurement bug.
- Optimisation event: weekly volume of the event your ad group optimises toward should stay above the learning threshold. We collected the typical fallout of managing TikTok with Meta reflexes in a separate article.
However well the browser layer is built, measurement is capped by what the user consented to. The server layer does not raise that ceiling; it carries the permitted data without losing it on the way.Ads Sensor Team
It helps to think about the TikTok build alongside its Meta counterpart. The field names and identifiers differ, but the logic is the same, and the deduplication approach in our Meta Pixel and Conversions API setup guide applies here too. Once tracking is in place the real work starts, which is reading the data: Ads Sensor merges TikTok Ads, Meta Ads, Google Ads and GA4 into one panel, flags sudden drops in event volume as anomalies and produces prioritised, reasoned actions. You can request pre-beta access through the signup form.