- Delivery
- TikTok Events API, sent from SignalBridge servers
- Connect with
- TikTok sign-in and a Pixel, or a Pixel Code plus an Events API access token and advertiser ID
- Deduplication
- Shared event_id on the browser and server copy of each event
- Match data
- ttclid and ttp unhashed; email, phone and external ID hashed; IP address and user agent
- Consent
- Events are held back when marketing consent is denied or required and not granted
- Failures
- Durable queue with retries; a reconnect state when TikTok rejects the access token
- Testing
- Test Events code; test traffic goes only to TikTok's test stream
- Ad spend
- Synced on the Pro plan and above
How it works
The click and the event are captured
The SignalBridge script records the ttclid from a TikTok ad click, the _ttp cookie and any email or phone the visitor has entered. When your site loads the SignalBridge script and already runs the TikTok Pixel, SignalBridge wraps ttq.track and puts an event ID on the call, or reuses the one your code set. The Shopify app cannot do this to the Pixel that the TikTok app loads.
The event is stored and checked
The event reaches your tracking domain and is stored durably. Consent is checked next. Events from visitors who denied marketing consent, or who have not granted it where consent is required, are not forwarded.
The event name is mapped
SignalBridge translates its event names into TikTok's. Purchase becomes CompletePayment and Lead becomes SubmitForm, for example. An event with no TikTok equivalent is never rewritten into a different event, it is skipped unless you have set it up as a custom event.
User and product data are attached
Email, phone and external ID are normalised and hashed with SHA-256. If no external ID is supplied, a hashed visitor session ID is used. Product contents come from Shopify line items or the page, with the value and currency of the order.
The event is delivered
The event goes to the Events API for your Pixel. TikTok deduplicates on event name plus event ID, so a retried delivery is safe. If TikTok reports the access token as invalid or expired, delivery pauses and the dashboard asks you to reconnect.
How events map to TikTok
These are the TikTok standard events SignalBridge sends.
| SignalBridge event | Sent to TikTok as | Notes |
|---|---|---|
| PageView, ViewContent | ViewContent | Product contents are included when the page or Shopify provides them. |
| AddToCart, AddToWishlist, InitiateCheckout, AddPaymentInfo | Same name | Value, currency and contents when available. |
| Purchase, CompletePayment | CompletePayment | Carries value, currency and contents. PlaceAnOrder is passed through as PlaceAnOrder. |
| Lead, SubmitForm | SubmitForm | Choose the TikTok event your lead campaigns optimise for under Lead event routing. |
| CompleteRegistration, SignUp | CompleteRegistration | Both SignalBridge names become the one TikTok event. |
| Subscribe, StartTrial | Subscribe | A trial start is reported to TikTok as Subscribe. |
| Contact, Download, Search, ClickButton | Same name | Search includes the query when the page provides one. |
| Anything else | Not sent, unless configured as a custom event | SignalBridge does not guess a TikTok equivalent. |
What user data is sent
TikTok uses these fields to match a server event to a person and to the ad click.
| Field | How it is prepared | Where it comes from |
|---|---|---|
| ttclid | Not hashed | The ttclid parameter on the landing URL |
| ttp | Not hashed | The _ttp cookie set by the TikTok Pixel |
| Trimmed, lowercased, SHA-256 | Checkout, forms, sb_track user_data, Shopify customer data | |
| Phone | Converted to international format, SHA-256 | The same sources as email |
| External ID | SHA-256 of the supplied ID, or of the visitor session ID | Your customer ID or SignalBridge's session ID |
| IP address and user agent | Not hashed | The visitor's request to your tracking domain |
Requirements
- A TikTok Ads Manager account and at least one TikTok Pixel.
- The SignalBridge script on your site or the SignalBridge Shopify app. Keep your TikTok Pixel installed.
- A TikTok Test Events code for the connection test, from Events Manager.
- For manual setup: the Pixel Code, an Events API access token and the advertiser ID.
Set up TikTok Ads
Open the TikTok integration
In SignalBridge, open your pixel's settings and find TikTok Ads under Integrations.
Sign in and choose the Pixel
Choose the one-click sign-in, approve access, then select the Pixel. If automatic discovery fails, enter the Pixel Code by hand. You can find it in TikTok Business Center under Assets, then Pixels.
Or connect manually
For manual setup, enter the Pixel Code, an access token generated in Events Manager under Settings, then Events API, then Generate access token, and the advertiser ID from the top right of the Ads Manager home page.
Install SignalBridge on the site
Add the SignalBridge snippet to your site header, or install the Shopify app, so events and the ttclid are captured.
Pick the lead event
Under Lead event routing, choose which TikTok event lead-type conversions are sent as. Skip it if you only track purchases.
Send a test event
Copy the current Test Events code from Events Manager, paste it into the Test field on the TikTok card, and run the test. Test traffic goes only to TikTok's test stream, never to production reporting.
Verify it works
Confirm the test in TikTok
In Events Manager, open the Test Events tab for your Pixel while you run the SignalBridge test. A server event should appear within a minute.
Watch a real event in SignalBridge
Open the event stream, trigger an action on your site, and check that TikTok shows as delivered for the event.
Check deduplication
If the SignalBridge script wraps your TikTok Pixel, Events Manager should report the browser and server copies of an event as one, because they share an event ID. On Shopify the TikTok app's Pixel has its own IDs, so give each event a single sender instead.
Troubleshooting
The Test button is disabled
The test needs a Test Events code. Copy the current one from Events Manager and paste it into the field first.
TikTok reports the access token as invalid or expired
Delivery is paused until you reconnect. Sign in again, or generate a new access token in Events Manager and enter it manually.
Events appear in SignalBridge but not in TikTok
Check that the event has a TikTok equivalent. Unmapped events are skipped by design. Also check that the visitor gave marketing consent if your site requires it.
Purchases show the wrong currency
Set the store's default currency in the pixel settings. When a value arrives with no currency at all, the event is sent to TikTok with USD.
Conversions are counted twice
Another tool is sending the same event to the Events API with a different event ID. Keep a single server-side sender. The TikTok Pixel and SignalBridge together are fine when the SignalBridge script wraps the Pixel, because they share an ID. On Shopify they do not, so turn off in the TikTok app the events SignalBridge sends.
Low match rate in Events Manager
Send more customer data. Email and phone at checkout or in forms help most, and the ttclid must survive from the landing page to the conversion.
What to know before you rely on it
Where this integration stops, so the numbers you see are read correctly.
- TikTok's attribution decides how conversions are credited. SignalBridge sends the events and their match data, it does not change TikTok's reporting.
- Visitors who have not agreed to marketing tracking are not sent to TikTok.
- Only events with a TikTok equivalent, or an explicitly configured custom event, are sent.
- SignalBridge can only forward what it receives. If the SignalBridge script is blocked, nothing is captured, although a custom tracking domain makes that less likely.
- Events are website events. App events and offline conversions are not part of this integration.
Questions about this integration
Will this duplicate my TikTok Pixel events?
Not when the SignalBridge script is on your site. TikTok deduplicates on the event name and event ID, and the script puts the same event ID on the Pixel call and on the Events API event, so the pair counts once. If the Pixel is blocked, the server event counts alone. On Shopify the TikTok app loads its own Pixel, which SignalBridge cannot tag, so give each event one sender as the Shopify guide describes.
Why does TikTok need server-side events?
Browser Pixels depend on cookies and scripts that browsers and blockers can restrict. The Events API sends the same conversion from a server, with the ttclid and hashed customer data, so more of them can be matched to an ad.
What do I need to connect?
A TikTok Ads Manager account with a Pixel. The one-click sign-in lists your Pixels. For manual setup you enter the Pixel Code, an Events API access token and the advertiser ID.
Can I send custom events?
Yes, but they are only forwarded when set up as custom events. SignalBridge does not map an unknown event to a standard TikTok event, because that could corrupt your optimisation data.
Is customer data hashed?
Email, phone and external ID are hashed with SHA-256 before they leave SignalBridge. The ttclid, ttp, IP address and user agent are sent as they are, because TikTok expects them unhashed.
Does consent affect what TikTok receives?
Yes. If a visitor denies or revokes marketing consent, or consent is required on your site and has not been granted, SignalBridge does not send the event to TikTok.
Is ad spend synced?
On the Pro plan and above, SignalBridge can read daily ad spend from your TikTok advertiser account, so cost per acquisition and return on ad spend use actual spend.