Cost per lead and marketing ROI for contractors
The number most contractors watch is cost per lead. It is the easiest one to count and the most misleading one to trust. A lead is not a job, and the price of a lead tells you almost nothing about whether your marketing is making money. This guide walks the real math, what a contractor lead actually costs by trade, and how to tie your spend to the only thing that pays the crew.
You spend two grand on a channel, forty leads come in, and the report says your cost per lead was fifty dollars. Sounds great. Then the month ends and you booked four jobs. Was that a win or a loss? Cost per lead cannot answer that question, and that is the whole problem with it. Every hard number below traces to a named source, listed at the bottom. Where a figure is directional rather than a quote for your business, we say so.
Cost per lead vs cost per booked job
Cost per lead is what you pay for an inquiry. Cost per booked job is what you pay to win actual work. The distance between those two numbers is your close rate, and that distance is where the money is won or lost. SearchLight Digital, which tracks lead data across hundreds of contractors, puts it plainly: cost per lead is useful for budget planning, but only if you can measure what happens after the lead arrives.
Here is the chain that actually maps to your bank account.
- Cost per booked estimate is what you spent divided by the estimates that landed on your calendar. Not raw leads. The ones that became a real appointment.
- Cost per job is your cost per booked estimate divided by your close rate. If half your estimates turn into signed work, your cost per job is double your cost per booked estimate.
- Then you compare cost per job to the profit on a typical job. If a deck nets you four thousand in profit and it cost five hundred in marketing to land, the channel is working, whatever the lead price looked like on the invoice.
Two contractors can post the exact same fifty-five dollar cost per lead and run completely different businesses. SearchLight ran that comparison: one contractor at a 48% book rate and a $2,800 average ticket lands a paying customer for $180 and earns 15.6x on ad spend. Another at the same lead price but a 30% book rate and a $1,200 ticket pays $440 per customer and earns 2.7x. Same cost per lead. One is thriving and one is barely breathing.
What a contractor lead costs
There is no single right cost per lead. It moves with your trade, your market, and the channel, so treat every benchmark here as a directional range, not a quote for your shop. Two credible datasets carry the weight, and they measure different things, so we keep them apart.
Search ad cost per lead, by trade
LocalIQ analyzed 3,211 US home-services search campaigns running from April 2024 through March 2025. These are Google and Microsoft search ad costs, where a lead means a tracked conversion, and the figures are medians to keep outliers from skewing them. The blended home-services median came in at $90.92, with a wide spread underneath it.
| Trade | Median cost per lead |
|---|---|
| Roofing and gutters | $228.15 |
| Doors and windows | $200.34 |
| Construction and contractors (general) | $165.67 |
| Heating and furnaces | $129.02 |
| Plumbing | $129.02 |
| AC installation and repair | $127.74 |
| Electricians | $93.69 |
| Handyman | $54.05 |
| Cleaning and maid | $46.99 |
| Pools and spas | $45.15 |
The pattern is not random. The high-ticket trades that close into five-figure jobs, roofing and window replacement among them, cost the most per lead, because the competition bids those keywords up and the profit per job supports it. LocalIQ also noted that cost per lead rose for 69% of home-services businesses year over year, so these numbers tend to drift upward.
Local Services Ads cost per lead, by trade
Google Local Services Ads work on a different model, where you pay per lead rather than per click and a lead means a call or message through your verified profile. SearchLight's February 2026 benchmark tracked $6.72 million in spend across 888 contractors and 126,650 leads. The blended cost per lead was $53, well below the search-ad figures, and it came with the downstream numbers that actually matter.
| Trade | Cost per lead | Book rate | Closed return on ad spend |
|---|---|---|---|
| Electrical | $39 | 43.4% | 8.52x |
| HVAC | $51 | 44.0% | 9.55x |
| Plumbing | $57 | 44.5% | 6.85x |
| Drain and sewer | $59 | 39.5% | 5.50x |
| Blended average | $53 | 43.9% | 7.84x |
Across that whole dataset the average cost to land a paying customer was $233, on an average ticket of $1,826. Notice how much more useful those figures are than the lead price alone. They tell you what a customer cost and what a customer was worth, which is the comparison that decides whether the spend made sense.
Why do the two tables look so different? Because they count different leads on different platforms. The search-ad figures price a tracked conversion across Google and Microsoft and lean toward big install trades. The Local Services figures price a phone call through a verified profile and lean toward service and repair work. Both sources are credible. Neither is a promise for your business, and you should never blend the two into one fake middle number.
Why a cheap lead can cost you more
A cheap lead that does not close is more expensive than a pricey lead that does. That one line settles most of the arguments contractors have about lead cost. The math is simple once you put close rate next to the lead price. SearchLight's own example: a $60 lead that books at 48% costs $125 per booked appointment, while a $40 lead that books at only 30% costs $133. The lead that looked a third cheaper is the more expensive one per job.
Independent marketing data lands in the same place. A business paying $400 per lead and closing 30% will beat a competitor paying $50 per lead and closing 2%, at the same customer value, every time. The low lead price is a trap when the close rate behind it collapses.
Two things drag a cheap lead's close rate down. The first is intent. The cheapest leads often come from shared marketplaces that sell the same contact to several contractors at once, so you land in a price war against people the homeowner is also talking to. We get into that tradeoff in the lead generation guide. The second drag is on you, and it costs nothing to fix.
Speed and follow-up decide your real ROI
The cheapest lead you will ever get is the one you already paid for. The ad spend, the marketplace fee, the work that made the phone ring, all of it is already spent the moment the lead arrives. Answering that lead faster does not cost you more leads. It rescues the ones you bought and were about to lose.
A lead that nobody answers closes at zero, whatever it cost. The home-services data here is stark. Invoca, which tracks billions of calls, found that about 27% of calls to home-services businesses go unanswered. Of the callers who get pushed to voicemail, fewer than 3% leave a message. They hang up and dial the next number. Meanwhile qualified phone leads convert at an average of 41% when someone actually picks up, so an unanswered call is not a neutral miss, it is paid-for revenue walking out the door.
Response time has some of the most consistent research in all of sales behind it. Harvard Business Review's study "The Short Life of Online Sales Leads" found that companies which reached a lead within an hour were close to seven times as likely to qualify it as those who waited just an hour longer, and the average first response across the firms they audited was 42 hours. The MIT and InsideSales lead-response study, working from a separate dataset, found the odds of qualifying a lead drop roughly twenty-one fold when the first contact slips from five minutes to thirty. Those studies span many industries, so read them as direction rather than a trade-specific promise, but the direction is unmistakable.
This is not a story about working harder. The contractor who misses the 7pm call is on a roof or under a sink, not slacking. The honest answer is an automated first response that picks up in the seconds a human cannot, qualifies the lead, and books the appointment. We cover that lever in depth in advertising for contractors and across the lead-gen guides. The point for your ROI is this: fixing speed and follow-up usually pays back faster than buying more leads on top of a leak.
How to measure spend to jobs
Most contractors get a monthly report full of numbers that do not connect to revenue. Impressions, sessions, engagement rate. None of those tell you whether the phone rang or whether the work got booked. A report worth paying for answers four questions in plain language. How many leads came in? Where did each one come from? How many became booked estimates? How many became signed jobs, and what were those jobs worth?
To answer those, you need three things tracking from day one.
- Call tracking. Put a different phone number on each channel so every call tells you which source produced it. A call from your Google ad and a call from a yard sign should land on different lines.
- Form and lead-source tagging. Tag every web form and every inquiry with where it came from, so a marketplace lead and a website lead never get lumped together.
- One running tally to revenue. Leads in, estimates booked, jobs won, dollars. Keep it for a month and you will know which channel actually pays better than most contractors learn in a year.
Even Google's own Local Services dashboard shows total spend and the leads generated through each path, message, call, and booking, which is the kind of source-level breakdown you should expect from every channel you run. If you have nothing in place right now, the starter version costs almost nothing: a tracking number per channel and a "how did you hear about us" line on your intake. From there you can compute cost per booked estimate, cost per job, and return per channel, and finally judge your marketing by what it produced. You can also see the real numbers from a system we run for a working example of spend tied to booked work.
Questions contractors ask
What is a good cost per lead for contractors?
There is no single right number, and anyone who quotes one before asking about your business is guessing. Published 2025 search-ad medians from LocalIQ put home services around $91 on average, with roofing near $228, windows near $200, plumbing and HVAC near $128, and lower-ticket trades like cleaning and pools in the $45 range. Google Local Services Ads tend to run cheaper, around $53 blended in SearchLight's February 2026 data. Judge any of these by cost per booked job, not by the lead price on its own.
How do I calculate marketing ROI for my contracting business?
Start with what you spent and what landed on the calendar. Cost per booked estimate is spend divided by booked estimates, not raw leads. Cost per job is that figure divided by your close rate. Then compare cost per job to the profit on a typical job. If a job nets a few thousand and cost a few hundred to land, the channel is paying. The lead price by itself tells you almost nothing about return.
Why are my leads not turning into jobs?
Usually it is close rate and follow-up, not lead price. A cheap lead that nobody answers closes at zero no matter what it cost. Invoca platform data shows about 27% of calls to home-services businesses go unanswered, and fewer than 3% of callers sent to voicemail leave a message. Research from HBR and from MIT with InsideSales found that answering within minutes rather than hours sharply raises the odds of qualifying a lead. Fix response speed and follow-up before you change sources or spend more.
What is the difference between cost per lead and cost per job?
Cost per lead is what you pay for an inquiry. Cost per job is what you pay to win actual work, which is cost per lead divided by your close rate. The gap between them is your close rate, and it decides everything. SearchLight's example: a $60 lead booking at 48% costs $125 per booked appointment, while a $40 lead booking at 30% costs $133. The cheaper lead ends up more expensive per job.
Want to know your real cost per job?
We will walk through your actual numbers with you, cost per booked estimate, close rate, and job value, and show you what each channel really costs you per signed job. You leave with a clear picture either way, whether or not we end up working together. Have a question first? Send us a message.
Book a strategy callSources
We cite primary sources where we can. The numbers above trace to these.
- LocalIQ, "2025 Search Ad Benchmarks for Home Services" (blended home-services CPL $90.92; per-trade medians; CPL up for 69% of businesses; 3,211 campaigns): localiq.com/blog/home-services-search-advertising-benchmarks
- SearchLight Digital, "Google Local Service Ads Cost Per Lead by Trade (2026)" (blended LSA CPL $53; per-trade CPL and book rate; $233 cost per customer; $1,826 average ticket; the $60-at-48% vs $40-at-30% booked-job example): searchlightdigital.io/google-local-service-ads-cost-per-lead
- Invoca, "See How Much Missed Sales Calls Cost Home Services Businesses" (27% of home-services calls unanswered; 62% call before purchase): invoca.com/blog/how-much-missed-sales-calls-cost-home-services-businesses
- Invoca, "How to Turn Missed Sales Calls into Revenue Opportunities" (fewer than 3% leave voicemail; qualified phone leads convert at 41%): invoca.com/blog/how-to-turn-missed-sales-calls-into-revenue-opportunities
- Harvard Business Review, Oldroyd, McElheran, and Elkington, "The Short Life of Online Sales Leads" (March 2011): hbr.org/2011/03/the-short-life-of-online-sales-leads
- MIT and InsideSales Lead Response Management study (Dr. James Oldroyd): leadresponsemanagement.org/lrm_study