Cost Per Lead Is the Wrong Number. This Is the Right One.

Laptop displaying a sales performance dashboard with bar charts

Two channels. One sells you leads at $57. The other sells them at $183. Which is cheaper?

Most owners answer in under a second, and most owners are answering the wrong question. Cost per lead is the number your agency puts at the top of the report because it is the number that makes them look best. Cost per booked job is the one that decides whether you made money, and the two can point in opposite directions.

Key takeaways

  • Cost per lead is the number an agency reports, but cost per booked job is the number that decides whether a home service company made money, and the two can point in opposite directions.
  • Contractor Magazine analysis of 760 plumbing businesses put Google Local Services Ads at about $57 per lead with a roughly 44% booking rate, working out to about $263 per booked job.
  • Contractor Magazine’s analysis of Google Search Ads found about $183 per non-branded lead at an 18.4% booking rate, about $333 per booked job, across 524 contractors and roughly 96,000 leads.
  • Shared lead marketplaces at $30 to $100 per lead land near $650 per booked job, though Contractor Magazine labels the 5 to 15% booking range an industry estimate rather than a measurement.
  • At a $57 lead, going from a 44% booking rate to 30% moves cost per booked job from about $130 to about $190, and industry benchmarking puts the home service missed-call rate around 27%.
  • To calculate cost per booked job, pick one month, count total spend per channel including management fees, count booked jobs on the schedule, divide, separate branded from non-branded, and compare to average ticket.

What the channels actually cost once you count bookings

Analysis published by Contractor Magazine is the most useful thing we have seen on this, partly because it states its sample sizes, which is rarer than it should be. For plumbing:

  • Google Local Services Ads: about $57 per lead, roughly 44% booking rate, working out to about $263 per booked job. Sample: 760 businesses.
  • Google Search Ads: about $183 per non-branded lead, 18.4% booking rate, about $333 per booked job. Sample: 524 contractors and roughly 96,000 leads.
  • Shared lead marketplaces: $30 to $100 per lead, but the same analysis puts booking at 5 to 15%, landing near $650 per booked job. We want to be straight with you here: the source labels that booking range an industry estimate rather than something it measured, so treat this row as directional while the two above are not.

Read the first and third rows together. The cheapest leads in the set produce the most expensive jobs, by a factor of about two and a half. An owner optimising on cost per lead would move budget in exactly the wrong direction, confidently, with a report supporting them the whole way.

Booking rate is the variable you own

Here is the part that should change how you spend your Monday. You do not control what a lead costs. That is set by how many competitors are bidding in your county. You do control the booking rate, and the booking rate is doing more of the work in those numbers than the lead price is.

Run it yourself. At a $57 lead, going from a 44% booking rate to 30% takes your cost per booked job from about $130 to about $190. You did not change a thing in the ad account. You just answered the phone a bit worse.

And the leak is usually larger than owners believe. Industry benchmarking puts the missed-call rate for home service companies around 27%. If that is anywhere near true for you, roughly a quarter of everything you paid for never reached a human. We went through the arithmetic of that in your phone rings and nobody answers.

The same applies further down the funnel. In roofing and exteriors research, only 16% of contractors follow up same-day on unsold estimates. Those are leads already bought and paid for, sitting in a folder. That is covered in you do not have a lead problem.

How to calculate yours, honestly, this week

You do not need new software for this. You need a month and some discipline.

  1. Pick one month and count total spend per channel. Ad spend plus the management fee attributable to it. If your agency bills one blended number, ask them to split it. A reasonable partner will. That request is also a small test.
  2. Count booked jobs from that channel, not leads. A booked job means it is on the schedule. Not a form fill, not a conversation, not a “warm one.”
  3. Divide. That is your real number. Do it per channel or the exercise tells you nothing.
  4. Separate branded from non-branded. People searching your company name were mostly coming anyway. Counting them as channel performance is how a mediocre campaign looks excellent.
  5. Now compare it to your average ticket. The Contractor Magazine analysis put plumbing average tickets around $1,700. Against $263 per booked job, that is a business. Against $650, it is a much thinner business, and against a shrinking one it can stop being a business at all.

