Server-side tracking for Jobber
At Jobber's scale the server-side build should be small and boring: capture the identifier, put it on the client record, and fire a conversion when an invoice is paid. A server container is usually more infrastructure than the business needs, and a simple webhook handler does the same job. We would rather build the small correct thing than sell the large one.
Free30 minutesNo obligation
Jobber server-side · what breaks
What goes wrong on Jobber
- 01
Quote requests optimized as conversions
Homeowners collect three quotes and the request predicts little.
- 02
Quote value used instead of invoiced value
Jobs change scope on site and the invoice is what was earned.
- 03
One-off and recurring work averaged
A lawn contract and a one-time cleanup are not the same conversion.
- 04
Build complexity outrunning the business
The most common mistake at this scale is over-engineering.
Jobber server-side · the fix
What changes — Jobber server-side
Paid invoices as the conversion
At the invoiced value, from Jobber.
Recurring work valued over its term
Not at the first visit.
A build sized to the operation
Simple where simple is right.
Jobber server-side · architecture
What Jobber exposes to a server container
The server-side build on Jobber specifically.
- 1
Fire on invoice paid
Not quote sent, and not job completed if payment lags.
- 2
Store the identifier on the client record
So recurring work traces to the original acquisition.
- 3
Value recurring jobs over their term
A weekly contract is worth its year, not its first visit.
- 4
Keep it proportionate
A webhook handler, not a container, unless several destinations need feeding.
- 5
Filter call conversions
Duration at minimum, booked-job ideally.
Jobber server-side · diagnose
Where Jobber tracking breaks, in diagnostic order
Each check rules out a class of cause, so by the last one there is usually a single explanation standing.
- 01
Check whether the identifier reaches a Jobber client record
One recent client answers it.
- 02
Compare Jobber paid invoices against reported conversions
Per invoice, over a closed window.
- 03
Check whether Local Services Ads volume is being counted anywhere
It is frequently invisible in the main report.
- 04
Look for quote requests being sent as conversions
The standard mistake at this scale.
- 05
Check recurring jobs are valued over term
Not per visit.
Jobber server-side · prove
The QA evidence — Jobber server-side
Run on Jobber specifically, on a live conversion rather than in preview mode.
Source of truth
Jobber's invoices — issued and paid invoices by date, at their values
- A test job followed from click to paid invoice with the identifier confirmed on the client record.
- Paid invoices reconciled per invoice against each platform over a closed window.
- A recurring job confirmed to carry its term value rather than a single visit.
- Local Services Ads volume reported separately.
- Call filter threshold agreed in writing before anything is sent.
- Reconciled over a fully closed window, matched per record rather than on totals.
- Re-checked 30 days later, and after any platform update.
Jobber server-side · free audit
What we check in the free audit
- Check whether the identifier reaches a Jobber client record
- Compare Jobber paid invoices against reported conversions
- Check whether Local Services Ads volume is being counted anywhere
- Look for quote requests being sent as conversions
- Check recurring jobs are valued over term
Checked against
Jobber's invoices — issued and paid invoices by date, at their values
Free30 minutesNo obligation
Jobber server-side · when not to buy
When you don't need this on Jobber
Worth reading before you buy anything, from us or anyone.
- If you spend a modest amount and rely mainly on Local Services Ads and referrals, filtering your calls is most of the available gain. We will say so rather than quote a container build.
- If Jobber's own reporting already tells you what you need and paid is a small channel, this is not urgent.
- A competent developer can wire the invoice-paid upload in a couple of days. That is a real option and it is worth naming.
- If most of your work is recurring and retained, retention reporting beats acquisition tracking.
Jobber server-side · what we deliver
What the server-side build gives you on Jobber
Container on your own subdomain
Your domain, your certificate, hosting in an account you control.
Money events from Jobber invoices
Jobber's paid invoices are the money record. Note the gap between invoice issued and invoice paid — in home services it can be weeks, which affects when the conversion fires.
Deduplicated at every destination
On a shared event ID, verified before any existing path is removed.
Consent enforced before dispatch
A denied destination receives nothing, verified by capture rather than configuration.
Written guarantee
95%+ tracking accuracy
Measured against Jobber's invoices — issued and paid invoices by date, at their values. Miss it and we keep working at no cost.
Pricing
Pick the package that fits your ad spend
Browser-side starter
$400One-time fee · lifetime ownership
Repairs and verifies the browser-side setup you already have, on a live conversion. Honest about its ceiling on this platform.
- Root cause fixed, not worked around
- Verified on a live conversion
- Reconciled against your own records
- Written handover
1st-party server-side
Recommended$800One-time fee · most popular
Money events sent from your own records through a first-party container on your subdomain, so the browser can no longer lose them.
- First-party server container on your own subdomain
- Money events from your records, not the browser
- Deduplicated on a shared event ID at every destination
- First-party cookies beyond Safari's 7-day cap
- 95%+ accuracy and 8+ Meta EMQ, guaranteed in writing
Full 1st-party stack
$1,800One-time fee · lifetime ownership
Every paid channel server-side plus the offline loop, with monitoring so the next break surfaces in days.
- Everything in 1st-party server-side
- Pinterest, Snapchat, Reddit and LinkedIn CAPI
- CRM and offline conversion loop
- Refunds and cancellations corrected wherever each platform allows it
- Monitoring on every destination
FAQ
Jobber server-side questions, answered
Probably not. At one to fifteen trucks, a small webhook handler that receives Jobber's invoice-paid event and forwards it to one or two destinations does the same job with far less to maintain. Containers earn their place when you are feeding many destinations with complex logic.
Invoice paid, unless your payment lag is long enough to push conversions outside the import window. In that case fire on completion and accept a small error from jobs that never pay, and say which you chose.
A custom field on the client. Home services customers come back, and client-level storage lets a second job trace to the campaign that acquired them.
Visit value times visits per year times your average client tenure. A weekly lawn contract at a modest visit price is worth far more than a one-time cleanup at three times the visit value.
Free · 30 min
Move Jobber events off the browser
Free30 minutesNo obligation
