TikTok Pixel: standard events, Events API deduplication and setup

TikTok Pixel: standard events, Events API deduplication and setup

Tiktok AdsOctober 10, 2026
By Antonio Fernandez

TL;DR

  • TikTok's Business Help Center lists 18 standard events, including ViewContent, AddToCart, InitiateCheckout, Purchase, SubmitForm and CompleteRegistration.
  • Pixel and Events API copies of an event are deduplicated only when both carry the same event name and the same event_id.
  • TikTok deduplicates same-channel duplicates within 48 hours of the first event and keeps the first event received for reporting.
  • For View Content, Add to Cart and Purchase, TikTok recommends sending content_ids, content_type, quantity, description, currency and value.

The TikTok Pixel is a piece of JavaScript you add to your website that reports what visitors do after they arrive, such as viewing a product, adding to cart, submitting a form or buying, back to TikTok Ads Manager. Those events let TikTok measure conversions from your ads, optimise delivery toward the actions you care about and build audiences of people who visited or acted on your site.

A working tiktok pixel setup today usually has two parts: the browser pixel and the server-side Events API, sending the same events with a shared event ID so TikTok can remove duplicates. This guide covers what the pixel does, which standard events exist, how the Events API and deduplication work, the main ways to install it, how to test it and what to think about for privacy and consent in Thailand.

What the TikTok Pixel does

When someone clicks a TikTok ad and lands on your site, the pixel's base code loads in their browser and records a page view. Additional event code, placed on specific pages or triggered by specific actions, records the steps that matter to your business. Each event goes to TikTok with details such as the event name, a timestamp, the page URL and, where you send them, parameters like order value and currency.

TikTok uses those events in three ways:

  • Measurement. Ads Manager reports conversions and conversion value against the campaigns, ad groups and ads that drove them, within the attribution settings you choose.
  • Optimisation. When you run a campaign with a website conversion goal, you pick an optimisation event, for example Purchase or Submit Form, and the delivery system looks for people more likely to complete it. That only works if the event fires reliably.
  • Audiences. You can build custom audiences from site visitors or from people who triggered a specific event, then retarget them or exclude them from prospecting campaigns.

Without the pixel, or an equivalent server-side connection, TikTok can still report clicks and video views, but it cannot see what happens on your site. Campaigns optimised for conversions then have little to learn from.

Standard events and what they are for

TikTok defines a set of standard events with fixed names. Standard events are recognised across TikTok's tools for reporting, conversion optimisation and audience building, and they work with both the pixel and the Events API. Custom events with your own names are possible, but standard events are the safer default because the system knows what they mean.

TikTok's standard events list includes Add Payment Info, Add to Cart, Add to Wishlist, Application Approval, Complete Registration, Contact, Customize Product, Download, Find Location, Initiate Checkout, Purchase, Schedule, Search, Start Trial, Submit Application, Submit Form, Subscribe and View Content. Each event is linked to the web campaign objectives it supports. The table below shows a few of the most used ones as listed in TikTok's Business Help Center.

Standard events and what they are for
Standard eventEvent codeSupported web objective
View ContentViewContentSales, Lead
Add to CartAddToCartSales
PurchasePurchaseSales
Submit FormSubmitFormLead
Complete RegistrationCompleteRegistrationLead

For commerce events, TikTok recommends sending parameters with the event. For View Content, Add to Cart and Purchase the recommended set includes content_ids, content_type, quantity, description, currency and value. The Search event takes a search_string. Sending value and currency on Purchase is what lets Ads Manager report revenue and return on ad spend, and content_ids is what lets a product catalogue match events to specific items.

Pick events that match your business model. An online shop typically needs View Content, Add to Cart, Initiate Checkout and Purchase. A lead generation site might use View Content on service pages, Submit Form or Contact on enquiries, and Complete Registration on sign-ups. Avoid firing the same event for two different actions; if both a newsletter sign-up and a quote request fire Submit Form, you cannot tell which one the campaign is driving.

The Events API and why it pairs with the pixel

The pixel runs in the visitor's browser, so anything that stops scripts from running or sending data can cost you events: ad blockers, browser privacy features, slow pages that people leave before the script loads, or consent banners the visitor declines. The Events API sends events from your server directly to TikTok instead, so it does not depend on the browser.

The two are designed to run together. The pixel captures browser context well, and the Events API is more reliable for events your server knows about for certain, such as a confirmed order or a qualified lead in your CRM. Sending both gives TikTok a fuller picture, provided you handle duplicates. To use the Events API you generate an access token in the pixel's settings in Events Manager, then send events either through a partner integration or your own server code.

How deduplication with event_id works

If the browser pixel and the Events API both report the same purchase, TikTok needs a way to know it is one purchase, not two. That is the job of the event_id parameter. According to TikTok's Business Help Center, you must send the same event_id through both the pixel and the Events API for deduplication to take place, and the events must share the same event name.

The rules work like this:

  • Matching. Two events count as duplicates when the event name and the event_id are identical.
  • Time window. Duplicates from the same channel (pixel to pixel, or Events API to Events API) are removed when they arrive within 48 hours of the first event. For a pixel event and an Events API event, the help article describes the window as after 5 minutes and within 48 hours of the first event.
  • Which copy counts. TikTok records the first event it receives for measurement and reporting.
  • When it is not needed. If you send different events through each channel, for example Add to Cart through the pixel and Purchase only through the Events API, there is nothing to deduplicate.

