🙌 Our latest webinar is live!
Nov 7
Attribution

TikTok Ads Attribution: Events API Setup Guide

Andre Sottil
Founder & CEO, Admira

TikTok ads attribution credits a conversion to a TikTok ad when the person clicked or viewed that ad within the attribution window set on the ad group (click-through: 1, 7, 14 or 28 days; view-through: off, 1 or 7 days), using signals from the TikTok Pixel, the Events API and any CRM events you send. To make those numbers trustworthy for lead generation, you need three things: server-side events through the Events API, the ttclid click ID and UTMs stored with every lead, and CRM stages posted back to TikTok so it can optimize for leads that buy.

This guide explains how TikTok counts conversions, how to set up the Events API and CRM postback step by step, why TikTok's numbers rarely match your CRM, and how to measure TikTok's real contribution to revenue.

How does TikTok attribute conversions?

TikTok matches a conversion event (a lead, a purchase, a CRM stage) to a person who saw or clicked one of your ads. If the event happens inside the ad group's attribution window, TikTok counts it. Two kinds of credit exist:

  • Click-through attribution (CTA): the person clicked the ad, then converted within the click window.
  • View-through attribution (VTA): the person saw the ad without clicking, then converted within the view window.

TikTok only sees its own ads. If the same person also clicked a Google ad and a Meta ad, each platform may claim the conversion. That is why platform totals add up to more than your real sales. Our guide to deduplicating conversions across ad platforms covers how to fix the double counting.

What attribution windows does TikTok offer?

According to TikTok's help center on ad group attribution settings (checked November 2026):

SettingOptionsWhat to know
Click-through window1, 7, 14 or 28 days7 days is the common default; longer windows credit TikTok for more delayed conversions
View-through windowOff, 1 day or 7 days1 day is the common default; view-through credit is the most likely to be inflated
Event count"Every" or "Once"Every counts repeat events (useful for purchases); Once counts one per person
EditingLocked after publishingAttribution settings cannot be changed once the ad group is published

Because the settings are locked, decide them before launch. For a lead-gen business with a 2 to 4 week sales cycle, a 7-day click window for the lead event is reasonable, and the sale should be attributed in your CRM rather than inside TikTok.

What is the difference between the TikTok Pixel, Events API and CRM events?

SignalWhere it firesBest forMain weakness
TikTok PixelBrowser, on your websitePage views, form submits, add to cartBlocked by ad blockers, browser limits and consent choices
Events API (web)Your serverThe same web events, sent more reliablyNeeds setup and deduplication with the Pixel
CRM events (signal postback)Your CRM, through the Events API or an uploadQualified leads, appointments, sales that happen offlineNeeds a lead ID or contact data to match

Most lead-gen advertisers need all three. The Pixel and web Events API capture the form. CRM events tell TikTok which of those forms turned into revenue.

How do you set up the TikTok Events API step by step?

  1. Install the TikTok Pixel and confirm your key event (for example, form submit) fires in Events Manager.
  2. Turn on the Events API through a partner integration, Google Tag Manager server-side, or a direct server connection.
  3. Send the same event_id from the Pixel and the Events API for each event. TikTok's deduplication guide says matching events are deduplicated within 48 hours of the first one.
  4. Pass matching data: the ttclid click ID from the landing page URL, hashed email and phone, and the _ttp cookie where consent allows.
  5. Store ttclid and UTMs on the lead in your CRM. You will need them later to match sales back to campaigns. Our lead tracking page shows how this works across forms and WhatsApp.
  6. Check Events Manager diagnostics. The event detail view separates browser, server and combined counts, which tells you whether deduplication is working.

How do you send CRM lead stages back to TikTok?

