Skip to main content
TikTok · Demo request → opportunityUse-case guide

How to track demo request to opportunity for TikTok Ads

A demo request is a form fill, and a large share of them are students, competitors and people who will never buy. What separates a good channel from a cheap one is the rate at which requests become qualified opportunities — and that's invisible to bidding unless the qualification outcome is sent back. On TikTok Ads the specifics that matter are the click identifier (ttclid), the import mechanism (the Events API), and deduplication uses a shared event ID between the pixel and the Events API, the same principle as Meta. The chain only works end to end if the identifier is captured on landing and stored on the lead and opportunity records in your CRM — no cookie survives the gap between ad click and qualification sent back.

Free30 minutesNo obligation

Specific to TikTok × Demo request → opportunity

TikTok demo-to-opportunity: a narrow fit, judged on pipeline

On TikTok, fire SubmitForm for the demo request from the pixel and the Events API with a shared event ID, store the ttclid on the CRM lead, and send the qualified opportunity as a separate server event for reporting. Few B2B accounts produce enough qualified volume on TikTok to optimize on it.

TikTok is a weak demo channel for most B2B software. The exceptions are tools sold to people who are on TikTok for work: creators, online sellers, small retail and restaurant owners, agencies. For those, a demo request can come from a TikTok video, but the form volume says very little about pipeline, and the gap between requests and qualified opportunities tends to be wider than on search.

Use SubmitForm for the demo request and send the qualified stage as its own event from the CRM, with the opportunity's expected value. Keep SubmitForm as the optimization event unless qualified opportunities from TikTok reach a volume TikTok can learn from, which most B2B advertisers won't. Check the attribution window in your account against how long your sales team takes to qualify.

If you run TikTok's lead generation instant forms, the request never touches your website, so there is no ttclid to capture on landing. The lead arrives through TikTok's CRM sync or a download, and the qualified stage can only match back on what the form collected. Make sure that sync writes the email exactly as submitted to the CRM, and that the form asks for company name, or sales will spend the first call finding out who they are talking to.

TikTok · Demo request → opportunity · what breaks

Where this funnel usually breaks — TikTok · Demo request → opportunity

  1. 01

    Qualification never defined

    So quality disputes between marketing and sales are two opinions with no referee, and nothing can be sent back.

  2. 02

    Requested and attended treated as one

    A demo nobody showed up to isn't a signal worth paying for.

  3. 03

    The identifier lost at lead conversion

    Same failure as every CRM funnel: the field is on Lead, the Opportunity has nothing, and nothing errors.

TikTok · Demo request → opportunity · the fix

What working looks like — TikTok · Demo request → opportunity

  • Qualification sent back attributed to the click

    Weeks later if necessary, because the identifier lives on the lead and opportunity records in your CRM rather than in a cookie.

  • TikTok bidding fed the real outcome

    Via the Events API, so it optimizes toward qualified pipeline rather than toward demo form fills.

  • A reconciliation that closes

    Your crm's qualified opportunity records matched per record against what TikTok Ads reports, over a fully closed window.

TikTok · Demo request → opportunity · architecture

The exact event sequence — TikTok · Demo request → opportunity

The interesting drop-off is between stages two and four, and its size differs enough by channel to reorder your entire budget.

  1. 1

    Ad click

    Identifier captured on landing and written to the lead on submission.

  2. 2

    Demo requested

    The form event. High volume, low meaning, useful only as learning volume.

  3. 3

    Demo attended

    A real filter. A meaningful share of requested demos never happen.

  4. 4

    Qualified as an opportunity

    Your sales team's own definition, agreed in writing before anything is measured against it.

  5. 5

    Qualification sent back

    Uploaded as the conversion, so bidding chases pipeline rather than form fills.

TikTok · Demo request → opportunity · diagnose

What's specific to TikTok Ads

  1. 01

    Click identifier: ttclid

    TikTok's click identifier, appended to the landing URL. Capture it on landing and persist it exactly as you would gclid or fbclid — it's the strongest matching signal available and the most commonly missing one, because TikTok is often added to a stack that was built around Google and Meta.

  2. 02

    Import mechanism: the Events API

    Structurally similar to the other server-side conversion APIs: event name, timestamp, event ID, hashed user identifiers, event properties. TikTok's exact field names change more often than the other major platforms', so build against their current documentation rather than a blog post — including this one.

  3. 03

    Deduplication

    Send the same event ID from the browser pixel and the server event. The mechanics mirror Meta's closely enough that a team who has done one can do the other, but verify TikTok's current requirements rather than assuming parity — the deduplication window in particular isn't a figure we'll guess at.

  4. 04

    Window and timing

    Verify the current attribution and import windows in TikTok's documentation. They differ from Google's and Meta's, and quoting a number here that goes stale would be worse than sending you to the source.

  5. 05

    The TikTok gotcha

    TikTok is usually the third platform added to a stack, and it typically inherits whatever assumptions were made for Google and Meta. The most common result is that ttclid is never captured at all, because the capture code was written naming gclid and fbclid and nobody revisited it.

TikTok · Demo request → opportunity · prove

How to prove the chain works — TikTok · Demo request → opportunity

Source of truth

your CRM's qualified opportunity records

  • The same identifier confirmed on the lead and opportunity records in your CRM after a full real journey through every step.
  • Qualification sent back confirmed arriving at TikTok Ads, verified by TikTok's own event diagnostics, plus a reconciliation against your records.
  • Your crm's qualified opportunity records reconciled against TikTok Ads per record over a fully closed window.

TikTok · Demo request → opportunity · free audit

What we check in the free audit

  • Click identifier: ttclid
  • Import mechanism: the Events API
  • Deduplication
  • Window and timing
  • The TikTok gotcha

Checked against

your CRM's qualified opportunity records

Get my free conversion tracking audit

Free30 minutesNo obligation

TikTok · Demo request → opportunity · when not to buy

When this doesn't apply to you — TikTok · Demo request → opportunity

  • If your demos are booked and run entirely by a sales team from outbound lists, this funnel isn't measuring your ad spend and there's nothing here worth building.
  • If TikTok is a small share of your spend, the effort is better spent making Google and Meta correct first — the same infrastructure then extends to TikTok as one additional tag rather than a separate project.
  • If your cycle from click to qualification sent back regularly exceeds the import window, the final event can't drive bidding whatever you build. Optimize toward demo attended instead and use the later data for budget decisions rather than for bidding.
  • If almost none of your CRM records carry a click identifier today, that's the whole project.

TikTok · Demo request → opportunity · what we deliver

The implementation, on TikTok Ads

  • Capture ttclid on landing

    ttclid is appended on ad clicks. Add it explicitly to your capture list — the single most common TikTok tracking fault is capture code that predates TikTok being in the account.

  • Persist it to the lead and opportunity records in your CRM

    Capture on landing, carry through every step of the form, write to the Lead, and map through lead conversion onto the Opportunity.

  • Send qualification sent back from the record

    The upload fires when the CRM stage changes to qualified, referencing the identifier stored on the record. Dispatched to TikTok Ads through the Events API.

  • Deduplicate and reverse

    Deduplication uses a shared event id between the pixel and the events api, the same principle as meta. An opportunity disqualified after the fact should be adjusted, particularly where you're uploading at the qualification stage.

FAQ

TikTok · Demo request → opportunity questions, answered

For tools sold to creators, online sellers or small business owners, sometimes; for enterprise software, rarely. Measure it on qualified opportunities per dollar, because form volume from TikTok says little.

Free · 30 min

Get demo request to opportunity tracked properly on TikTok Ads

Free30 minutesNo obligation