All posts
Benchmarks March 15, 2026 6 min

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)

IndustryTypical CPL rangeCompetitive 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.

IndustryMeta 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)

  1. Landing page quality — a dedicated landing page can cut CPL 40–60% vs sending ads to your homepage
  2. Offer strength — "Free inspection" beats "Contact us for a quote" every time
  3. Ad copy specificity — "Tampa roof replacement" beats "professional roofing services"
  4. 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
  5. 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.