There's something most advertisers on TikTok don't know... and it's costing them money every day.
Your ads generate sales. That's for sure. But TikTok Ads Manager shows fewer conversions than actually occur. The algorithm receives incomplete data. And as a result, it optimizes poorly. Costs go up, performance goes down, and no one understands why.
The problem is not your creative. It's not your targeting. It's that your TikTok pixel is «blind» to thousands of real conversions.
In this guide I'll explain exactly what TikTok server side tracking is, why the pixel alone is no longer enough, and how you can implement the TikTok Events API step by step. And at the end, I tell you when it makes sense to do it yourself... and when it doesn't.
Read on, because what comes next changes the way you measure your campaigns.
Why TikTok Pixel Alone Is No Longer Enough
When you install the TikTok pixel on your website, what you do is put a little code in the user's browser. That code watches what the visitor is doing and tells TikTok: «Hey, there's been a purchase!.
The problem is that this code lives in the browser. And the browser has many «guards» that block it:
- The ad blockers (such as uBlock Origin, Adblock Plus) prevent the pixel from being executed.
- The browsers such as Safari or Firefox restrict third-party cookies, reducing the attribution window to 24 hours or less.
- Users who refuse cookies directly on the banner of your website cause the pixel to register nothing.
- The slow connections or browser crashes may cause the pixel to fail to fire before the user closes the page.
The result is that a portion of your actual conversions never make it to TikTok. The algorithm works with incomplete data. And it makes worse optimization decisions.
This translates into: higher cost per conversion, poorer segmentation and campaigns that do not scale.
What is TikTok Server Side Tracking?
Server side tracking is a different way of sending conversion data to TikTok. Instead of being sent from the user's browser, the data travels directly from your server to the TikTok servers.
It's that simple: your website completes a purchase → your server logs it → your server notifies TikTok → TikTok attributes it to your ad.
The user's browser is no longer the intermediary. Blockers cannot intercept that communication. Cookies don't matter as much. And the data arrives complete.
TikTok's tool for doing this is called TikTok Events API (formerly known as TikTok Conversions API). It is the official TikTok solution for server side tracking.
TikTok Pixel vs TikTok Events API: The Key Differences
| TikTok Pixel (client-side) | TikTok Events API (server-side) | |
|---|---|---|
| Where you run | User navigator | Your server |
| Affected by ad blockers | Yes | No |
| Affected by cookie restrictions | Yes | Much less |
| Dependent on consent | Yes | More flexible |
| User data sent | Limited | Email, phone, IP hashed |
| Web loading speed | Slightly reduces it | Does not affect |
TikTok's official recommendation is to use both at the same timeThe pixel for speed and the Events API for reliability. With both active, the system automatically deduplicates the events so as not to count them twice.