In practice, generate the event_id once, at the moment the action happens, and pass the same value to both channels. For a purchase, the order number is a natural choice because both the thank-you page and the server know it. A random ID created separately in the browser and on the server will never match, and every purchase will be counted twice. Double counting inflates reported conversions and return on ad spend, and it teaches the optimisation system that the campaign is doing better than it is.

Ways to install the TikTok Pixel

You create a pixel in TikTok Ads Manager under Events Manager (web events), then choose how to connect it. There are three main routes.

Partner integration

If your site runs on a platform TikTok integrates with, such as Shopify or WooCommerce, the partner connection is usually the quickest route. It installs the pixel and sends a predefined set of events without code. Check which events your platform's integration supports, because each partner page lists a different set, and some include an Events API connection while others do not.

Google Tag Manager

TikTok's help centre documents setting up the pixel through Google Tag Manager. This route suits sites that already use GTM for other tags, because you can fire TikTok events from the same triggers and data layer variables. You need sufficient permissions on the GTM container to publish changes. For server-side tracking, a server GTM container can send events to the Events API, with the same event_id passed from the web container.

Manual code

The manual route means placing the pixel base code in the head of every page and adding event code where actions happen, for example a Purchase call with value, currency and content_ids on the order confirmation page. It gives full control and suits custom-built sites, but it needs a developer for every change.

Whichever route you choose, install the pixel once. Two installations, for example a partner plugin plus a manual snippet, send every event twice with different IDs, and deduplication cannot fix that.

Testing your events before you spend

Testing is the step most often skipped, and it is cheap compared with running a conversion campaign on broken data. A sensible check covers four points:

  1. Use Test Events in Events Manager. Open the pixel, start a test session and browse your own site. Each event should appear with the right name and parameters.
  2. Use TikTok's Pixel Helper browser extension. It shows which pixel events fire on each page and whether any report a problem.
  3. Complete a real conversion path. Add to cart, check out with a test order or submit a test form, and confirm each step fires once, not twice.
  4. Check deduplication. If you run both the pixel and the Events API, confirm that the browser and server versions of the same event carry the same event_id.

After launch, keep an eye on the event overview in Events Manager. A sudden drop in an event often means a site update removed the code, and a sudden doubling often means a second installation or a broken event_id.

The pixel collects data about people's behaviour on your site, so it falls under privacy law. In Thailand, the Personal Data Protection Act (PDPA) governs how personal data is collected and used, and many sites use a consent banner that controls whether marketing tags such as the pixel load. If your banner blocks the pixel until a visitor accepts, expect lower event counts from the browser; this is one reason the Events API matters, but server-side events must also respect what the visitor agreed to.

TikTok also offers advanced matching, which sends customer identifiers such as email or phone number with events so TikTok can match more conversions to its users. These identifiers should be hashed before they are sent, and TikTok's own help pages note that enabling advanced matching means sharing customer data with TikTok. Make sure your privacy notice covers it. If you are unsure what your consent setup allows, check it with whoever is responsible for data protection in your business before turning advanced matching on.

What this means for Thai marketers

For Thai businesses, TikTok often sits alongside LINE and marketplaces such as Shopee and Lazada. When the purchase happens on a marketplace or in a chat rather than on your own website, the website pixel cannot see it. In those cases, track the step that does happen on your site, such as a click to LINE or a lead form, as a distinct standard event like Contact or Submit Form, and use the Events API to send conversions your own systems confirm later.

If you sell on your own store with Thai baht pricing, make sure the currency parameter is set to THB on Purchase events, so reported value is not misread. And if your site serves Thai and English versions, fire the same event names on both, so reporting is not split by language.

FAQ

Do I need both the TikTok Pixel and the Events API?

You do not strictly need both, but TikTok designs them to run together. The pixel captures browser activity, while the Events API sends events from your server that browser restrictions cannot block; using both with a shared event_id gives more complete data without double counting.

What happens if I forget the event_id?

Without a matching event_id, TikTok cannot reliably identify browser and server copies of the same event as duplicates. Conversions can then be counted twice, which inflates reported results and misleads optimisation.

Which event should I optimise for?

Optimise for the event closest to real business value that fires often enough for the system to learn, usually Purchase for shops and Submit Form or Complete Registration for lead generation. If that event is rare, a step earlier in the funnel such as Initiate Checkout can be a practical starting point.

Can I install the TikTok Pixel with Google Tag Manager?

Yes, TikTok's help centre documents a Google Tag Manager setup. It suits sites already using GTM, as long as the pixel is not also installed through a plugin or manual code.

Is the TikTok Pixel allowed under Thailand's PDPA?

The pixel can be used under the PDPA when the data collection has a lawful basis and is disclosed properly, which for marketing tags usually means a consent banner and a clear privacy notice. Confirm the details with whoever handles data protection for your business.

Getting TikTok tracking right

A clean tiktok pixel setup is the base for every conversion campaign: the right standard events, value and currency on purchases, the Events API alongside the browser pixel, one shared event_id and a test before launch. Relevant Audience's TikTok Ads management service covers pixel and Events API setup as part of campaign management. If the bigger issue is measurement across platforms, the GA4 setup and migration service helps line up site tracking, and for consent and PDPA questions around tags, see the data security and compliance service. Shops running TikTok alongside other channels can find wider support on the ecommerce marketing page.

Antonio Fernandez

Antonio Fernandez

Founder and CEO of Relevant Audience. With over 15 years of experience in digital marketing strategy, he leads teams across southeast Asia in delivering exceptional results for clients through performance-focused digital solutions.

Share to:
Copy link:

Read us often? Add Relevant Audience as a preferred source so our articles surface more in your Google results.