The check that takes thirty days and costs nothing

Have whoever answers your phone ask every single caller how they found you, and write it down. For thirty days, no exceptions.

Then compare that list to the report you are being sent. Attribution in home services is structurally unreliable: repeat customers search your name and land in the organic column, Local Services Ads calls often do not appear in your analytics at all, and a referral who googled you before calling gets credited to whoever is managing your search presence. The dashboard is not lying on purpose. It is just measuring what it can see, and it cannot see most of how people actually decide to call a contractor.

When those two lists disagree badly, believe your CSR.

Where our lane ends

What counts as a booked job, how you recognise revenue against it, and how you treat marketing spend in your books are questions for your accountant, not your marketing company. We are talking about an operating metric to steer by, not an accounting standard.

We will do this one for you

Across the hundreds of home service companies we work with, almost every owner can tell us their cost per lead and almost none can tell us their cost per booked job. It is not a competence problem. Nobody sends you that number because the people sending reports are graded by it.

Send us your last three months of marketing invoices and reports and we will calculate it for you, channel by channel. Free, and whether or not you ever hire us. If it turns out your current setup is working well, we will tell you so plainly and you will have lost nothing. If one channel is quietly subsidising another, you will want to know that before you renew anything.

Call 866-676-9134 or send them through here.

Frequently asked questions

Do cheaper leads mean cheaper booked jobs?

Not necessarily. In Contractor Magazine’s plumbing analysis, shared lead marketplaces at $30 to $100 per lead land near $650 per booked job, while Google Local Services Ads at about $57 per lead come out around $263 per booked job. The cheapest leads in the set produce the most expensive jobs, by a factor of about two and a half.

How much do missed calls raise my cost per booked job?

A lot. At a $57 lead, going from a 44% booking rate to 30% takes cost per booked job from about $130 to about $190 without changing anything in the ad account. Industry benchmarking puts the missed-call rate for home service companies around 27%, so roughly a quarter of what you paid for may never reach a human.

Does estimate follow-up affect my cost per booked job?

Yes, because unsold estimates are leads already bought and paid for. In roofing and exteriors research, only 16% of contractors follow up same-day on unsold estimates, so those leads sit in a folder. The same booking-rate arithmetic that applies to missed calls applies further down the funnel.

How do I calculate my cost per booked job?

Pick one month and count total spend per channel, including the management fee attributable to it. Count booked jobs from that channel, meaning jobs on the schedule, not form fills or conversations, and divide. Separate branded from non-branded searches, then compare the result to your average ticket, which Contractor Magazine puts around $1,700 for plumbing.

How do I know if my marketing report is accurate?

Have whoever answers your phone ask every caller how they found you and write it down for thirty days, no exceptions. Then compare that list to the report you are sent. Attribution in home services is structurally unreliable, and when the two lists disagree badly, believe your CSR.

← PREVIOUS Switching CRMs Without Breaking Your Marketing NEXT → Marketing problems HVAC companies face: data, causes and fixes

Explore more

All articles →

MARKETING STRATEGY    OCT 30, 2026

What Home Service Marketing Actually Costs

Search for what marketing costs a home service company and you will get a dozen pages that never...

Read More →

MARKETING RESEARCH    OCT 29, 2026

Marketing problems HVAC companies face: data, causes and fixes

The public evidence on nine HVAC marketing problems: rising lead costs, Local Services Ads changes, AI Overviews, review thresholds, seasonality, measurement, website conversion, the technician shortage and customer lifetime value, with the cause of each and the fix we would apply.

Read More →

SOFTWARE & OPERATIONS    OCT 22, 2026

Switching CRMs Without Breaking Your Marketing

Nobody stays on the wrong CRM because they love it. They stay because they are afraid of the...

Read More →
Schedule Your Free Strategy Call

Let's Build Something That Lasts

Strong houses aren't built on shortcuts and neither are strong businesses.

If you're tired of being sold instead of supported, wondering where your money is going, or feeling like just another number, it's time for a different approach.

We build marketing the same way you build homes and systems on a strong foundation, built to last.

No pressure. No sales pitch. Just honesty and hard work.

Let’s Talk Shop