Benefits of Implementing TikTok Server Side Tracking
Before we get into how to do this, I want you to be clear about what you gain from it:
More conversions recorded. By removing the browser «filter», TikTok receives sales data that was previously lost. This improves your EMQ Score (Event Match Quality), which is the metric TikTok uses to measure how well your data matches real users of the platform.
Better optimization of the algorithm. TikTok uses the conversions it receives to learn which users convert best. More data = better learning = better results in your campaigns.
Lower cost per conversion. With more complete data, the algorithm optimizes for the right profiles. Less budget wasted.
More precise attribution. You can send data that the pixel cannot capture on its own: the customer's email address, phone number (all hashed for security), CRM data, offline purchases...
Easier regulatory compliance. When you control what data leaves your server and what data you send to TikTok, you have more control over compliance with GDPR and other privacy regulations.
How the TikTok Events API Works on the Inside
Before we look at the technical steps, I want you to understand how this works in broad strokes.
When a user makes a purchase on your website:
- The payment form is completed and your server processes the transaction.
- Your server also prepares a «data packet» with the event information: what happened, when, what value it has, and user data (email hashed, IP, user agent...).
- This package is sent to
https://business-api.tiktok.com/open_api/v1.3/event/track/via an HTTP POST call. - TikTok receives the event, processes it and attributes it to the advertisement that brought the user to your website (using the
ttclid, the TikTok click parameter).
If you also have the active pixel, TikTok compares both events by means of a event_id and merges them into one, avoiding double counting.
Steps to Implement TikTok Server Side Tracking
Step 1: Login to TikTok Ads Manager and Get your Pixel ID
The first thing you need is to have a TikTok pixel created in your account.
- Enter in TikTok Ads Manager → Assets → Events → Web Events.
- If you do not have a pixel, create one. Select the option «Manually install pixel code» y Developer Mode.
- Once created, copy the Pixel ID. You will find it in the pixel settings. You will need it in later steps.
Step 2: Generate your Access Token
The Access Token is like the «key» you need for your server to be able to talk to the TikTok API securely.
- In TikTok Ads Manager, go to Assets → Events → Web Events.
- Select your pixel and enter Settings.
- Scroll down to the section «Access Token Generation».».
- Click on «Generate Access Token» and copy the token that appears.
Keep this token in a safe place. Do not expose it in public code or on the frontend of your website.
Step 3: Make sure to Capture the Parameter ttclid
The ttclid (TikTok Click ID) is the parameter that TikTok automatically adds to your landing page URL when someone clicks on one of your ads. It is essential for attribution.
As of 2024, TikTok adds this parameter automatically. But you must make sure that your website picks it up and saves it (e.g. in a first-party cookie or on the session server) to send it along with the conversion events.
An example of a URL with ttclid would be:
https://tuweb.com/producto?ttclid=AbCdEf123456...
If you do not capture and save this parameter, the API may work, but the attribution will be less accurate.
Step 4: Choose your Implementation Method
This is where things bifurcate depending on your technical situation:
Option A: Google Tag Manager Server-Side (sGTM)
This is the most common option for marketing teams with a certain technical level. You need:
- A server-side container on GTM already configured (on Google Cloud Platform or another server).
- The official template «TikTok Events API» installed from the Community Template Gallery.
- Configure the label with your Access Token and Pixel ID.
- Map the events of your web container (GA4, for example) to TikTok events.
Option B: Direct Integration via API
If you have a development team, you can make direct API calls from your backend. This gives you maximum control. Every time a conversion event occurs, your server makes an HTTP POST request with the event body in JSON format.
Option C: eCommerce Platforms (Shopify, WooCommerce...)
Platforms like Shopify have native integrations with TikTok that make it easy to set up server side tracking. In Shopify, it is configured from the Customer Events from the administration panel.
Step 5: Configure the Event Parameters
Each event you send to the API must include a number of fields. The most important ones are:
event: The name of the standard TikTok event (CompletePayment,AddToCart,ViewContent,Lead,SubmitForm…).event_id: Unique identifier for each event. It is key for deduplication with the pixel.timestamp: The date and time of the event in ISO 8601 format.pixel_code: Your Pixel ID.context.page.url: The URL of the page where the event occurred.context.user: User data hashed in SHA-256 (email, phone number, IP, user agent),ttpcookie...).context.ad: Thettclidcaptured from the click.properties: Event details (purchase value, currency, product IDs...).
The user's personal data (email, phone) must be sent hashed in SHA-256. TikTok's own API can also do this hashing automatically if you configure it.
Step 6: Implement Event Deduplication
If you are going to use the pixel and the Events API at the same time (which is recommended), you need to deduplicate the events so that TikTok does not count them twice.
The way to do this is simple: both the pixel and the Events API must send the same event_id for the same event. TikTok automatically detects that both events correspond to the same time and merges them into one.
In GTM server-side, this is handled by passing the event_id from the web container to the server container.
Step 7: Test the Implementation
Before publishing in production, you must verify that everything works:
- In TikTok Ads Manager, go to your pixel and activate the Test Events mode.
- Generates a Test Event Code and add it to your tag configuration (in GTM) or in your API calls.
- Perform a test conversion on your website.
- Verify in TikTok Events Manager that the event appears correctly with all parameters.
- Check the EMQ Score (Event Match Quality) of each event. The higher the better.
Once verified, delete the Test Event Code and publish.
Which Events to Send to the TikTok Events API
You don't need to send as many events as possible. Focus on the ones that TikTok uses to optimize your campaigns. The most important ones are:
CompletePayment: A completed purchase. By far the most valuable.AddToCart: A product added to your cart.ViewContent: A product page visited.InitiateCheckout: Start of the payment process.Lead/SubmitForm: Sending of a recruitment form.
For eCommerce, the minimum you should have in server-side is CompletePayment. If you also add AddToCart e InitiateCheckout, The algorithm has more data points to learn.
The EMQ Score: The Metric You Must Watch
The Event Match Quality Score (EMQ) is a score from 0 to 10 that TikTok gives you to tell you how well it is «recognizing» users who send you events.
A high EMQ means that TikTok can identify which users on the platform your conversions correspond to, which improves attribution and optimization.
To increase your EMQ Score, the most important thing is to send as much user data as possible (always hashed): email, phone number, user IP, user agent, and above all the user's ttclid and the cookie _ttp.
With a well-implemented server side tracking, the EMQ Score increases significantly compared to using only the pixel.
Common Mistakes in Implementing the TikTok Events API
In practice, these are the failures I see most often:
Do not capture the ttclid. Without this parameter, TikTok cannot correctly attribute conversions to your ads. This is the most costly error.
Do not implement deduplication. If you have the pixel and API active but no deduplication, TikTok counts conversions twice. Your metrics are inflated and you make wrong decisions.
Send user data without hashing. The API supports plain text data and hashes it for you, but it is best to hash it on your server before sending it. This is a good privacy and security practice.
Do not check the Test Events before publishing. Launching without testing can mean days or weeks lost with incorrect data.
Mismapping of event names. TikTok has standard event names. If you send «purchase» instead of «CompletePayment», the event may not be processed correctly.

When does it make sense to delegate to a specialist?
TikTok server side tracking is not particularly difficult to understand conceptually. But implementing it well requires:
- A configured and running GTM server-side container (with its cloud infrastructure).
- Knowledge of how the data layer works and how events are mapped.
- Ability to debug problems when events do not arrive correctly.
- Know how to configure deduplication between pixel and API.
- Interpret the EMQ Score and optimize it with the correct data.
If you invest consistently in TikTok Ads and the discrepancies between actual sales and recorded conversions are relevant to your business, every week without a well-implemented server side tracking is budget that is not well optimized.
At Analytic Pixel Pro we specialize in exactly this. We implemented the TikTok Events API (and the conversion APIs of other platforms such as Meta, Google Ads or LinkedIn) through GTM server-side, configured on Google Cloud Platform or on your own infrastructure. If you want to know more about how we work, you can check out the details of our Conversions and Server Side Tracking API Implementation Service.
Conclusion: TikTok Server Side Tracking is not optional.
If you invest budget in TikTok Ads and you only have the pixel installed, you are making decisions with incomplete data. The server side tracking through the TikTok Events API is not a secondary technical improvement: it is the foundation your measurement needs to be reliable.
The path is clear: install the pixel in the browser for speed, and use the Events API from the server for reliability. With both active and well configured, TikTok receives more data, better attributes conversions and optimizes your campaigns with real information.
The sooner you implement it, the sooner the algorithm starts working with the data it deserves.