Tracked
Articles

TikTok tracking

TikTok Ads affiliate tracking: click IDs, postbacks, and limits

A practical TikTok affiliate tracking guide: preserve incoming ttclid, pass the Tracked offer-click ID to your network, and separate sale attribution from TikTok feedback.

TikTok affiliate conversion tracking needs two separate connections: ad context into your tracker, and the affiliate sale back to the right offer click. Tracked can capture an incoming ttclid and receive the network’s conversion callback. That does not establish native TikTok Events API delivery, account reporting, campaign discovery, or spend sync.

Keep the three identifiers separate

A broken ID handoff can leave you with revenue in the network and no matched sale in your tracker.

IdentifierWhere it belongsWhat it must not replace
TikTok ttclidIncoming ad-request context, when presentTracked’s offer-click ID in the inbound callback
Tracked offer-click IDOffer URL, network sub-ID storage, and callback click_idTikTok’s click identifier
Network order or conversion IDThe network’s transaction record; optionally a separately configured callback fieldThe saved Tracked click ID

UTMs organize traffic; they do not replace click-level IDs. See click IDs vs. UTM parameters.

Build the affiliate sale path

1. Check the actual landing request

Use your intended campaign URL as the ad destination. During your own approved setup check, inspect whether the incoming URL contains ttclid and whether Tracked captures it.

Do not assume every TikTok click supplies it. Tracked cannot recover an identifier absent from the request. Preview URLs may not reproduce the ad-click path.

Preserve any existing provider query context through the intended route. Do not rename ttclid to click_id to make the callback look complete. Those values identify different stages.

2. Choose the page before the offer

A hosted prelander is optional. If you use one, keep the offer action connected to a Tracked click slot, such as /click/1. That handoff creates the offer click used for sale attribution.

For route setup, use the affiliate campaign tracking guide.

3. Put the offer-click ID in the network’s sub-ID field

Pass {{click.id}} into the network’s stored sub-ID field. A hypothetical network using subid might accept:

https://offers.example/offer?subid={{click.id}}

subid is not a universal parameter. Confirm the field name, accepted format, and callback macro with your network. {{click.id}} resolves at the outgoing offer click.

4. Have the network return the saved value

An illustrative primary-sale callback is:

https://tracking.example/postback?click_id={saved_subid}&payout={payout}

Use your configured tracking domain. {saved_subid} represents the network’s macro for the saved Tracked ID; {payout} represents its payout macro. Both are explanatory placeholders, not confirmed network syntax.

Keep the primary sale callback untyped. Explicit type or conversion_type values represent secondary signals in the current receiver and carry zero payout. Adding type=purchase does not turn this callback into a TikTok purchase event.

The free postback URL builder can help assemble the URL. It does not send the network callback for you.

Follow one hypothetical sale

These shortened example IDs are not customer data or production formats.

StageIllustrative valueResponsibility
TikTok landing requestttclid=TT-EXAMPLE-ARetain incoming provider context if present
Tracked offer clickTR-CLICK-BCreate the tracked offer-click record
Network receives offer URLsubid=TR-CLICK-BSave that value with the visitor’s offer activity
Network records a saleOrder NET-ORDER-C, payout $24Associate the transaction with the saved sub-ID
Network calls Trackedclick_id=TR-CLICK-B&payout=24Return the tracked ID, not the TikTok or order ID
TikTok feedbackNot established by this callbackRequires a separate supported event-delivery mechanism

Return TR-CLICK-B. Keep NET-ORDER-C separate; never put it in click_id.

Where Tracked is today

TikTok coverage is partial as of October 4, 2026:

  • The provider definition captures a present ttclid.
  • Affiliate callbacks can record conversions against Tracked offer clicks, subject to the configured analytics collection policy.
  • Native TikTok account connection, reporting, campaign discovery, and spend sync are not established in the current integration catalog.
  • No built-in TikTok Events API adapter is established. A generic custom postback is not a certified TikTok Events API integration.

If you require purchase feedback to TikTok, resolve that requirement before choosing the setup. Click-ID capture does not complete that loop.

Pixel measurement is a different connection

TikTok’s official Pixel guide, updated June 2026 and reviewed October 4, describes website code that shares web events for measurement and optimization.

A Pixel on a prelander observes configured events on that page. Its presence does not establish affiliate checkout measurement on a site you do not control. A page visit or offer-button click is not evidence of a completed sale.

TikTok Events API is a separate server-side mechanism. Consult current documentation and account guidance. Detailed API, ttclid, and domain-verification sources were not verified for this draft; payloads, attribution windows, and domain prerequisites are outside its scope.

Review consent, privacy disclosures, and shared event data. TikTok cautions against sharing sensitive information. Keep personal and sensitive values out of tracking URLs. Review TikTok ad policies and network offer restrictions: working tracking does not guarantee approval or legal compliance.

Troubleshoot the missing boundary

SymptomFirst place to lookAvoid this shortcut
No ttclid capturedActual incoming URL and redirects that may remove query contextInventing a TikTok ID or assuming every visit supplies one
Sale exists only in the networkOutgoing sub-ID field and the saved valueSending the network order ID as click_id
Callback says click not foundWhether it returned the exact Tracked offer-click IDSubstituting ttclid
Sale has zero payoutPayout macro and whether the callback includes an explicit typeTyping the primary sale to imitate a TikTok event
Callback returns OK but no stored conversionAnalytics collection policy and the matched journeyTreating an HTTP response alone as proof of storage
Tracked sale is absent from TikTokSeparate TikTok event-delivery setupAssuming the inbound network postback reached TikTok

Minimum end-to-end check before traffic

When you perform your own approved setup check:

  1. Follow the intended ad-to-page route and inspect the actual incoming query context.
  2. Follow the offer action and confirm the outgoing URL contains a resolved Tracked click ID.
  3. Confirm the network stores that exact value in its documented sub-ID field.
  4. Use the network’s supported verification process to return the saved ID and expected payout.
  5. Inspect the matched conversion and journey in Tracked, not only the callback response.
  6. Check TikTok feedback separately if it is required. Do not count Tracked storage as that check.

Frequently asked questions

Can Tracked track affiliate sales from TikTok Ads?

Yes, through the Tracked offer-click ID and network callback. Native TikTok feedback and spend sync are not established by this workflow.

Should I send ttclid in the callback’s click_id field?

No. Send the Tracked offer-click ID saved by the network. Keep TikTok’s identifier as provider context; it is not interchangeable with the ID the receiver looks up.

Does a TikTok Pixel replace the network postback?

No. Website event measurement and a network-confirmed affiliate sale are different observations. A Pixel on your page does not establish access to the advertiser’s checkout events.

Can a custom postback guarantee TikTok Events API delivery?

No. Generic requests do not prove provider compatibility or event acceptance. Verify a separate supported workflow using current TikTok account guidance.

Start with a traceable offer click

Start free with Tracked early access to set up the page, offer handoff, and affiliate callback. TikTok coverage remains partial; confirm your ad-platform feedback requirement separately.

Compare the connection types in native integrations vs. postbacks vs. conversion APIs.