Cost Per Booked Job: What Is a Good Number? · Willison Skip to main content
Growth and ROI · 8 min read

What is a good cost per booked job for a home service business?

Seth Willison ·

You know what a lead costs you. Most owners can name it within a dollar: what a click runs, what the lead fee is, what the mailer worked out to per call. Ask that same owner what it costs to end up with a job actually on the calendar and you usually get a pause. That second number is the one your bank account cares about.

The gap isn't small, either. The same ads, in the same month, can hand one shop a booked job for a couple hundred dollars and another shop that same job for double it. What separates them happens after the phone rings.

So here's the short answer, and it has two ceilings. Take everything you spent last month to make the phone ring and divide it by the jobs you actually booked from that spend. The hard ceiling on the result is the gross profit on an average job: pay more than that to book one and the job loses money before a truck moves. The soft ceiling is the one that actually runs your business, and you set it yourself, by deciding what share of that gross profit you'll hand to marketing and holding the line.

That's the real answer. Any article handing you a dollar figure instead is guessing at your margin, because a small service call and a full system replacement can't share a number.

The formula, and why it isn't the one you're already running

Everything you spent to make the phone ring, divided by the jobs you booked from that spend.

It looks like cost per lead wearing a different denominator, and that's the trap. Cost per lead measures what it takes to make your phone ring. Cost per booked job measures what it takes to get work on the calendar. Between them sits the share of calls you actually book, and that's where the money is won or lost.

We worked the first number in detail in how much you should spend to capture one lead. This one picks up where that leaves off.

What belongs in the numerator

Everything you buy to make the phone ring. Google Ads and Local Services Ads, the SEO retainer, lead fees, direct mail, the sponsored map spot, the ball team you put your name on, the wrap on the truck.

What doesn't belong is anything you spend delivering the work. Fuel, materials, tech wages. That's the cost of doing the job, not of getting it.

Timing trips people up, and only on one kind of cost. A truck wrap or a website build is a one-time outlay that keeps producing calls for years, so charging the whole thing to the month you paid for it makes that month look terrible and the rest look free. Spread those. A monthly retainer is not that: you pay it again next month, so it belongs in the month you paid it. Amortizing a recurring cost forward counts the same dollar twice.

One tension worth naming. The wrap and the ball team go in the top of the fraction, but they rarely produce a traceable first contact, so they earn no credit in the bottom. If brand marketing is a real part of what you do, either hold it out of both sides and measure your direct-response channels alone, or accept that this number runs pessimistic by design.

Which jobs are allowed in the denominator

Only the ones your spend actually bought.

The common shortcut is total marketing spend divided by every job invoiced that month. It's fast, and it flatters you. Your repeat customers didn't come from a click, and neither did the referral your best customer sent over. Drop those in and your marketing looks twice as good as it is.

Count the jobs whose first contact traces back to something you paid for. If you can't tell which ones those are, that isn't a math problem, that's the finding.

Fixing it takes two things. Ask every caller how they found you, and back that up with a separate tracking number on each channel. Self-reported source alone is the weakest attribution there is: "I found you on Google" covers the paid ad, the map pack, and the guy who searched your name off the side of your truck.

The calendar month lies to you

Money you spend in March doesn't book March work in every trade.

A drain clear books on the call. A full system changeout or a roof replacement sits for a week or three while the homeowner talks it over and collects a second quote. Same shop, two different lags.

So measure the cohort, not the calendar. Follow the calls that came in during March through to whether they booked, and divide March's spend by that. Comparing March's ad invoice to March's job list mixes February's calls into the answer.

The input almost nobody measures

Here's the relationship that decides everything. Run it on calls, not on leads:

Cost per booked job = cost per call, divided by the share of calls you book.

Leads are the wrong denominator here. A lead is already a call that got answered and turned out to be real, so measuring on leads hides the exact step this post is about.

At $65 a call, booking one in four puts you at $260 a job. Booking one in eight puts you at $520. Same ads, same price per call, double the cost of a job.

If you already answer nearly all your calls, your leak is elsewhere and you can skip ahead. If you don't, this is the biggest single step in that share, ahead of your closing skill.

Our arithmetic, not a published benchmark
9 to 11 in 100

inbound calls convert on the call itself, chaining three of Invoca's 2026 home services figures. 52% of all inbound callers speak with a person, or 65% counting only calls over 15 seconds, the cut Invoca says filters out misdials and hangups. Then 38% of calls answered by a person are leads, and 45% of those convert while still on the phone. Invoca publishes those separately, so the multiplication is ours, not their finding.

Two caveats. Those are averages across Invoca's own customer base, not a census of the trades, so read them as a benchmark, not as your number. And not every inbound call was bought: some are existing customers, the supply house, and junk.

The ones your marketing did buy, though, are paid for the moment the phone lights up, whether or not anybody reaches it. And the answered ones are the only ones with a real shot at your denominator.

Two shops, the same ads, a different number

That same Invoca 2026 report breaks answer rates out by sub-industry, and the spread runs from 32% to 74%. Plumbing sits at 74%. HVAC sits at 34%.

Two trades that look identical from outside the truck. Run the same ads at the same cost per call and they won't land at the same cost per booked job.

Here's the part that should stop an HVAC owner cold: it isn't that the traffic is worse. In that same report, 45% of answered HVAC calls are leads against 30% for plumbing. The HVAC phone rings with better opportunities and gets picked up less than half as often. A job you already paid to win is the most expensive kind to lose.

A worked month

Use your own figures. The arithmetic is the point, not the numbers.

