Ad platform

TikTok Events API and offline conversions, from click to closed deal

TikTok Events API attribution only works if something keeps score after the session ends. Attribi records the TikTok click ID when a visitor lands, carries it into your CRM record, and then sends each funnel stage back to TikTok server side as the stage happens: SubmitForm on the form fill, Contact when the lead is qualified, and CompletePayment with the deal value when it closes. Your TikTok reporting stops treating every lead as equal.

No credit card required · 5-minute setup

What Attribi does with TikTok Ads

Events API upload

Sends

Three funnel stages, three standard TikTok events, sent from Attribi’s servers rather than the browser. CompletePayment carries the deal value and currency your CRM recorded.

Fixed stage mapping

Sends

The stage to event mapping is set by Attribi, not configured per account, so there is no dropdown to misconfigure and no drift between two ad accounts belonging to the same business.

Hashed email and phone

Sends

Email and phone are SHA-256 hashed before they leave Attribi, giving TikTok a second way to match a person when the click ID never reached your CRM.

Daily spend import

Imports

Cost, clicks, and impressions land daily from your TikTok ad account, so the deals your CRM closed are measured against the spend that produced them.

Click ID capture

Receives

ttclid is captured on the landing page and stored against the visitor, so it is still available weeks later when the deal is finally marked won.

Setting up TikTok Ads

  1. 1

    Connect TikTok for Business

    Authorize TikTok from the Connections page and choose the advertiser account. Attribi handles the Events API credentials for you; there is no access token to generate or paste.

  2. 2

    Activate the three events

    TikTok registers a standard event the first time it receives one, so Attribi activates each stage by sending a single synthetic event with a hashed dummy email. After that the events exist on TikTok’s side and are usable in your campaign setup.

  3. 3

    Work your pipeline normally

    Every later upload is triggered by your CRM. Qualifying a lead sends Contact, closing the deal sends CompletePayment with the amount, and both happen without anyone exporting a file.

How to send offline conversions to TikTok with the Events API

Key points

  • An offline conversion for TikTok is an outcome recorded after the visit, such as a qualified lead or a signed deal, sent to TikTok through the Events API.
  • Attribi sends three standard events: SubmitForm, Contact, and CompletePayment with the deal value and currency.
  • Every event goes to the TikTok pixel code you enter when connecting, from Attribi servers rather than the browser.
  • A person is matched by ttclid when the click ID was captured, and by hashed email and phone otherwise.

What is an offline conversion on TikTok?

It is a result that happens after the TikTok session ends: a lead your sales team qualifies, or a deal that closes weeks later. The browser pixel never sees those moments, so they have to be sent server side through the TikTok Events API, with an identifier that ties them back to the person who clicked the ad.

For lead generation this is most of the funnel. The form fill is the only step that happens on your site; qualification and the sale happen in your CRM, which is where Attribi reads them from.

How do I send CRM conversions to the TikTok Events API?

Connect TikTok in Attribi with your advertiser account and pixel code, activate the three events, and connect your CRM. From then on Attribi reads qualified and won outcomes from the CRM once a day and sends each one to TikTok as a standard event, with revenue on the closed deal.

There is no code to write and no file to export. The steps are the whole job.

  1. On the Connections page, authorize TikTok for Business, choose the advertiser account, and enter the pixel code events should be sent to.
  2. Activate the events. Attribi sends one synthetic event per stage with a hashed dummy email so TikTok registers each standard event.
  3. Connect your CRM and, where it asks, choose which deal stages mean qualified.
  4. Work the pipeline as usual. Qualified leads send Contact and won deals send CompletePayment with the amount.
Conversion setup guide

Why does Attribi need a TikTok pixel code?

Every Events API event Attribi sends names the pixel it belongs to, so the pixel code is a required field in the TikTok modal and uploads stop with a configuration error until it is set. The CRM-driven events themselves are sent from Attribi servers, so they do not depend on the pixel firing in a visitor's browser.

Use the pixel your TikTok campaigns already optimize against, so the server-side events land next to the browser events you are used to reading.

How does TikTok match a closed deal to the ad click?

Each event carries the ttclid Attribi captured when the visitor landed, plus the email and phone from your CRM record, SHA-256 hashed before they leave Attribi. An event needs at least one of the three; a lead with no click ID, no email, and no phone is not sent, because TikTok would have nothing to match it on.

Each event also carries a fixed ID built from the stage and the lead, so a retried upload repeats the same event instead of creating a second one with a new ID.

Without Attribi's script on the site there is no ttclid, and matching rests on the hashed email and phone alone. The pixel-less attribution page explains that trade.

Pixel-less attribution

Funnel stages

Stages Attribi supports for TikTok Ads.

  • Lead
  • Qualified
  • Closed Won

Works with

Frequently asked questions

Which TikTok events does Attribi send?

SubmitForm for a form fill, Contact when the lead is marked qualified, and CompletePayment when the deal is closed won, with its value and currency attached. These are TikTok standard events, so they are usable in TikTok campaign setup and reporting without any custom event work on your side.

Do I have to configure the event mapping?

No. Unlike Google Ads and Microsoft Ads, where you point each stage at a conversion action you own, the TikTok mapping is fixed inside Attribi. You connect the account, the three standard events are activated, and nothing else needs choosing. The trade-off is that the event names are not customizable.

What happens if a lead has no ttclid?

Attribi still uploads the conversion using the hashed email and phone number stored on the lead. TikTok matches on those identifiers when no click ID is present. Match rates are lower without a click ID, which is true of every offline conversion upload, not just TikTok.

Does this work if I have no tracking script on my site?

Partly. Without Attribi’s script there is no ttclid captured from the landing page, so matching relies on hashed email and phone from your CRM, and qualified plus closed-won outcomes are the ones that upload. Adding the script is what recovers the click ID and the full multi-touch path.

Does Attribi import TikTok ad spend?

Yes, daily. Cost, clicks, and impressions are pulled from your TikTok advertiser account and stored per campaign and day, so return on ad spend uses real spend figures for the same days the revenue was booked.

Can Attribi send TikTok Ads data to Power BI?

No. Attribi has no Power BI or BigQuery connector and no public API, so if a live TikTok Ads feed into a BI tool is the goal, a reporting connector built for that is the right tool. What Attribi offers is a CSV download from the Reports and Leads pages, which a BI tool can import by hand, and the reverse direction: CRM outcomes sent back into TikTok.

Updated

Connect TikTok Ads to Attribi.

Sign up and connect it from the Connections page.

Start Free

No credit card · Free up to 500 visitors a month