Home Services
Cost Per Booked Job: The Only Number That Matters in Trades PPC
A roof replacement and a gutter clean come from the same campaign and are worth wildly different amounts. Until you bid on job value instead of lead volume, you are buying the cheap ones.
Here is the problem with high-ticket home services, stated plainly: the same campaign can produce a $600 repair and an $18,000 replacement, and if you are measuring cost per lead, those two look identical.
Worse, the cheap one looks *better* — it converts faster, from a shorter form, at a lower cost per lead. So bidding finds you more of it. Six months later you are drowning in small jobs, your crews are busy, and margin is flat.
The fix is to work out what a booked job is actually worth per service line, then buy against that.
TL;DR
Why blended averages lie
Say you run roofing ads. Last month:
| Service line | Jobs | Avg job value | Revenue |
|---|---|---|---|
| Repairs | 30 | $600 | $18,000 |
| Full replacement | 4 | $18,000 | $72,000 |
| Blended | 34 | $2,647 | $90,000 |
The blended average says a job is worth $2,647. That number describes nothing that exists. No job is worth $2,647 — they are worth $600 or $18,000, and most of the revenue sits in four of the thirty-four.
Bid on the blend and you overpay for repairs and badly underpay for replacements — losing every replacement auction to the competitor who did the maths per line.
The four rates you need
1. Enquiry → qualified. In the right service area, a job you actually want, not a supplier or a wrong number. In trades this is often brutal — half or worse for broad campaigns.
2. Qualified → quoted. Did you get out there and price it? This is where speed-to-lead shows up. If nobody rang back for four hours, most of this leaks.
3. Quoted → booked. Your close rate. Trades owners usually know this one well.
4. Booked → completed. Cancellations, financing falls-through, jobs that slip out of the year. On high-ticket work this is a real number.
Worked example: solar
Per 100 enquiries on residential solar:
| Step | Rate | Result |
|---|---|---|
| Enquiries | — | 100 |
| Qualified | 55% | 55 |
| Quoted | 65% | 36 |
| Booked | 30% | 11 |
| Completed | 90% | 10 |
Average completed job: $24,000. Gross margin after panels, inverter, labour, and permits: 28%.
Spend a third of margin on acquisition and your maximum cost per enquiry is $224. Across 100 enquiries, that is a $22,400 acquisition allowance: about $2,036 per booked job for the 11 bookings, or $2,240 per completed job for the 10 completed installations.
Many solar installers would call $224 per enquiry excessive. It is not automatically excessive; it is the ceiling this example's economics support. A company that caps every enquiry at $60 because that “feels like a lot” may price itself out of valuable opportunities, while a company that blindly pays $224 for every form can still lose money when qualification or completion rates deteriorate.
Turning it into bids
Once you have a ceiling per service line:
1. Separate campaigns by service line, or at minimum by ad group with distinct conversion values. A replacement campaign and a repair campaign should not share a budget.
2. Assign conversion values that reflect job value, not a flat $1 per lead.
3. Feed booked jobs back from your CRM as offline conversions, keyed on the click ID — the method is in offline conversion tracking. This is what lets bidding learn that the "expensive" replacement lead was worth thirty repairs.
4. Choose a business-specific buffer below the ceiling. Model a weak case using your normal volatility, conversion delay, cash flow, and completion risk; there is no universal safe percentage.
Where trades owners get this wrong
Using revenue instead of margin. An $18,000 roof at 18% margin produces $3,240, while a $7,500 bathroom at 45% produces $3,375. Their contribution is much closer than their revenue suggests.
Ignoring crew capacity. If you can complete eight replacements a month, buying leads for twenty is not a win — it's a scheduling problem and a pile of annoyed prospects. Budget follows capacity; the reasoning is in budget pacing.
Not counting calls. In trades most enquiries are phone calls. If calls aren't tracked, every number above is guesswork — see call tracking.
Forgetting repeat and referral. A satisfied HVAC install customer is a service contract and two neighbour referrals. If you can measure it, it belongs in job value.
Want your ceiling calculated?
The maths is not hard. Getting the real rates out of a trades business — where half the enquiries are calls and the CRM is a whiteboard — is the actual work, and it's usually the highest-value week anyone spends on the account.
Related reading:
Apply it to your account
Need help applying it?
Share your website, goal and current setup. We can discuss whether the project is a fit and agree on the scope before work starts.
Get a project review ↗