Skip to main content
TikTok × Call RecordsRun this yourself

How to reconcile TikTok Ads against your call tracking records

This is the check we run first on every account, written out so you can run it without us. It takes about thirty minutes and needs two numbers: what TikTok says it produced, and what your call tracking records actually shows. The gap between them is the only honest measure of whether your tracking works — and if it comes back small, you do not need us.

Free30 minutesNo obligation

Specific to TikTok × Call Records

TikTok vs qualified calls: the in-app browser is the weak link

Reconcile TikTok against qualified calls on the ttclid your call tracking tool stores when a visitor from TikTok's in-app browser dials a dynamic number, plus the hashed caller phone sent through the Events API. Compare a closed month after checking TikTok's current windows. A TikTok shortfall usually means numbers never swapped inside the in-app browser.

Almost every TikTok click opens in the app's own browser on a phone, so a call is usually one tap away from the landing page. That is good for call volume and awkward for measurement: the ttclid exists only in that in-app session, and your dynamic number script has to run there and record it against the number shown. Send each qualified call through the Events API with the ttclid and the caller's phone number hashed, so TikTok has two keys rather than one.

Check TikTok's current click and view windows before comparing, and turn view-through off for the reconciliation. A viewer who watched a video and searched your business name later does not belong to TikTok in your records, but can in its reporting. Also check whether TikTok dates the conversion to the ad interaction or to the event, so a call late in the month lands where you expect.

Use the conversion breakdown in TikTok Ads Manager filtered to your call event, not the overall results column. Some shortfall is normal, because many TikTok viewers call days later from a saved profile or a search. A large one usually means the in-app browser served a cached page with your default number, sending those calls to an untracked pool.

TikTok × Call Records · what breaks

Why TikTok and your call tracking records disagree

  1. 01

    Raw call volume counted as conversions

    Wrong numbers, existing customers, suppliers and hang-ups all ring the same line. In some trades the call-to-job rate is under half.

  2. 02

    Number pool too small

    If tracking numbers recycle faster than your sales cycle, two prospects share one number and the attribution is simply wrong.

  3. 03

    Dynamic number insertion failing on cached pages

    A cached page serving a stale number sends a whole segment's calls into the wrong pool, silently.

  4. 04

    Call answered but outcome never recorded

    Without joining the call to the job or deal, you are measuring how often the phone rang rather than how often it earned.

TikTok × Call Records · the fix

What you get from this — TikTok × Call Records

  • A number instead of a suspicion

  • The likely cause, narrowed

  • A basis for deciding

TikTok × Call Records · architecture

What each side is actually counting — TikTok × Call Records

  1. 1

    What TikTok counts

    A standard event name, an event timestamp, a shared event ID, hashed and normalized user identifiers, and ttclid where available. Confirm the current required fields in TikTok's documentation before building.

  2. 2

    How TikTok attributes it

    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.

  3. 3

    The window it uses

    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.

  4. 4

    What your call tracking records counts

    Calls that were qualified and produced work, not calls received, found in CallRail, CallTrackingMetrics, Invoca or your phone system, joined to whatever records the outcome.

  5. 5

    The filter that makes them comparable

    Calls longer than your qualifying threshold, classified as genuine enquiries.

TikTok × Call Records · events

Reading the gap — TikTok × Call Records

15%+ platform higherUsually the wrong event entirely — raw call volume is being counted rather than qualified calls, so wrong numbers and existing customers are in the figure.
20%+ platform lowerUsually structural — number insertion is failing for some traffic, or calls are arriving on a number that is not tracked at all.

TikTok × Call Records · diagnose

Diagnostic order — TikTok × Call Records

  1. 01

    Confirm both numbers cover the same period and channel

  2. 02

    Raw call volume counted as conversions

    Wrong numbers, existing customers, suppliers and hang-ups all ring the same line. In some trades the call-to-job rate is under half.

  3. 03

    Number pool too small

    If tracking numbers recycle faster than your sales cycle, two prospects share one number and the attribution is simply wrong.

  4. 04

    Dynamic number insertion failing on cached pages

    A cached page serving a stale number sends a whole segment's calls into the wrong pool, silently.

  5. 05

    Read TikTok's own event diagnostics, plus a reconciliation against your records

    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 × Call Records · prove

How to know you did it right — TikTok × Call Records

Source of truth

your call tracking records — qualified calls for a fully closed month

    TikTok × Call Records · free audit

    What we check in the free audit

    • Confirm both numbers cover the same period and channel
    • Raw call volume counted as conversions
    • Number pool too small
    • Dynamic number insertion failing on cached pages
    • Read TikTok's own event diagnostics, plus a reconciliation against your records

    Checked against

    your call tracking records — qualified calls for a fully closed month

    Get my free conversion tracking audit

    Free30 minutesNo obligation

    TikTok × Call Records · when not to buy

    When the answer is that you do not need us — TikTok × Call Records

    • If almost all of your qualified calls come from a channel with no click behind it, no tracking work will reach them — and knowing that is worth more than a build.
    • 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.

    TikTok × Call Records · what we deliver

    The method, step by step — TikTok × Call Records

    • Pull what TikTok reports

      Tiktok's own event diagnostics, plus a reconciliation against your records.

    • Pull what your call tracking records shows

      Export tracked calls for a closed month with duration and outcome, and join each to the job, appointment or deal it produced.

    • Filter both to the same thing

      Calls longer than your qualifying threshold, classified as genuine enquiries.

    • Compare per record, not on totals

    FAQ

    TikTok × Call Records questions, answered

    Usually the visitor saved your number or searched for you later, so the call came from a different session. Check also that the script reads the ttclid parameter on landing pages, not only on the homepage.

    Free · 30 min

    Found a gap between TikTok and your call tracking records?

    Free30 minutesNo obligation