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 1 hour 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:

  1. TikTok Business Center β†’ Events Manager β†’ Web Events β†’ Set Up Web Events
  2. Choose installation method: Manual code (recommended) or Tag manager (GTM)
  3. Pick base code + event codes (Page View, Click, Purchase, Add to Cart, etc.)
  4. Install the snippet on your site (before </head>)
  5. Test with TikTok Pixel Helper Chrome extension
  6. 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_id for 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:

EventUse case
PlacedOrderEquivalent to Meta's Purchase
AddToCartMid-funnel signal
InitiateCheckoutCheckout started
CompletePaymentSame as PlacedOrder in some setups
ContactUsLead form submitted
SubscribeNewsletter / membership sign-up
CompleteRegistrationAccount creation
ViewContentProduct / page view
SearchSite search
AddPaymentInfoPayment method added

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" for PlacedOrder
  • Events API fires: event_id: "abc123" for PlacedOrder (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

ScenarioRecommendation
Just startingBrowser pixel only (fastest setup)
iOS-heavy audienceAdd Events API (iOS ATT signed loss = 30%+ recovered via server-side)
Privacy-conscious usersEvents API essential
High-value conversionsAlways both with deduplication
Low-value events (Search, View)Browser pixel alone fine

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_id mismatch between browser pixel and Events API. Use the same event_id in 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 value field. 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_id when 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