TikTok Pixel and Events API setup
TikTok offers browser pixel + Events API (server-side). Wevion supports both. Install both for iOS 14.5+ resilience + dedup.
Written By Salvatore Sinigaglia
Last updated About 5 hours ago
TikTok offers browser pixel + Events API (server-side). Wevion supports both. Install both for iOS 14.5+ resilience + dedup.
TikTok Pixel and Events API setup
TikTok has two tracking surfaces: a browser pixel (JavaScript snippet, like Meta Pixel) and an Events API (server-side, like Meta CAPI). Wevion auto-imports pixels from connected advertiser accounts and supports both surfaces via the
providers/tiktok-events/provider. Use both for the most accurate attribution.
Who is this for
Mediabuyers running TikTok conversion campaigns. Anyone whose TikTok conversion data dropped after iOS 14.5 (ATT) β Events API helps recover.
TikTok Pixel (browser)
The standard tracking snippet:
- JavaScript loaded on your site (in
<head>) - Fires events when users do things (page view, add to cart, purchase)
- Sends events directly from user's browser to TikTok
- Subject to: ad blockers, iOS ATT opt-out, browser cookie deprecation
Setup is on your site, not in Wevion. Wevion auto-discovers existing pixels.
Install a new pixel
If you don't have one yet:
- TikTok Business Center β Events Manager β Web Events β Set Up Web Events
- Choose installation method: Manual code (recommended) or Tag manager (GTM)
- Pick base code + event codes (Page View, Click, Purchase, Add to Cart, etc.)
- Install the snippet on your site (before
</head>) - Test with TikTok Pixel Helper Chrome extension
- Wevion picks up the pixel on next 15-min sync (visible at
/pixels)
TikTok Events API (server-side)
Server-to-server event sending, complement to the browser pixel:
- Wevion sends events from its server to TikTok's Events API endpoint
- Bypasses browser-side blockers entirely
- Each event tagged with
event_idfor deduplication against the browser pixel
How Events API works in Wevion
Wevion's server-side Events API sending is handled by its built-in providers/tiktok-events/ provider β it's part of Wevion's tracking pipeline, not a self-serve section on /connect/tiktok where you paste a per-pixel access token. In practice:
- The browser pixel remains the piece you install and manage on your site (see above).
- The server-side Events API counterpart is driven by Wevion's tracking pipeline rather than a per-pixel token you enter in the UI.
- If you need a per-pixel Events API token configuration exposed in the UI, treat it as not currently available and check the changelog for updates.
Standard events
TikTok supports these standard event names:
Custom events also supported β pixel and Events API must use the same event name + event_id to dedupe.
Deduplication
Both the browser pixel and Events API can send the same event. To avoid double-counting, both send the same event_id:
- Browser pixel fires:
event_id: "abc123"forPlacedOrder - Events API fires:
event_id: "abc123"forPlacedOrder(same one) - TikTok matches via
event_idβ counts as 1 event
In TikTok Events Manager β Pixel β Diagnostics, you can see the deduplication rate. Healthy setup: 90%+ deduplication.
Pixel health at /pixels
/pixels shows TikTok pixels with:
- Status (Active / Inactive)
- Last 7d event counts per type
- Events API status (Configured / Not configured)
- Deduplication rate (estimated)
When to use pixel vs Events API vs both
What you'll see
A healthy pixel + Events API:
/pixels: TikTok pixel Active + Events API Configured- TikTok Events Manager β Diagnostics: 90%+ deduplication
- Campaign Creator: pixel selectable as conversion target for Sales objective
- After 50+ conversions: optimization improves vs browser-only
Common issues
- Pixel showing Inactive despite traffic: pixel installed after
</head>(load order) or blocked by ad blocker. Test in incognito. - Duplicate event counts:
event_idmismatch between browser pixel and Events API. Use the sameevent_idin both (TikTok Pixel Helper shows the browser-side value). - Pixel imported but no events: pixel installed but no traffic yet, or events firing but TikTok hasn't processed them (5-10 min lag).
- Events API events arriving but with $0 value: e-commerce integration not sending
valuefield. Check the payload in TikTok Events Manager Test tab.
Wevion's Events API provider details
Wevion's server-side Events API sender (apps/backend/src/providers/tiktok-events/tiktok-events.provider.ts):
- Sends one event per API call to TikTok's
v1.3/event/track/endpoint (no multi-event batching) - Retries on transient TikTok API errors
- Hashes user data (email / external_id) before sending, per TikTok's schema
- Uses a stable
event_idwhen the caller can provide one, for browserβserver deduplication
FAQ
What's the difference between the TikTok Pixel and the Events API in Wevion?
The TikTok Pixel is a browser JavaScript snippet (like Meta Pixel) that sends events from the user's browser, while the Events API is server-side (like Meta CAPI) and bypasses ad blockers and iOS ATT opt-outs. Wevion supports both surfaces via its providers/tiktok-events/ provider β use both for the most accurate attribution.
Should I set up both the pixel and Events API?
For high-value conversions, yes β Wevion recommends both with deduplication. Adding the Events API for iOS-heavy or privacy-conscious audiences recovers 30%+ of signal lost to ATT. When just starting, the browser pixel alone is fastest; for low-value events like Search or ViewContent, the browser pixel alone is fine.
How does Wevion prevent double-counting between the pixel and Events API?
Through event_id matching. Both the browser pixel and the Events API send the same event_id for an event, so TikTok matches them and counts it once. A healthy setup shows 90%+ deduplication in TikTok Events Manager β Diagnostics. Custom events must use the same event name plus event_id in both surfaces.
Where do I check my TikTok pixel health in Wevion?
At /pixels. Wevion shows each TikTok pixel's status (Active/Inactive), last 7-day event counts per type, Events API status (Configured/Not configured), and estimated deduplication rate. Wevion auto-imports pixels from connected advertiser accounts on the 15-minute sync.
FAQ
What's the difference between the TikTok Pixel and the Events API in Wevion?
The TikTok Pixel is a browser JavaScript snippet (like Meta Pixel) that sends events from the user's browser, while the Events API is server-side (like Meta CAPI) and bypasses ad blockers and iOS ATT opt-outs. Wevion supports both surfaces via its providers/tiktok-events/ provider β use both for the most accurate attribution.
Should I set up both the pixel and Events API?
For high-value conversions, yes β Wevion recommends both with deduplication. Adding the Events API for iOS-heavy or privacy-conscious audiences recovers 30%+ of signal lost to ATT. When just starting, the browser pixel alone is fastest; for low-value events like Search or ViewContent, the browser pixel alone is fine.
How does Wevion prevent double-counting between the pixel and Events API?
Through eventid matching. Both the browser pixel and the Events API send the same eventid for an event, so TikTok matches them and counts it once. A healthy setup shows 90%+ deduplication in TikTok Events Manager β Diagnostics. Custom events must use the same event name plus event_id in both surfaces.
Where do I check my TikTok pixel health in Wevion?
At /pixels. Wevion shows each TikTok pixel's status (Active/Inactive), last 7-day event counts per type, Events API status (Configured/Not configured), and estimated deduplication rate. Wevion auto-imports pixels from connected advertiser accounts on the 15-minute sync.
Last updated: 2026-05-17