TikTok Events API v1.3

Server-side tracking for TikTok conversions

Your conversions leave your server for the TikTok Events API, not the browser of a visitor who may be blocking the pixel. The purchase is fired by the validated order, not by a thank-you page the customer may never load.

Identifiers are normalised and then hashed before sending: TikTok receives enough to tie the conversion to a person, never the address itself.

Sent from your server Identifiers hashed before sending Hosted in the EU
The path of a purchase
Your shop The order is validated server-side, not on a thank-you page
DataFirefly dispatcher Consent checked, identifiers normalised then hashed
TikTok Events API v1.3 CompletePayment, with the value and the products
Pageview AddToCart CompletePayment SubmitForm
The problem

Where a shop loses its TikTok conversions

The TikTok pixel depends on a fragile chain: the browser loads the script, runs it, and is blocked by nothing along the way.

The pixel does not load

Blockers, restrictive browsers, a mobile connection dropping mid-session: the event never exists, and TikTok optimises on what is left.

The purchase depends on a page

The pixel fires on the confirmation page. A customer who closes the tab after paying did buy, and the conversion never left.

Poor matching costs ROAS

With no usable identifier, TikTok cannot tie the conversion to a profile. The campaign looks weaker than it is, and the algorithm learns on incomplete data.

Installation

Three steps, and nothing to rewrite

The connector installs on your shop; everything else is set in the console.

1: Install the connector

The PrestaShop module, the WooCommerce plugin or the Shopware extension, downloaded from your console. No code to write.

2: Paste two values

The pixel code and the token, taken from your own TikTok account. They are encrypted at rest and never reappear in a page.

3: Check in Test Events

Your events arrive in TikTok's test screen before you switch to production.

Event mapping

What TikTok receives, event by event

Twelve of our events have an official TikTok name. Those that do not are not sent to this destination: they go to the others, without error or loss.

Our name Name at the platform
page_viewPageview
view_contentViewContent
add_to_cartAddToCart
initiate_checkoutInitiateCheckout
add_payment_infoAddPaymentInfo
purchaseCompletePayment
leadSubmitForm
complete_registrationCompleteRegistration
searchSearch
add_to_wishlistAddToWishlist
contactContact
subscribeSubscribe
The limits

What TikTok will not do

Every destination has a closed vocabulary, except one. Here is what that means: said before you find out.

Events with no TikTok name are not sent

TikTok has no official equivalent for a booking, a share or an application. Those events are not sent to it: they go to your other destinations, without error. We prefer to send nothing rather than force them into a near-enough name that would distort your figures.

Match quality depends on you

TikTok ties the conversion to a profile using the identifiers your shop passes us. An order with no email address still goes out, but matches less well. The console shows that coverage day by day.

Verifiable

What the console will show you for this destination

An argument we can make because the page exists: you do not have to take our word for it, you look.

Every event, with the platform's answer

The Inspector lists what left, what the destination made of it, and the exact reason for a refusal. An invalid identifier or an expired token reads in plain words, the same day.

Identifier coverage

How many of your events carried enough to tie the conversion to a person. That is what decides match quality, and therefore the ROAS you will read at the advertiser.

The periods when nothing left

The costliest and quietest anomaly: an empty dashboard reads like a bad week, never like an outage. The console names them.

What you need

What you need

Two values, from your own TikTok account. We never ask for your password.

The pixel code

TikTok Ads Manager → Assets → Events → Web Events → your pixel. This is the “Event Source ID”.

An access token

Generated in the Events API setup on the same screen. Encrypted at rest here and never shown in a page.

A test event code (optional)

To watch your events land in Test Events before switching to production.

Privacy

What does not leave our infrastructure

A product handling customer data owes you a statement of where it stops.

Identifiers are hashed before sending

Normalised then hashed here: the destination receives a fingerprint, never the email address or the phone number.

Consent decides, server-side too

Every event carries the consent state your banner recorded. A refusal stays a refusal: going through the server bypasses nothing.

Hosted in the European Union

The dispatcher, the database and the console are in Germany. Your tokens are encrypted at rest and never reappear in a page.

No surprises

Simple to install, with no cost added on top

A design decision, not a sales promise: there is nothing to host, and nothing to unlock tier by tier.

A module, like any other

The connector installs like any other extension of your shop. Nothing to host: no container to rent, no server to maintain, no subdomain to configure.

Every destination, on every plan

Including the free one. Plans differ only by the number of sites and events, no destination is reserved for a tier, which is nonetheless the norm.

Starting costs nothing

The free plan covers one site and 10,000 events a month, with no card. Nothing breaks if you go over the quota.

Ce qu'on nous demande

Questions fréquentes

Do I still need the TikTok pixel?

Yes, and that is deliberate. The pixel and the server send carry the same event id, so TikTok matches them instead of double counting. The pixel brings browser context, the server guarantees the purchase arrives even when the pixel could not run.

Will my conversions be counted twice?

No. Deduplication is based on the event id, which we pin from the order number. Two sends for the same order carry the same id: TikTok keeps one.

What personal data is sent?

Identifiers are normalised and then hashed before leaving our infrastructure: TikTok receives a fingerprint, never the address. Nothing goes out without the consent your banner recorded.

What happens if TikTok refuses an event?

Your console's Inspector shows the refusal with TikTok's exact message. An expired token is visible the same day, not at the monthly review.

Connect this destination in minutes

The free plan includes every destination. No commitment, no card.