TikTok calls this signal postback. According to TikTok's help center, you can send CRM events through the CRM Events API, CSV upload, Google Sheets, Zapier, Make and other partners. The key rules:

  • Match with the TikTok lead ID when you have it (Instant Form leads), or with email or phone for leads from your own forms.
  • Send event time as a Unix timestamp in seconds, in UTC.
  • Map your CRM events to TikTok's four funnel stages in Events Manager, then choose which stage to optimize in a deep funnel optimization campaign.
  • Keep volume steady. TikTok recommends more than 50 signals within 14 days for more stable optimization.

This is TikTok's equivalent of Meta's conversion leads goal, explained in how to optimize Meta ads for qualified leads.

Why don't TikTok's numbers match your CRM?

  • View-through credit. A 1-day or 7-day view window counts people who scrolled past an ad and converted later for other reasons. See whether view-through conversions are real value.
  • Different windows. TikTok may use 7-day click while your CRM uses first touch with no time limit.
  • Cross-platform claims. TikTok, Meta and Google can each claim the same lead.
  • Lost click IDs. If ttclid and UTMs never reach the CRM, TikTok leads show up as "direct" or "unknown."
  • Leads are not sales. TikTok counts the form; your CRM counts the deal.

What does a TikTok attribution reconciliation look like?

Example (hypothetical numbers): a B2B training company spends $6,000 on TikTok in one month.

Source of the numberLeadsSalesCost per leadCost per sale
TikTok Ads Manager (7-day click + 1-day view)60n/a$100n/a
TikTok, click-through only38n/a$158n/a
CRM, leads with TikTok ttclid or UTM346$176$1,000
CRM after fixing lost click IDs on WhatsApp leads418$146$750

The first row is what TikTok reports. The second shows that 22 of the 60 leads came from view-through. The CRM rows show what matters for budget: TikTok drove 6 to 8 sales, and its cost per sale depends heavily on whether WhatsApp leads keep their source. If Meta's cost per sale is $600 on the same CRM basis, TikTok is more expensive but not by as much as the raw view-through numbers suggest. Use the CRM basis for CAC by channel.

How do you measure TikTok's real contribution?

  • CRM-based attribution with click IDs and UTMs: the baseline for cost per sale.
  • Self-reported attribution: ask "How did you hear about us?" on the form. TikTok is often seen but not clicked, so buyers mention it more than click data does.
  • Holdout or geo tests: pause TikTok in some regions and compare sales. Our guide to incrementality testing with holdouts and geo tests explains the design.

Where does Admira fit?

Admira connects TikTok, Meta, Google Ads and Click-to-WhatsApp leads to closed deals in HubSpot, Salesforce, Kommo and other CRMs, and its Conversion API sends CRM events back to ad platforms server-side. That gives you TikTok's cost per lead and cost per sale on the same basis as your other channels. It is a young brand with few public reviews, and it does not replace incrementality testing.

Who is this for, and when doesn't it apply?

It is for lead-gen and sales-led teams spending on TikTok alongside Meta or Google who need to know which leads become customers.

It applies less to pure TikTok Shop sellers, where purchases happen inside TikTok, and to brand campaigns optimized for reach, where click-based attribution undercounts by design.

FAQ

What is TikTok's default attribution window?

The commonly used default is a 7-day click and 1-day view window. Check the attribution settings on each ad group, because they cannot be changed after publishing.

Do I need the Events API if I already have the Pixel?

For lead generation, yes in most cases. The Events API recovers events the browser misses and is the route for CRM events that happen offline.

What is ttclid?

It is TikTok's click ID, added to your landing page URL when someone clicks an ad. Store it with the lead so later CRM events can be matched to the click.

How do I avoid double counting between the Pixel and the Events API?

Send the same event_id for the same event from both. TikTok deduplicates matching events within 48 hours.

How many CRM events does TikTok need to optimize?

TikTok recommends more than 50 signals within 14 days for stable lead quality optimization.

Should I report TikTok view-through conversions to leadership?

Report them separately from click-through and CRM-verified results. Treat view-through as a hint, not proof.