How to reconcile X 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 X Ads 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 X Ads × Job System
X Ads vs completed jobs: rarely a trades channel, so check first
Join on twclid captured on your booking form and stored on the job, or a hashed email, after confirming the attribution window set on each X conversion. For most trades businesses X produces too few local jobs to reconcile meaningfully, so expect small numbers and judge them job by job rather than as a ratio.
X is seldom where homeowners look for a contractor, and local targeting narrows an already small audience further. If you do advertise there, the join between an X click and a job record is twclid captured on your request form and written to a custom field on the job, or a hashed email that matches the customer record. Without either, a completed job can only be credited to X by asking the customer, which is a survey, not a reconciliation.
X sets attribution windows per conversion event, including whether views count, so confirm the setting on the conversion you report before trusting the total. Pull conversions from X's ads manager for a closed month and compare them with completed, invoiced jobs exported by completion date rather than request date, because a request in one month often completes in the next. The X Conversions API has changed more than once, so confirm server events still arrive before reading a drop as lost demand.
Small numbers make percentages meaningless: three reported conversions against one completed job says very little. Treat it as broken when X reports conversions steadily and none can be traced to any job record over a quarter. The usual cause of disagreement is a tag firing on a page visit or a call-button click, which counts curiosity rather than booked work.
X Ads × Job System · what breaks
Why X Ads 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.
X Ads × Job System · the fix
What you get from this — X Ads × Job System
A number instead of a suspicion
The likely cause, narrowed
A basis for deciding
X Ads × Job System · architecture
What each side is actually counting — X Ads × Job System
- 1
What X Ads counts
An event name X recognizes, a conversion identifier matched to the tag if you run one, a timestamp, hashed customer information, and the click identifier.
- 2
How X Ads attributes it
X appends twclid to your landing page URL. The platform's advertising stack has changed substantially and repeatedly, so treat any documentation older than a few months as unreliable and verify parameter names and endpoints directly before building.
- 3
The window it uses
X's attribution windows are configurable per conversion. Confirm the setting in your account before comparing any number, and verify the accepted event-freshness limit against current documentation.
- 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.
X Ads × Job System · events
Reading the gap — X Ads × 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. |
X Ads × Job System · diagnose
Diagnostic order — X Ads × 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 the conversion reporting inside X Ads Manager, reconciled against your own records
The platform's ad products and APIs have been rebuilt repeatedly, which means integration guidance ages faster here than anywhere else in this library. Anything you build should be re-verified periodically rather than assumed stable.
X Ads × Job System · prove
How to know you did it right — X Ads × Job System
Source of truth
your job management system — completed jobs for a fully closed month
X Ads × 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 the conversion reporting inside X Ads Manager, reconciled against your own records
Checked against
your job management system — completed jobs for a fully closed month
Free30 minutesNo obligation
X Ads × Job System · when not to buy
When the answer is that you do not need us — X Ads × 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 X is a small experimental line on your plan, the integration effort is hard to justify against a platform whose API has moved this often.
X Ads × Job System · what we deliver
The method, step by step — X Ads × Job System
Pull what X Ads reports
The conversion reporting inside x ads manager, reconciled against your own 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
X Ads × Job System questions, answered
Only if X is a meaningful channel for you. For most trades businesses the integration effort is hard to justify against the volume it produces.
Check what the conversion event actually fires on. A page-visit or call-button tag counts activity that never becomes a booked job.
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. The conversion reporting inside x ads manager, reconciled against your own 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 X Ads × 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
- TikTok × Job SystemHow to reconcile TikTok Ads against your job management system
RELATED GUIDES
Systems of record beside job management, and the funnels it settles
- X Ads × Enrolment SystemHow to reconcile X Ads against your application or enrolment system
- X Ads × Appointment SystemHow to reconcile X Ads against your practice or scheduling system
- X Ads · Quote → closed jobHow to track quote request to closed job for X Ads
- X Ads · PaintingX Ads conversion tracking for painting contractors
- X Ads · Commercial HVACX Ads conversion tracking for commercial HVAC contractors
- FieldEdge → X AdsConnecting FieldEdge to X Ads
- Housecall Pro → X AdsConnecting Housecall Pro to X Ads
- X Ads × Invoicing SystemHow to reconcile X Ads against your invoicing system
Free · 30 min
Found a gap between X Ads and your job management system?
Free30 minutesNo obligation
