How to reconcile TikTok Ads against your job management system
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 job management system 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 × Job System
TikTok Ads vs completed jobs: discovery views judged on invoices
Join on ttclid only where a TikTok click reached your booking form and the ID was written to the job; otherwise fall back to a hashed phone or email from TikTok lead forms. Expect far fewer matched completed jobs than TikTok-reported conversions, because view-driven discovery usually ends in a later phone call or a branded search.
TikTok can produce trades demand, mostly for visible work such as remodels, pressure washing or landscaping, but the path from video to completed job rarely runs through a single click. The join key is ttclid if a visitor clicked through to your booking form and that value was stored on the job, or a hashed phone number or email if the lead came through a TikTok instant form. Most homeowners instead watch, look up your business name later and call, which leaves no TikTok identifier in the job system.
Check the attribution window your account reports against in TikTok's own documentation before comparing; it differs from Google's and Meta's, and view-through may sit inside the total depending on the setting. Pull conversions from TikTok Ads Manager with the attribution window visible, then compare them with completed, invoiced jobs exported by completion date for the same closed month.
A large excess on TikTok's side is normal for this pair, because a form submit or contact click counts the moment it happens while the completed job may be weeks away. Breakage looks different: reported conversions collapse after a site or form change, or ttclid stops appearing on new web requests. The most common disagreement is TikTok demand arriving by phone and being credited to whatever source the office records.
TikTok × Job System · what breaks
Why TikTok and your job management system disagree
- 01
Quotes counted as won work
A quote is a van, a person and an hour already spent. In trades the quote-to-job rate varies enormously by source, so counting quotes rewards the channels producing price-shoppers.
- 02
Estimate value used instead of invoiced value
Change orders, extras and variations move the final figure. The estimate is a forecast; the invoice is revenue.
- 03
Repeat customers credited to the original click
A maintenance customer booking twice a year for five years produces ten jobs against one click.
- 04
Phone-first demand invisible
Trades are overwhelmingly phone-driven. Without dynamic number insertion, most of the funnel is unmeasured.
TikTok × Job System · the fix
What you get from this — TikTok × Job System
A number instead of a suspicion
The likely cause, narrowed
A basis for deciding
TikTok × Job System · architecture
What each side is actually counting — TikTok × Job System
- 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
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
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
What your job management system counts
Jobs completed and invoiced, at the amount actually billed, found in ServiceTitan, Jobber, Housecall Pro, Simpro or whatever holds your job records.
- 5
The filter that makes them comparable
Status is complete and invoiced — not quoted, not scheduled, not in progress.
TikTok × Job System · events
Reading the gap — TikTok × Job System
| What you see | What it usually means |
|---|---|
| 15%+ platform higher | Usually the wrong event entirely — the platform is counting quotes, cancelled jobs, or repeat customers as new acquisitions. |
| 20%+ platform lower | Usually structural — the platform is missing jobs it produced — almost always phone calls with no number tracking. |
TikTok × Job System · diagnose
Diagnostic order — TikTok × Job System
- 01
Confirm both numbers cover the same period and channel
- 02
Quotes counted as won work
A quote is a van, a person and an hour already spent. In trades the quote-to-job rate varies enormously by source, so counting quotes rewards the channels producing price-shoppers.
- 03
Estimate value used instead of invoiced value
Change orders, extras and variations move the final figure. The estimate is a forecast; the invoice is revenue.
- 04
Repeat customers credited to the original click
A maintenance customer booking twice a year for five years produces ten jobs against one click.
- 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 × Job System · prove
How to know you did it right — TikTok × Job System
Source of truth
your job management system — completed jobs for a fully closed month
TikTok × Job System · free audit
What we check in the free audit
- Confirm both numbers cover the same period and channel
- Quotes counted as won work
- Estimate value used instead of invoiced value
- Repeat customers credited to the original click
- Read TikTok's own event diagnostics, plus a reconciliation against your records
Checked against
your job management system — completed jobs for a fully closed month
Free30 minutesNo obligation
TikTok × Job System · when not to buy
When the answer is that you do not need us — TikTok × Job System
- If almost all of your completed jobs 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 × Job System · what we deliver
The method, step by step — TikTok × Job System
Pull what TikTok reports
Tiktok's own event diagnostics, plus a reconciliation against your records.
Pull what your job management system shows
Export completed jobs by completion date for a closed month, with the invoiced amount, and separate first jobs from repeat customers.
Filter both to the same thing
Status is complete and invoiced — not quoted, not scheduled, not in progress.
Compare per record, not on totals
FAQ
TikTok × Job System questions, answered
Many viewers call or search your name days later, so the job is logged under phone or Google. A dedicated tracking number on TikTok landing pages and forms recovers part of that.
Only once TikTok drives enough booked work to matter. Reconcile Google and Meta first; the same pipeline then adds TikTok as one more destination.
Because you should know the size of the problem before anyone quotes you for it. If the gap is small, you have saved yourself a purchase. If it is large, you now know what you are buying rather than taking our word for it.
No. Both numbers come from systems you already own and neither leaves them. There is no tool to sign up for and nothing to upload.
Then compare totals for a closed period and treat the result as directional rather than exact. Tiktok's own event diagnostics, plus a reconciliation against your records is still the right place to read the platform's side.
Under five percent is working. Five to fifteen usually means reversals are missing. Above twenty is normally the wrong event being counted, not a broken tag — which is why debugging tags first wastes so much time.
Then fix the filter before drawing any conclusion. Status is complete and invoiced — not quoted, not scheduled, not in progress. A mismatch in scope produces a gap that looks like a tracking fault and is not one.
Book the free thirty-minute call and bring both numbers. We will tell you which of the causes above it is, and whether it is something you can fix yourself — which it sometimes is.
More on TikTok × Job System
- Google Ads × Job SystemHow to reconcile Google Ads against your job management system
- Meta × Job SystemHow to reconcile Meta Ads against your job management system
- Microsoft × Job SystemHow to reconcile Microsoft Ads against your job management system
RELATED GUIDES
Systems of record beside job management, and the funnels it settles
- TikTok × Enrolment SystemHow to reconcile TikTok Ads against your application or enrolment system
- TikTok × Invoicing SystemHow to reconcile TikTok Ads against your invoicing system
- TikTok · Quote → closed jobHow to track quote request to closed job for TikTok Ads
- TikTok · LandscapingTikTok Ads conversion tracking for landscaping and lawn care companies
- TikTok · House cleaningTikTok Ads conversion tracking for house cleaning and maid services
- Workiz → TikTokConnecting Workiz to TikTok Events API
- Simpro → TikTokConnecting Simpro to TikTok Events API
- TikTok × POS SystemHow to reconcile TikTok Ads against your point-of-sale system
Free · 30 min
Found a gap between TikTok and your job management system?
Free30 minutesNo obligation
