Every contractor wants the same answer: 'Is my cost per lead good or bad?' The honest answer is that CPL only matters in context — your trade, your channel, your market, your season, your average ticket size, and your close rate all change what 'good' looks like. A $150 roofing lead is excellent. A $150 garage-door lead is catastrophic.
This guide is the single reference contractors should use to benchmark themselves. Every number is sourced from current 2026 industry research, broken down by trade and channel, with the close-rate context that turns CPL into cost-per-booked-job — the metric that actually predicts profit.
First — stop chasing CPL alone
The single most-misused metric in contractor advertising is cost per lead. A $25 lead with a 6% close rate ($417 cost per booked job) is dramatically worse than an $80 lead with a 35% close rate ($229 cost per booked job). CPL is a leading indicator. Cost per booked job is what funds your business. Always calculate both.
The home-services baseline (industry-wide, all channels blended)
CPL by trade — Google Search Ads (2026)
CPL by trade — Google Local Services Ads (LSA) (2026)
LSA is the cost-per-booked-job leader for nearly every approved trade. The reason is structural: LSA leads come pre-qualified (homeowner picked your profile from search results showing your reviews + Google Guarantee badge before contacting you). They're also exclusive — sent to one contractor, not 4–5 like HomeAdvisor / Angi.
CPL by trade — Meta Ads (2026)
CPL by market size (the variance most contractors ignore)
Houston is not Boise. New York City is not Albuquerque. The same trade can have 3–5x different CPL across markets. Use these multipliers when comparing your CPL against industry averages.
If you're in a Tier 4 small market and your roofing Google Ads CPL is $90 — that's GOOD (industry average is $124, multiplied by 0.6 = $74). If you're in a Tier 1 metro and your roofing Google Ads CPL is $90 — that's elite (the same average multiplied by 2.0 = $248). Always normalize for market size before comparing yourself to industry averages.
CPL by season (when to expect spikes vs cuts)
What 'good' looks like for your trade
Roofing
- Excellent: $60–$120 blended CPL, 25–35% close rate, $300–$450 cost per booked job
- Average: $150–$250 CPL, 12–18% close rate, $1,000–$1,800 cost per booked job
- Bad: $250+ CPL with under 10% close rate — almost certainly losing money on $8,500 average ticket
HVAC
- Excellent: $50–$100 blended CPL, 30–40% close rate (for emergency), $200–$300 cost per booked job
- Average: $100–$180 CPL, 18–25% close rate, $450–$800 cost per booked job
- Bad: $180+ CPL with under 12% close rate — burning capital
Plumbing
- Excellent: $40–$80 blended CPL, 35–45% close rate, $130–$220 cost per booked job
- Average: $80–$160 CPL, 18–28% close rate, $400–$700 cost per booked job
- Bad: $160+ CPL with under 12% close rate — channel-funnel mismatch
Remodeling (kitchen / bath)
- Excellent: $200–$350 CPL, 8–14% close rate, $1,800–$3,500 cost per booked job (high-margin justifies it)
- Average: $350–$500 CPL, 4–8% close rate, $5,000–$10,000 cost per booked job
- Bad: $500+ CPL with under 4% close rate — almost certainly bidding on wrong keywords
Solar
- Excellent: $80–$150 CPL, 6–12% close rate, $1,000–$2,000 cost per booked job (high ticket justifies it)
- Average: $150–$300 CPL, 3–7% close rate, $2,500–$8,000 cost per booked job
- Bad: $300+ CPL with under 3% close rate — nearly always losing on appointment costs
Why your CPL might be 2–3x worse than benchmark
After auditing 200+ contractor accounts, the same five issues drive CPL way above benchmark. None of them are budget problems. All of them are setup problems.
- 1. No conversion tracking. The Meta Pixel + Google Tag Manager + LSA dashboard need to fire on form submissions AND phone-call clicks. Without all three, the algorithms can't optimize.
- 2. Wrong landing page. Sending paid traffic to your homepage instead of a service-specific landing page kills conversion 40–60%.
- 3. Slow lead response. Responding within 60 seconds vs 5 minutes can improve conversion 391%. Most contractors take 17+ minutes.
- 4. Bad audience selection. Running broad national audiences when you're a local contractor wastes 60%+ of budget on people outside your service area.
- 5. Stale creative. Meta creative fatigue kills ROAS by 30–50% by month 3. Refreshing every 60–90 days is non-negotiable.
How to actually use these benchmarks
- Step 1: Calculate your actual blended CPL for the past 90 days across all channels.
- Step 2: Multiply by your market size adjustment (Tier 1 metro = divide by 2.0, Tier 4 small = divide by 0.6).
- Step 3: Compare your normalized CPL to the trade benchmark in this guide.
- Step 4: If you're 1.5x+ above benchmark, audit the 5 issues above before adding budget.
- Step 5: If you're at or below benchmark, your problem isn't CPL — it's scale. Increase budget 25%/month while monitoring cost per booked job.
The contractors hitting top-quartile CPL aren't lucky. They have: (1) LSA verified + 4.7+ stars, (2) under-60-second lead response, (3) service-specific landing pages, (4) refreshed creative every 60–90 days, (5) close-rate tracking by source. None of those require budget. All of them require setup. Once you have all five, hitting industry-average CPL becomes the floor, not the ceiling.