Say last month you spent $6,200 across ads, lead fees, and the SEO retainer, and it produced 96 calls. That's about $65 a call. Your phone got answered on 54 of them, and you booked 18.

$6,200 divided by 18 is $344 per booked job.

Booking 18 of 54 answered calls beats the on-the-call benchmark above, exactly as you'd expect: your 18 includes the ones you booked a day later off a callback or a quote.

Now run it again with only the phone changed. Say you catch 12 of the 42 calls nobody picked up.

Don't book those 12 at the rate you book answered calls. That's the mistake here. The pile you missed carries the misdials, the hangups, and the price shoppers alongside the real jobs. Discount it hard. Book 3 of the 12.

The same $6,200 now buys 21 jobs, or $295 per booked job.

You didn't buy an extra lead, touch a campaign, or get better at closing. On a deliberately pessimistic assumption, the number came down about 14%. Put your own recovery rate in and run it again.

Now the part that example left out, and you shouldn't. Whatever catches those 12 calls has a monthly invoice, and by the rule three sections up it belongs in the numerator too. Add it before you decide the number improved.

That gives you a clean test for any coverage you're weighing: it has to cost less than the gross profit on the extra jobs it books. Above that line you bought a worse number. Nobody can run it for you, because both sides are your figures.

A different scale: why the bigger number can be the better one

Restoration books fewer jobs and much bigger ones, so the same math lands somewhere that looks alarming until you set it against the work.

Say a restoration shop spends $3,000, gets 24 calls at about $125 each, and books 5. That's $600 a booked job, roughly three quarters higher than the trades example, and still the better number.

The ceiling rule from the top of this page settles it, with your figures rather than ours. If a water mitigation job carries five times the gross profit of a small service call, $600 to book the mitigation is the cheaper of the two in the only sense that matters. If it carries one and a half times, it isn't.

Restoration carries a second wrinkle. Triple-I, from ISO/Verisk, puts it at about one in 60 insured homes with a water damage or freezing claim each year, on 2018 to 2020 data. Spread evenly that sounds quiet, and it never arrives evenly. It clusters on freezes and storms, so a shop can miss the best jobs of the quarter inside a single hour.

What this number won't tell you

It only counts the first job. A customer you booked once is often a maintenance agreement and the neighbor they send you next spring. We put numbers on that in what a single captured call is actually worth.

It's a blended average. One channel can be booking at triple the cost of another and the blend hides it completely. Split it by source once you've got the volume.

It says nothing about job mix. A low number made entirely of small diagnostic calls isn't a win. Read it next to your average job value and the gross profit you keep.

Which lever actually moves it

Four ways to move this number, and they don't move at the same speed. Cut wasted spend, the most underrated of the four: negative keywords, trimming geography you don't serve, dropping a lead vendor that sends tire kickers. Spend less across the board, which usually costs you volume. Close better, which works on the denominator too, but it's training and it's slow.

Or capture more of the calls you already bought. That one's the fastest, because nothing upstream has to change for it to start working.

That's the job Willison does. It answers every inbound call on your line, 24/7, 365, in seconds, effectively on the first ring. When a heat wave or a hard freeze drops a dozen calls into the same hour, it's on all of them at once, so the tenth caller is picked up as fast as the first, with no busy signal and nobody left on hold.

On each call it greets the customer, answers what they ask, qualifies the job, and books it onto your calendar. It'll chase the quote that's gone quiet too, so a maybe doesn't turn into a never while you're on a roof.

Whether the test above comes out in its favor is yours to run. The part we'd rather you didn't take on faith is what it sounds like. Talk to the live Willison demo right here in your browser and give it your worst Monday morning call.

Frequently asked questions

What if I genuinely can't tell which jobs came from marketing?

Start the clock today rather than trying to reconstruct last quarter. Put a distinct tracking number on each paid channel, add a required source field wherever you book jobs, and accept that your first clean number is 60 to 90 days out. Until then use a floor instead of a figure: count only the jobs you're certain came from paid channels. That overstates your cost per booked job, which is the safe direction to be wrong in.

Should repeat customers count when I calculate cost per booked job?

Not in the denominator, unless you're also putting the cost of keeping them in the numerator. Marketing spend buys new customers, and a repeat customer already knows you, so counting their job against this month's ad budget credits the ads with work they didn't do. Track repeat and referral work on its own line. It's usually the healthiest revenue in the business.

How often should a contractor calculate this?

Monthly for most shops, quarterly if the job count is low enough that two big wins swing the average. The catch nobody mentions is that a cohort doesn't close when the month does. If your quotes sit three weeks before anyone signs, March's real number isn't final until late April. Pick how long you hold a cohort open, keep it the same every month, and don't overreact to one bad reading.

Does a low cost per booked job mean the marketing is working?

Not by itself. A low number built out of small jobs is worse than a higher one built out of big ones, and cheap booked work can also mean you're buying price shoppers. Put it beside your average job value and the gross profit you keep on those jobs. If your cost per booked job is falling while the profit on the work falls faster, the number is improving and the business isn't.

Want to know if Willison is the right fit for your business?

15 minutes. Tell us how your phone works today, how many calls slip past when you cannot pick up, and what a booked job is worth to you. You leave with a straight yes or no on whether Willison is the right fit, and what it would look like set up for your business.

No pitch, no follow-up unless you want one. Your plan is month-to-month by default: cancel anytime if it's not working for you, no penalty. We work with you to dial the receptionist in for your business.

Written by

Seth Willison

Founder, Willison. Willison builds AI receptionists for trades and restoration companies, so the calls that pay don't get missed.

Free 15-min call See your missed revenue
Book