How to Sync Revenue and Offline Conversions in TikTok Ads
Set up TikTok Events API push from SourceLoop. Find your Pixel ID, generate an Events API access token, map SourceLoop events to TikTok event names, and verify.
On this page
After you’ve connected TikTok Ads to SourceLoop, the next step is wiring up the Events API push. You’ll find a Pixel ID and access token in TikTok Events Manager, paste both into SourceLoop, then map which SourceLoop events get sent to which TikTok event name with what value.
Before you start
You’ll need:
- TikTok Ads connected to SourceLoop (the card shows the advertiser name)
- Access to TikTok Ads Manager for the advertiser (specifically Events Manager / Assets -> Events)
- The Pixel you’ll be reporting to (a regular Pixel, or a Server Pixel created specifically for CAPI)
- A list of SourceLoop conversions you want to push and what TikTok event name each maps to (
PlaceAnOrder,SubmitForm,Subscribe, etc.)
Step 1: Find your TikTok Pixel ID
- Sign in to TikTok Ads Manager with a Business Center user.
- Open Assets -> Events in the left sidebar.
- Click into the Pixel (or Server Pixel) you want to report to.
- On the Pixel’s overview / settings page, find the Pixel ID at the top, a 20-character alphanumeric string.
- Copy it.
Step 2: Generate the Events API access token
- Stay on the Pixel’s settings page in Events Manager.
- Scroll to the Events API section (sometimes labeled “Manage” or “Set up”).
- Click Generate Access Token (or Manage Access Token if you’ve already generated one).
- Copy the token shown. TikTok only shows it once, save it somewhere safe.
If you ever lose the token, you can revoke and generate a new one from the same screen. SourceLoop accepts either; just re-paste in the next step.
Step 3: Paste both values into SourceLoop
- Sign in to SourceLoop.
- Open Setup -> Ad Platforms -> TikTok Ads.
- In the CAPI configuration section of the drawer:
- Paste the Pixel ID from Step 1
- Paste the Events API access token from Step 2
- (Optional) Paste a Test event code for end-to-end testing
- Click Save.
SourceLoop validates the token against TikTok’s API. If valid, the connection status flips to Active.
Step 4: Add your conversion sync mappings
Now wire up which SourceLoop events get pushed to which TikTok event name.
- In the TikTok drawer, scroll to Conversion sync.
- Click Add conversion mapping.
- Pick the Trigger event type:
- Conversion created — every new lead conversion (form, meeting, chat with email captured, first payment)
- Expected revenue updated — when the lead’s expected revenue changes (CRM-driven)
- Realized revenue updated — when a payment integration confirms revenue
- (Optional) Set a Trigger event name filter to scope to a specific source.
- Pick an Attribution model: Last touch or First touch.
- Pick the TikTok event name:
- PlaceAnOrder — TikTok’s equivalent of Purchase for ecommerce
- CompletePayment — when payment is finalised
- SubmitForm — most common for forms / lead capture
- Subscribe — for new SaaS subscriptions
- CompleteRegistration — for account creation
- Lead, Contact — lead-generation events
- AddToCart, InitiateCheckout — funnel events
- Custom event name — type any string for a custom event
- Toggle Include value if you want to send a revenue figure. Pick the value source (
quote_value,sales_value, or fixed amount) and currency. - Set the dedup window in minutes (default 1440).
- Click Save.
SourceLoop starts pushing matching conversions on the next 2-minute flush cycle.
What gets sent in each event
For every matching SourceLoop conversion, the push to TikTok includes:
- event — the event name from your mapping (e.g.,
PlaceAnOrder,SubmitForm) - event_id — a stable identifier per SourceLoop conversion, used by TikTok to dedup against browser-side Pixel events
- timestamp — when the conversion happened (ISO 8601)
- context.page.url — the landing page where the conversion happened
- context.user — matchable signals SourceLoop has captured:
ttclid(TikTok click ID) when present- hashed email (SHA256)
- hashed phone (SHA256)
- external_id (SourceLoop’s contact ID for dedup)
- properties —
valueandcurrencywhen value is included
The richer the user data, the better TikTok’s Event Match Score. ttclid alone gives strong matches; email + phone alone gives medium matches; both together produces near-perfect Match Score.
What’s next
- Troubleshoot pushes that aren’t appearing: Troubleshoot TikTok Ads sync issues.
- Add more mappings for separate funnels: repeat Step 4 with each TikTok event name.
Frequently asked questions
-
Where do I find my TikTok Pixel ID?
In TikTok Ads Manager, open Assets -> Events. Pick the Pixel (or Server Pixel) you want to report to. The Pixel ID is shown at the top of the Pixel's settings page, a 20-character alphanumeric string. Copy it as-is.
-
Where do I generate the Events API access token?
In the same Pixel's Settings tab, scroll to the Events API section and click Generate Access Token (or Manage Access Token if you've already generated one). The token is shown once, copy it immediately. Save it somewhere safe.
-
Can I use the same token for multiple Pixels?
No. Each Pixel has its own Events API token, scoped to that Pixel only. If you have multiple Pixels (e.g., one per brand), generate a separate token per Pixel and create a separate SourceLoop connection per advertiser.
-
What event names does TikTok accept?
TikTok has a standard event list, ViewContent, ClickButton, AddToWishlist, AddToCart, InitiateCheckout, AddPaymentInfo, PlaceAnOrder (their equivalent of Purchase), CompletePayment, Subscribe, CompleteRegistration, Contact, SubmitForm, Search, Download. You can also send a Custom event by typing any name. Lead is also accepted but mapped internally by TikTok.
-
How does dedup work with TikTok?
SourceLoop generates a stable event_id per conversion. TikTok dedups within a 24-hour window when the same event_id arrives from both the browser-side Pixel and the Events API. Most teams either CAPI-only (cleanest) or align the event_ids in their Pixel tags.
-
I see test_event_code in SourceLoop. How do I use it?
Open TikTok Events Manager, pick your Pixel, click the Test Events tab. Copy the test code shown. Paste it in SourceLoop's CAPI configuration. Events sent with that code are routed to Test Events only, not your production Pixel feed, useful for end-to-end testing without polluting real campaign data.
-
What's the difference between a regular Pixel and a Server Pixel?
A Server Pixel is TikTok's purpose-built Events API endpoint, designed for server-side reporting only (no browser-side script). SourceLoop works with both, the integration is identical. If you don't have any browser-side TikTok Pixel installed, create a Server Pixel for cleaner ownership of CAPI-only data.