TL;DR: Most contractors are quoting a cost per lead that is not real. Across 10 home services Google Ads accounts we manage, the conversion count Google Ads reported overstated the actual number of leads by a median of 2.19x, and in the worst account by 26x. Once you count leads correctly, non-branded search cost per lead lands around $124 for roofing, $149 for HVAC, and $183 for plumbing, according to the largest published datasets. For four trades that nobody benchmarks publicly, our own accounts produced $107 for dumpster rental and junk removal, $324 for demolition, $350 for land clearing, and $123 for pool service. Local Services Ads came in cheaper than search almost everywhere.
Every number below is labelled with its source and sample size. Ours are marked as ours.
Headline Numbers
Non-branded paid search, cost per lead.
| Trade | CPL | Source | Sample |
|---|---|---|---|
| Dumpster rental / junk removal | $107 | Thomastown Digital | 2 accounts, $23,550 spend, 221 leads |
| Pool service | $123 | Thomastown Digital | 1 account (n=1), $11,454 spend, 93 leads |
| Roofing | $124 | SearchLight Digital | 15 contractors, 145 campaigns, $310,031 spend |
| HVAC | $149 | SearchLight Digital | 816 contractors, 8,077 campaigns, $14.88M spend |
| Plumbing | $183 | SearchLight Digital | 524 contractors, $15.9M spend, 95,749 leads |
| Demolition | $324 | Thomastown Digital | 2 accounts, $24,318 spend, 75 leads |
| Land clearing | $350 | Thomastown Digital | 1 account (n=1), $5,593 spend, 16 leads |
Our figures cover August 1, 2025 through July 31, 2026. The published figures cover Q1 2026 and are cited in full further down.
Two things stand out. Demolition and land clearing cost roughly three times what dumpster rental costs, despite being adjacent trades that often share an owner. And the trades with the most published data are the ones in the middle of the range, not the extremes.
Why Most Reported Cost Per Lead Numbers Are Wrong
Before any benchmark is useful, you have to trust the denominator. Ours did not survive first contact.
We pulled 12 months of data from 10 home services accounts and compared two things: the conversion count Google Ads reports by default, and the number of actual, deduplicated leads. A lead means one human who called or submitted a form, counted once.
| Account | Trade | Google Ads reported | Actual leads | Overstated by |
|---|---|---|---|---|
| A | Roofing | 99 | 98 | 1.01x |
| B | Dumpster / waste | 75 | 59 | 1.27x |
| C | Dumpster / junk removal | 377 | 251 | 1.50x |
| D | Demolition | 35 | 17 | 2.06x |
| E | Roofing | 105 | 49 | 2.14x |
| F | Demolition | 148 | 66 | 2.24x |
| G | Pool service | 470 | 209 | 2.25x |
| H | Land clearing | 38 | 16 | 2.38x |
| I | HVAC | 59 | 23 | 2.57x |
| J | HVAC / fuel delivery | 2,898 | 111 | 26.11x |
Median overstatement: 2.19x. Seven of the 10 accounts overstated by 2x or more. Only one account, A, was accurate, and that is because it had exactly one conversion action per channel and nothing else.
Duplicate conversion actions on the same event
Account J, the worst offender, had four separate conversion actions all counting the same phone call, and all of them were set as primary:
| Conversion action | Category | 12-month count |
|---|---|---|
| Calls from ads | Contact | 2,119 |
| Google Ads Call Extension | Contact | 243 |
| Call (direct line) | Phone call lead | 223 |
| Third-party phone click | Outbound click | 136 |
One caller who taps the number in your ad can increment three or four of those at once. The account looked like it produced 2,898 leads in a year. It produced 111.
Clicks on a phone number counted as leads
That fourth row is an outbound click: someone tapped a phone number link. It is not a connected call, it is not a conversation, and it is certainly not a lead. It was counted as one.
Forms firing on page load
One demolition account showed 595 form submissions against 1,106 clicks in a single campaign. A 54% form completion rate does not happen. The trigger was firing when the page rendered rather than when the form was submitted.
Why this matters beyond reporting
If you use Smart Bidding, and almost everyone does, the algorithm optimises toward whatever you told it a conversion is. Feed it inflated, duplicated signal and it will buy more of whatever produced the inflation. Account J spent a year bidding against a number that was 26 times larger than reality.
How We Counted a Lead
Giving away the methodology is the point. Use it to check your own numbers.
For every account we picked exactly one conversion action per channel that represents a unique lead, and excluded everything else:
- Counted: a single deduplicated lead action per account. In our case that is a call tracking feed that captures calls and form fills and records each one as a single lead. Any platform that deduplicates will do the same job.
- Counted for Local Services Ads: Google's own standardised local services phone and message lead actions. These are clean by construction, which is why LSA data is easier to trust than search data.
- Excluded: every duplicate call action. If two actions can fire on one call, only one survives.
- Excluded: outbound clicks, including taps on a phone number link.
- Excluded: any conversion action firing at a rate that is not physically possible, pending a fix.
- Excluded: branded campaigns. Brand traffic converts cheaply and inflates a blended average into meaninglessness. One account in our set produced leads at $10 on brand and $560 on non-brand. Publishing the blend would be dishonest.
- Excluded: campaigns with no lead tracking at all.
Every figure attributed to us below survives all of those filters.
A Validation Check
Before presenting numbers nobody else publishes, it is fair to check our method against a number somebody else does publish.
Our roofing Local Services Ads cost per lead came out at $176, across $8,292 in spend and 47 leads.
The closest published roofing LSA benchmark is $162, reported by PipelineOn. Worth being precise about that figure: PipelineOn attributes it to SearchLight Digital's February 2026 LSA dataset, but roofing does not appear in the trade breakdown SearchLight publishes on its own LSA page, which covers electrical, HVAC, plumbing, drain and sewer, and a few others. So treat $162 as PipelineOn's number rather than a directly verifiable SearchLight one.
With that caveat, arriving within 9% of an independently published figure, using a completely separate account set, suggests the counting method is sound. That matters for the next section, where there is nothing to check against.
The Trades That Are Already Well Measured
For roofing, HVAC, and plumbing, there is published data built on samples far larger than ours. We are not going to pretend otherwise. Use these.
Roofing
From SearchLight Digital, covering 15 roofing contractors, 145 non-branded campaigns, $310,031 in non-branded spend and 2,491 non-branded leads, January 1 to March 31, 2026:
| Campaign type | CPL |
|---|---|
| Non-branded search | $124 |
| Branded search | $44 |
| Performance Max | $64 |
The spread matters more than the average. Across accounts: minimum $69, 25th percentile $80, median $125, 75th percentile $256, maximum $674. If you are paying $80 per roofing lead you are in the top quartile. If you are paying $256 you are in the bottom quartile and the problem is fixable.
Roofing CPL also moved sharply inside a single quarter, from $145 in January to $125 in February to $111 in March, as demand climbed into spring. Any roofing benchmark quoted without a month attached is close to useless.
A separate dataset from LocaliQ, covering 3,211 campaigns from April 2024 through March 2025, puts roofing at $228.15. The gap between $124 and $228 is largely date range and campaign mix, which is a good reminder to check what you are comparing.
For how these numbers translate into a monthly budget, see our breakdown of what Google Ads costs for roofing companies.
HVAC
From SearchLight Digital, covering 816 HVAC and plumbing contractors, 8,077 campaigns, $14.88M in spend and 143,008 leads, January 2026:
| Campaign type | CPL | Book rate |
|---|---|---|
| Branded search | $34 | 55.3% |
| Non-branded search | $149 | 37.6% |
| Performance Max | $72 | 32.2% |
| Blended | $104 | 41.7% |
Broken out by service line, non-branded, the range is wide enough that a single HVAC number hides most of the story:
| Service | CPL |
|---|---|
| AC maintenance | $86 |
| Heating repair | $144 |
| AC install | $157 |
| HVAC general | $198 |
| AC repair | $231 |
| Water heater | $343 |
| Heating install | $354 |
The same analysis notes that segmenting campaigns by service line typically reduces CPL by 15 to 25%. That tracks with what we see: general HVAC campaigns are the most expensive way to buy a specific job. We go deeper on this in Google Ads for HVAC: budget and lead cost.
Plumbing
From SearchLight Digital, covering 524 plumbing contractors, $15.9M in spend and 95,749 leads, January 1 to March 26, 2026:
- Non-branded search: $183
- Performance Max: $82
- General plumbing $161, drain and sewer $166, water heater $256
Account distribution: 10th percentile $77, 25th $107, median $168, 75th $253, 90th $396.
The most useful plumbing number in that dataset is not a CPL at all. The median cost per paying customer is $333, and the median contractor converts 18.4% of leads into paying customers. If your close rate is materially below that, your CPL is not your problem. See also Google Ads for plumbers.
The Trades Nobody Measures
Here is the gap. Search for roofing or HVAC benchmarks and you will find several credible datasets. Search for demolition, dumpster rental, land clearing, or pool service cost per lead and there is effectively nothing.
These are our accounts, August 1 2025 through July 31 2026, counted using the method above, non-branded search only.
| Trade | CPL | Accounts | Spend | Leads |
|---|---|---|---|---|
| Dumpster rental / junk removal | $107 | 2 | $23,550 | 221 |
| Pool service | $123 | 1 | $11,454 | 93 |
| Demolition | $324 | 2 | $24,318 | 75 |
| Land clearing | $350 | 1 | $5,593 | 16 |
Sample sizes are small and stated plainly. Two of these are single accounts. Treat them as a starting reference point rather than a national average, which is exactly how we treat them internally.
What the numbers suggest:
Dumpster rental is the cheapest lead in this group by a wide margin. High search volume, transactional intent, short consideration cycle, and a caller who usually knows the size they want. It behaves more like a retail purchase than a contracting job.
Demolition costs three times what dumpster rental costs, even though the same company often sells both. Demolition searches are lower volume, higher consideration, and frequently commercial, which means more competitors bidding on fewer searches.
Land clearing is the most expensive at $350, on the smallest sample here. Very low search volume against a small pool of advertisers who can each afford a high bid because the jobs are large.
Pool service at $123 compares favourably to the only published pool figure we could find, a Phoenix-metro range of $160 to $250 per lead. Regional, so not a like-for-like comparison, but a reasonable sanity check.
Local Services Ads Beat Search Almost Everywhere
LSA data is the easiest home services data to trust, because Google standardises the conversion actions. There is nothing to misconfigure.
Our LSA results:
| Trade | Spend | Leads | CPL |
|---|---|---|---|
| Roofing | $8,292 | 47 | $176 |
| Dumpster rental / junk removal | $7,042 | 89 | $79 |
| Blended, all our LSA accounts | $15,941 | 140 | $114 |
Published LSA benchmarks, from 888 contractors, $6.72M in spend and 126,650 leads, February 2026:
| Trade | CPL |
|---|---|
| Electrical | $39 |
| HVAC | $51 |
| Plumbing | $57 |
| National average, all trades | $53 |
Roofing is not included in that breakdown. PipelineOn reports roofing LSA at $162, attributed to the same February 2026 dataset.
The pattern is consistent: for the same trade, LSA leads cost less than non-branded search leads. Plumbing is $57 on LSA against $183 on search. Our dumpster rental accounts came in at $79 on LSA against $107 on search.
The caveat is volume. LSA is capped by your service area, your categories, and how many leads Google decides to send you. It is usually the cheapest lead available and rarely enough of them. Our full guide covers Local Services Ads for home service businesses.
Audit Your Own Account in 10 Minutes
- Open Tools > Conversions in Google Ads. Sort by conversion action.
- Find every action that could fire on the same event. Look for a call extension action, a "calls from ads" action, and a call tracking platform action all counting phone calls. If more than one is set to Primary, you are double counting.
- Look for any action categorised as an outbound click. A tap on a phone number is not a lead. Move it to Secondary.
- Check each form action's conversion rate against clicks. Anything above roughly 20% deserves scrutiny. Anything above 40% is almost certainly firing on page load.
- Segment your campaign report by conversion action and recount your leads using one action per channel.
- Recalculate CPL against that number, and compare it to the tables above.
Most contractors doing this for the first time find their real cost per lead is somewhere between 1.5 and 3 times what their dashboard showed. That is not a reason to spend less. It is a reason to know what you are actually buying.
Once you have a real CPL, you can work backwards to a budget. Our ad budget calculator does that math, and our home services marketing statistics hub collects the rest of the benchmarks we track.
Related: the same counting problem shows up on the website side, where reported form fills routinely exceed real ones. We covered the conversion side of that in web design for contractors: mobile benchmarks and conversion data.
Sources
- SearchLight Digital, Roofing Google Ads Cost Per Lead, Q1 2026
- SearchLight Digital, HVAC Google Ads Cost Per Lead, January 2026
- SearchLight Digital, Plumbing Google Ads Cost Per Lead, Q1 2026
- SearchLight Digital, Local Services Ads Cost Per Lead by Trade, February 2026
- PipelineOn, Home Service Marketing Benchmarks 2026
- LocaliQ home services data, April 2024 to March 2025, via PipelineOn
- M.Wolf Media, Google Ads Cost for Home Service Businesses, April 2026
- Thomastown Digital account data, 10 home services Google Ads accounts, August 1 2025 to July 31 2026
Frequently Asked Questions
What is a good cost per lead for home services in 2026?
It depends heavily on trade. Non-branded paid search runs about $124 for roofing, $149 for HVAC, and $183 for plumbing based on the largest published 2026 datasets. In our own accounts, dumpster rental and junk removal came in at $107, pool service at $123, demolition at $324, and land clearing at $350. Local Services Ads are cheaper than search in nearly every trade, with a published national average of $53.
What is a good cost per lead for roofing?
The published 2026 median is $125, with the 25th percentile at $80 and the 75th at $256. Under $80 puts you in the top quartile. Roofing cost per lead also moves seasonally, falling from $145 in January to $111 in March in Q1 2026.
What is a good cost per lead for HVAC?
$149 on non-branded search, $34 on branded search, and $72 on Performance Max. By service line, non-branded ranges from $86 for AC maintenance to $354 for heating installation.
What is a good cost per lead for plumbing?
$183 on non-branded search, with a median of $168 and an interquartile range of $107 to $253. Performance Max averages $82. The median cost per paying customer is $333.
Why is my Google Ads cost per lead different from these benchmarks?
The most common reason is that you are not counting leads the same way. Across the 10 accounts we audited, the conversion count Google Ads reported overstated actual leads by a median of 2.19x, usually because several conversion actions were counting the same phone call. Recount using one conversion action per channel before comparing yourself to any benchmark.
Are Local Services Ads cheaper than Google Ads?
Per lead, almost always. Plumbing is $57 on LSA against $183 on non-branded search. The constraint is volume rather than cost, since LSA lead flow is capped by your service area and categories.