Send confirmed conversions from SourceTrack to the TikTok Events API, from SourceTrack’s servers rather than the visitor’s browser. You paste your TikTok Pixel code and an Events API access token, and SourceTrack sends each confirmed conversion as a web event for that pixel.
Server-side sending to ad platforms is in beta. Every attempt, success, failure and skip is listed in SourceTrack so you can check what reached TikTok. TikTok decides what it accepts and how it matches it.
What SourceTrack records
- The TikTok click ID:
ttclidfrom the landing page URL. The standard tracker keeps the latest click ID in the browser, so a conversion on a later page of the same site can still carry it. - A delivery log: each send appears under Delivery Health as sent, failed (with TikTok’s error code) or skipped (with the reason).
What SourceTrack sends to TikTok
- An event name: for example
CompletePayment,SubmitForm,CompleteRegistration,Subscribe,AddToCartorInitiateCheckout, depending on the conversion type. You can rename or block each event for TikTok. - The value and currency, only when they are known. A missing value is left out, never sent as zero.
- The order ID, and an event ID when the conversion has one, which TikTok uses to merge a pixel event with the server event.
- Match keys: the
ttclid, a SHA-256 hash of the email when the conversion has one, a SHA-256 hash of the phone number in E.164 format when the order or checkout includes one (only when it carries a country code, or is a US or Canadian number on a US or Canadian address), a hash of SourceTrack’s visitor ID, the browser user agent, and the visitor’s IP address when SourceTrack could trust where it came from. - The page address the conversion happened on, when known.
What SourceTrack does not do
- It does not send names to TikTok, and it sends no phone number it cannot put in E.164 form with certainty.
- It does not fire or change your TikTok Pixel. If you also run the pixel, deduplication depends on you giving the pixel event the same event ID.
- It does not send a conversion the visitor declined consent for, or one from a browser that sent Global Privacy Control or Do Not Track.
- It does not send test conversions, or browser conversions that were never confirmed (see below).
Step-by-step setup
Server-side sending is not part of the free plan.
Step 1: Get your Pixel code and access token
In TikTok Ads Manager, open the web events settings for your pixel. Copy the pixel code and generate an Events API access token.
Step 2: Add them in SourceTrack
Open Integrations → Advanced Tracking → Server-side Conversions (CAPI). On the TikTok card, enter the Pixel Code and paste the Access token. The token is stored encrypted and is never shown again.
Step 3: Check the events
Open the TikTok card’s event list to see which SourceTrack conversion types go out under which TikTok event name, and rename or block any of them.
How it works under the hood
A conversion is sent only after something SourceTrack trusts has confirmed it: a Stripe or Shopify payment webhook, your inbound webhook signed with your secret API key, or a CSV import by a site owner or admin who ticks the box confirming the sales are real. A conversion reported by the browser alone is held for up to 72 hours and released only when a payment webhook confirms the same order.
TikTok answers every request with a code in the response body, even when the HTTP status is 200. SourceTrack records a send as successful only when that code says the event was accepted; anything else is recorded as failed with TikTok’s code and message. Temporary errors are retried, with the event held in an encrypted retry queue for no more than 24 hours.
Common problems and fixes
- A send failed with a TikTok error code. Read the code and message in Delivery Health. A rejected or expired token needs a new one from TikTok.
- Purchases are counted twice. Your TikTok Pixel also records them. Give the pixel event and the SourceTrack conversion the same event ID.
- A conversion shows “Held back”. It was reported by the browser and no payment webhook or other trusted source confirmed it.
Related guides
- Server-side tracking explained
- Click IDs explained: gclid, fbclid, msclkid
- Troubleshooting tracking problems
- All integrations
Frequently Asked Questions
Will TikTok count a conversion twice if I also run the TikTok Pixel?
It can. SourceTrack sends an event ID when the conversion has one, and TikTok merges the two only when the pixel event carries the same event ID. SourceTrack does not set the pixel’s event ID for you.
When do events show up in TikTok?
SourceTrack sends a conversion once it is confirmed, which for a browser-reported purchase means after the payment webhook arrives. How soon it appears in TikTok Events Manager is up to TikTok.