What the TikTok Events API is
The TikTok Events API is TikTok's server-to-server connection for conversion events. Like Meta's Conversions API, it works next to the TikTok pixel rather than instead of it. The pixel reports what happens in the browser; the Events API sends the same events from a server so they arrive even when the browser can't send them.
You set it up per pixel in TikTok Events Manager, where you generate an access token. Shopify's TikTok app can send server events too on its higher data-sharing setting, and that's a reasonable option if TikTok is your only channel.
Why TikTok loses more sales than other channels
Most TikTok ad clicks open in TikTok's in-app browser. That browser has its own cookies, separate from Safari or Chrome. A buyer who taps your ad, looks around, then opens the link in Safari to pay with saved cards or Apple Pay has started a brand-new session. The pixel in Safari has no idea the visit came from TikTok.
TikTok also skews toward impulse browsing and repeat visits. Someone sees a product three times over a week and buys on the fourth visit, typed in directly. Without a stored click, that sale looks like it came from nowhere.
What TikTok uses to match a purchase
- ttclid: TikTok's click id, added to your landing URL when someone clicks an ad. Saved on landing, it's the strongest link to the ad.
- The _ttp cookie the TikTok pixel sets in the browser.
- Hashed email and phone (SHA-256). TikTok matches these against its own accounts.
- IP address and user agent from the visit.
- Order value, currency, the products, and the order id.
Deduplication on TikTok
TikTok deduplicates pixel and server events that have the same event name and the same event id, within its deduplication window. Settl sends the purchase as CompletePayment from both browser and server with one shared event id per order, so TikTok keeps one.
If your browser pixel comes from one app and your server events from another, check that they use the same event id. If they don't, switch one of them off.
TikTok Events API on Shopify: what changes in your reports
In the first days after switching on the TikTok Events API on Shopify, you'll usually see more CompletePayment events in TikTok Ads Manager than before. That's the purchases the pixel was missing. Don't compare the new week with old weeks as if it were a performance jump; your ads didn't change, your measurement did.
Give TikTok's algorithm a little time. Campaigns optimized for purchases learn from the conversions they receive, and with more complete data they can find buyers more accurately. Avoid making big budget or targeting changes in the same week, so you can tell what caused what.
Also expect TikTok's numbers to stay below your total Shopify orders. Not every order comes from TikTok, and not every TikTok buyer can be matched. A good check is to compare TikTok purchases with orders where the landing came from a TikTok click, not with all your orders.
How to check it in TikTok Events Manager
In TikTok Events Manager, open your pixel and look at the overview of recent events. You should see CompletePayment coming in from both the pixel and the Events API. The Test Events tool lets you send a test order and watch it arrive within a few minutes.
Check the Diagnostics area for warnings such as missing parameters, events without value or currency, or duplicate events. TikTok also shows a match-quality indication per event; sending hashed email and phone plus the saved ttclid is what improves it.
Common mistakes
- Only reading the ttclid at checkout, when the buyer may already have switched browsers.
- Running the Shopify TikTok app's server events and another app's server events on the same pixel.
- Optimizing campaigns for Add to Cart because purchases look too low, when the real problem is lost purchase events.
- Sending orders that were never paid, which teaches TikTok to find the wrong buyers.