TikTok Pixel and Events API for PWA

TikTok Pixel and Events API for PWA work as a pair — running the pixel alone leaves TikTok's algorithm optimizing on incomplete data. A PWA's standalone mode and TikTok's in-app browser both cut into the cookie signal a client-side pixel relies on, so a chunk of real installs and deposits never arrive without a server-side channel. Here's how to wire up both channels and which events actually carry the funnel.

Why the Pixel alone falls short in a PWA

A PWA running in standalone mode has no address bar and skips part of the cookie mechanics a classic browser pixel depends on, and mobile privacy limits cut the signal further still. The result is that a share of real installs and deposits never reach TikTok, and delivery gets optimized against an incomplete picture. Events API fixes this by sending the same events straight from the server — from Keitaro or another tracker — bypassing those browser-side limits.

Getting an access token for Events API

The token comes from TikTok Ads Manager: Assets → Events → the pixel in question → Manage → Generate Access Token. The same screen shows the Pixel ID, needed for both the client and server channel. The token grants permission to send events on behalf of that pixel, so it belongs only in a server-side integration — a Keitaro postback setting, for instance — never in exposed client code.

Which events to send, and in what order

A baseline PWA funnel sends ViewContent when the offer is shown, CompleteRegistration on the target action (signup, registration), and Purchase on the final conversion (deposit, payment). TikTok, like other platforms, reads the event sequence as a quality signal — a conversion with no preceding intermediate events looks less trustworthy and gives bid optimization a weaker map of the funnel.

Connecting Pixel and Events API through APEX

The Pixel ID goes into APEX's project settings with no code changes to the witrina — the platform places events at the key points of the user journey on its own. The Events API token lives on the tracker side instead, in Keitaro's outgoing postback, say, which receives the clickid and conversion data from APEX and forwards it to TikTok as a server call.

Deduplication and checking Events Manager

When the same action fires through both the Pixel and Events API, both calls need the same event_id, or TikTok counts the deposit twice and conversion numbers get inflated. To confirm events are arriving correctly and not doubling up, check TikTok Ads Manager under Events → Test Events, where every call and its source shows up in real time.

FAQ

Do I need both Pixel and Events API running at once?
Strictly speaking you can run just one channel, but on PWA traffic the client-side Pixel routinely misses events — pairing both channels gives a fuller, more honest picture for optimization.
Which events matter most if I can't set up the full chain right away?
At minimum, the target-action event and the final conversion (Purchase or its equivalent) — the intermediate events help but aren't required to start optimizing.
How do I confirm Events API is actually working?
TikTok Ads Manager's Events → Test Events section shows every incoming server call in real time along with its processing status.
Does every ad account need its own Pixel when farming accounts?
If accounts and Business Centers are split up for rotation, yes — that's standard practice so one account ban doesn't take down the whole tracking setup.
Build your PWA in APEX in minutes

Cloaking, anti-bot, push, split tests and your own domains — in one service.

Get started free

Read also