Cost-Per-Lead Benchmarks for Local Service Businesses (2026)
Real CPL ranges across roofing, HVAC, pool, landscaping, and more — plus why your 'industry average' is probably the wrong number to chase.
Everyone wants to know what their cost-per-lead "should" be. Here are the realistic ranges we see across local service verticals on Google and Meta in 2026 — with one warning up front: your CPL is almost irrelevant compared to your cost-per-booked-job. More on that at the bottom.
Benchmarks by industry (Google Search + LSAs)
| Industry | Typical CPL range | Competitive markets |
|---|---|---|
| Roofing (repair/inspection) | $60 – $150 | $200+ |
| Roofing (insurance restoration) | $80 – $220 | $300+ |
| HVAC (service call) | $35 – $90 | $120+ |
| HVAC (install) | $80 – $180 | $250+ |
| Pool building (new construction) | $150 – $400 | $500+ |
| Pool service / maintenance | $40 – $90 | $120+ |
| Landscaping (maintenance) | $30 – $80 | $100+ |
| Landscaping (design-build) | $120 – $300 | $400+ |
| Plumbing (service) | $40 – $100 | $150+ |
| Electrical (service) | $35 – $95 | $140+ |
| Pest control | $30 – $75 | $110+ |
| Med spas | $40 – $120 | $180+ |
| Dental (cosmetic) | $80 – $250 | $350+ |
Meta Ads CPLs (install/high-ticket campaigns)
Meta CPLs tend to run 20–40% higher than Google for local service because Meta is interruption-based, not intent-based. The trade-off is volume and audience lookalikes.
| Industry | Meta CPL range |
|---|---|
| Roofing (storm/insurance) | $50 – $150 |
| HVAC (install/financing) | $60 – $180 |
| Pool building | $120 – $350 |
| Landscaping (design-build) | $90 – $220 |
| Med spas | $35 – $110 |
Why your CPL is probably the wrong number to chase
Low CPL can mean bad leads
A roofer with a $30 CPL and 20% booking rate is worse off than one with an $80 CPL and 50% booking rate. First guy: cost-per-booked-job = $150. Second guy: $160. Almost identical total cost — but the second operation isn't burning sales team hours on junk leads. CPL without booking rate is a decoration.
High CPL can mean high intent
A $200 pool build CPL sounds brutal until you realize each lead is a pre-qualified homeowner with budget, property, and timeline. Booking rate might be 35%, meaning your cost per customer is $571. On an $80,000 build at 20% margin, your CAC-to-margin ratio is 28x. That's an incredible channel even at a "high" CPL.
The real metrics that matter
- Cost per booked job (CPB) — ad spend ÷ actual booked appointments
- Cost per closed customer (CAC) — ad spend ÷ customers who actually paid
- Payback period — how many months of revenue to recoup CAC
- LTV:CAC ratio — lifetime value divided by customer acquisition cost. 3x is healthy, 5x+ is excellent
What affects your CPL (within your control)
- Landing page quality — a dedicated landing page can cut CPL 40–60% vs sending ads to your homepage
- Offer strength — "Free inspection" beats "Contact us for a quote" every time
- Ad copy specificity — "Tampa roof replacement" beats "professional roofing services"
- Response time — Google's quality score factors in user experience, and a fast-loading page + fast phone answer improves your quality score over time, which lowers CPL
- Review profile — 4.7+ stars in Google Business Profile affects LSA ranking and organic click-through, indirectly lowering CPL
What affects your CPL (mostly outside your control)
- Seasonality (try bidding on "AC repair" in April vs July)
- Local competition density (Tampa roofing is brutal; rural Kansas isn't)
- Weather events (a hailstorm doubles search volume and halves your CPL temporarily)
- Economic conditions (recessions shift demand and competitive bidding)
Bottom line
Benchmark your CPL against these ranges, sure. But run your business against cost-per-booked-job and LTV:CAC ratio. Those are the numbers that tell you if paid ads are actually making you money.
Related: Roofing budget guide · Call tracking setup
Want this run for your business?
GreenLightAds runs Google Ads, Meta Ads, and landing pages for local service businesses. Free 15-minute strategy call — we audit your setup and show you where the leaks are. No pitch.