Vazante

Metrics and analysis

TikTok pixel: installation, events and deduplication

How to install the TikTok pixel, which events are worth configuring, and why deduplication with the Events API decides whether your numbers are inflated.

Also available in: Português · Español

The TikTok pixel does the same conceptual job as Meta's: a script on your site recording what someone does after clicking your ad. The differences are in the details, and the details are exactly what make the installation fail silently.

What changes versus the Meta pixel

Three practical differences, all at the start:

Domain verification first. TikTok asks you to prove the site is yours, through a DNS record or a server file. Without it, some events are not released — and the error message does not say so clearly.

Visual event setup. There is an editor that lets you mark events by clicking page elements, with no code. It works for button clicks and is fragile: any layout change breaks the marking.

Advanced matching. TikTok's name for sending contact data alongside the event to improve attribution. It is optional and involves personal data — worth deciding deliberately, not by default.

The installation, in the order that works

  1. Create the pixel in TikTok Ads Manager, under assets.
  2. Verify the domain. Do this before installing, not after. It is the step that causes the most rework when left for last.
  3. Install the base code in the header of every page, or use your e-commerce platform's integration where one exists.
  4. Configure three events, not fifteen: page view, checkout start, purchase.
  5. Check the debugger inside TikTok before launching a campaign.

Step 4 is where most people overreach. Fifteen events configured on day one means fifteen badly measured events, and none you trust enough to optimize on.

The events actually worth having

EventWhat it is forWhen to configure
Page viewThe base of everything, remarketing audiencesAlways, day one
Product viewPer-item remarketing, catalogStores with a catalog
Add to cartCheckout diagnosisStores, day one
Checkout startWhere the funnel usually breaksAlways
PurchaseWhat you optimize forAlways, with value
RegistrationLead funnelsIf leads are the goal

The purchase event needs value and currency. Without value, every sale weighs the same and there is no ROAS in the report — the algorithm chases event volume instead of revenue.

Deduplication, the most expensive mistake

When you turn on the pixel and the Events API at once, both send the same event. With no shared identifier, TikTok counts it twice.

The symptom is unmistakable: the dashboard shows exactly double your real sales, ROAS looks excellent, and the bank account disagrees. Budget grows on top of an inflated number.

The fix is sending the same event ID from both sources, so TikTok recognizes one purchase arriving through two doors. That is not an optional refinement: it is what separates a usable number from a false one. How it works is in TikTok Events API.

Why TikTok attributes more than Meta

A structural difference worth understanding before comparing platforms.

TikTok tends to credit more view-through conversions than Google Search and, depending on setup, more than Meta. That makes sense for a video medium where most of the impact does not produce an immediate click.

Practical consequence: adding TikTok's conversions to Meta's and comparing against the store's total sales almost always exceeds 100%. Both platforms are crediting the same sale.

That is not an installation error. It is why cost per sale by source, using data from the sales team, is the only ruler where both channels fit together. The mechanism is in attribution window and the default model in last-click attribution.

How to confirm it works

  1. Open TikTok's event debugger, in the pixel area.
  2. Browse as a customer: home, product, cart, checkout.
  3. Confirm the sequence of events appearing in real time.
  4. Open the purchase event and check value and currency.
  5. Compare the week's total against store orders.

Step 5 separates a good install from a broken one. A 10% to 30% gap is expected; a 90% gap means the purchase event is not arriving.

When nothing fires

In order, most common to least:

  1. Domain not verified. The number one cause, and the error message does not help.
  2. Code in the wrong place. Body instead of header, or only on the home page.
  3. Visual marking broken by a layout change, if you used the event editor.
  4. Cookie consent declined, which correctly prevents firing.
  5. Pixel belonging to another ad account, collecting where you are not looking.

Item 3 is the quietest: it works for weeks and stops the day someone touches the button. That is the reason to prefer code over visual marking for events that matter.

The mid-funnel events that pay for the work

A store measuring only purchases cannot diagnose anything. With cart and checkout start measured, three readings appear:

  • Carts in volume without purchases. The bottleneck is checkout: shipping, timing, payment.
  • Checkout starts without purchases. Usually shipping cost revealed at the end.
  • Product views without carts. Price, photo or description.

Without those columns, every problem looks like a creative problem — and on TikTok the creative genuinely is the main lever, which makes the wrong conclusion sound reasonable. What works is in TikTok Ads creatives.

Catalog and dynamic ads

Once the pixel measures purchases with value, the next step is the catalog: the integration that sends products and enables dynamic ads.

The catalog depends on the pixel and does not replace it. Events need to carry the product identifier so TikTok knows which item to show whom. If it does not go along, dynamic remarketing shows random products and performance looks bad for no apparent reason.

Advanced matching: decide it, do not default it

The setting that sends hashed contact data along with the event deserves its own decision, because it is the one place in this setup where privacy and performance actually trade off.

What it buys. Better attribution. TikTok can connect an event to a person it already knows, so conversions that would otherwise go unattributed get credited.

What it costs. You are sending customer data to an ad platform. It needs a legal basis, the data subject needs to have been informed, and the values need to be hashed before they leave your server.

The practical position most operations land on: turn it on for purchase events, where the value of accurate attribution is highest, and leave it off for top-of-funnel events, where the gain is marginal.

What it does not do is fix a broken install. If the purchase event is not arriving at all, advanced matching improves the attribution of nothing. Fix the sequence first, refine the matching after. The broader framing for this kind of decision is in AI data security in marketing, which covers the same trade-off from another angle.

Before you scale

With the pixel measuring purchase, value and currency, and deduplication solved, accumulate enough volume to read a result before raising budget. The criteria are in when to scale a campaign, and the document that puts all three channels on one page is the paid media reporting page.

Frequently asked questions

Is the TikTok pixel the same as Meta's?

Conceptually yes: a script on your site that records what people do. In practice there is one extra step, because TikTok requires domain verification before releasing some events.

Do I need the Events API too?

Not on day one. The pixel alone handles the start. The Events API earns its place when the gap between what the platform counts and what the store sold exceeds roughly 20%.

Why do my events appear duplicated?

Because the pixel and the Events API are sending the same event with no shared identifier. Deduplication requires both to send the same event ID, otherwise TikTok counts twice.

How many events should I configure?

Start with three: page view, checkout start and purchase. Configuring fifteen on day one is the recipe for having fifteen badly measured events.

Read next