Every owner asks the same question sooner or later: "are my numbers normal?" It's the right question — a $90 lead is a bargain in one industry and highway robbery in another — and it's weirdly hard to answer, because most published benchmarks are either vendor marketing or averages so broad they're useless.
This page is our attempt at a straight answer: cost-per-lead ranges, close rates, and ROAS expectations for six local service verticals in 2026, drawn from the client accounts and audits we see daily.
Methodology note: figures below are directional ranges synthesized from Thinxster client accounts and audit data across US metros, alongside widely reported platform averages. Your market, ticket size, and reputation move you within (and occasionally outside) these ranges. We publish them as calibration, not gospel — cite them with that caveat.
The Headline Numbers
→Across verticals, paid-search cost per lead has roughly doubled over the past five years, while close rates have stayed flat — meaning operational efficiency (response time, follow-up, qualification) now matters more than media buying skill.→The performance gap between median and top-quartile operators in the same trade and metro is rarely about lead cost. It's about contact rate and speed: top performers reach 80%+ of their leads; the median reaches barely half.→Businesses responding to leads within five minutes consistently convert at 2–4× the rate of those responding in hours — the single most reliable cross-industry pattern in our data.90s
the response-time standard Thinxster systems hold across every vertical below
HVAC
→Cost per lead: $50–$120 from Google Search; $250–$350 per booked job from Local Services Ads in competitive metros; $30–$70 from Meta (maintenance/tune-up offers).→Close rate: 30–50% on repair calls (urgency does the selling); 15–25% on replacement quotes against 2–3 competing bids.→Average ticket: $350–$600 repairs; $8,000–$14,000 replacements.→What good looks like: blended ROAS of 5–8× at steady state, with replacement revenue carrying it. The big leak: replacement quotes that never get followed up — a third of "lost" bids in most accounts received zero contact after the estimate.Roofing
→Cost per lead: $100–$250 from search (storm season compresses this dramatically); $40–$90 from Meta with inspection or financing offers.→Close rate: 35%+ on storm/insurance work; 10–20% on retail replacement.→Average ticket: $9,000–$18,000 residential replacement.→What good looks like: 6–10× ROAS is achievable on retail with tight follow-up, because the ticket forgives expensive leads. Roofing punishes slow response harder than any vertical we track — homeowners with active leaks book whoever answers first, and the 47-hour median response time we measure in audits is a revenue bonfire.Solar
→Cost per lead: $80–$200 self-generated; $300–$600 per *appointment* from aggregators.→Close rate: 10–20% on self-generated leads; appointment-to-close on purchased appointments varies wildly with set quality.→Average ticket: $20,000–$35,000 before incentives.→What good looks like: the vertical with the widest spread we see. Self-generation plus instant qualification (homeowner? credit band? utility bill over $150?) beats buying shared leads in nearly every account we've rebuilt — the aggregator lead that five installers received isn't really a lead, it's a race you start in last place.Dental
→Cost per patient lead: $40–$100 general dentistry from search; $150–$400 per *implant case* lead; $20–$60 from Meta for whitening/Invisalign offers.→Close (show) rate: 40–60% of contacted leads book; the silent killer is the 20–35% no-show rate at practices without reminder automation.→Average value: $700–$1,200 first-year general patient; $3,000–$30,000 for implant and full-arch cases.→What good looks like: 4–7× on general acquisition counting first-year value; implant campaigns can run far higher. Front-desk answer rate is the choke point — practices miss a quarter or more of inbound calls during lunch and lecture hours, and each missed new-patient call is a few hundred dollars walking to the practice down the street.Med Spa
→Cost per lead: $15–$50 from Meta/Instagram (the dominant channel); $60–$150 from search for injectables and body contouring.→Close rate: 20–35% lead-to-consult, 50–70% consult-to-treatment at well-run spas.→Average value: $300–$700 first visit; $2,000–$5,000+ annual value for retained members — membership/LTV math is the entire economics of this vertical.→What good looks like: judged on first visit alone, 2–4× ROAS; judged on 12-month value, 6–10×. Spas that text leads back within minutes book consults at multiples of those that call back the next day from the front desk — the clientele lives on their phones, and speed reads as professionalism.Legal (Consumer)
→Cost per lead: $150–$500 from search depending on practice area; personal injury clicks alone run $50–$150+. Meta works mainly for less-competitive practice areas (estate, immigration, family).→Close rate: 10–25% lead-to-signed-client; intake quality, not lead quality, is usually the variable.→Average case value: spans from $1,500 flat-fee matters to six-figure contingency cases — benchmarks must be practice-area specific to mean anything.→What good looks like: firms answering intake calls live and following up within minutes sign measurably more cases than reputationally superior firms that don't. Legal buyers call several firms in one sitting; first credible intake conversation wins, which makes after-hours coverage a competitive weapon.Cross-Industry Patterns Worth Stealing
1.The leak is after the lead. Across every vertical, the spread between median and excellent traces to contact rate, speed, and follow-up persistence — not media cost. Operational fixes are also the only fixes that don't bid up in an auction.
2.Tickets forgive, volume punishes. High-ticket trades (roofing, solar, implants) can profitably pay shocking CPLs with tight conversion ops. Low-ticket models need LTV (memberships, maintenance plans) or the math never works.
3.After-hours is 35–45% of demand everywhere. Whoever covers nights and weekends inherits that share by default. This is why an AI response layer — answering in 90 seconds, qualifying conversationally, booking directly — has become the highest-leverage upgrade across all six verticals; across our accounts it qualifies 62% of leads with no human involvement.
Benchmarks tell you if you're normal. The money is in noticing that "normal" includes losing a third of your leads to silence — and deciding not to be normal.
Want your numbers compared against these — CPL, contact rate, close rate, true ROAS — with the gaps priced in dollars? [Book a free strategy call](/book) and we'll run the benchmark audit on your actual accounts.
Free Weekly Briefing
One AI Marketing Tactic.
Every Tuesday. Free.
What's actually working across our client accounts right now — ROAS moves, follow-up sequences, creative angles. The stuff that isn't in any blog post yet.
No spam. Unsubscribe anytime. 1,200+ business owners already in.