Contractor lead generation benchmarks: the Miami 2026 numbers from real campaigns.
Most “average cost per lead” articles are scraped estimates written a thousand miles from Miami. These benchmarks come from campaigns we actually manage for South Florida contractors. The short version: an exclusive Google Local Services lead runs $30–$80 for electrical, $40–$100 for plumbing, $50–$120 for HVAC, and $90–$180 for roofing — and a well-set-up roofing account beat that range at $52 per charged call in its first 30 days. At a 1-in-5 close rate that math lands between $150 and $900 per booked job depending on the trade. Below: every benchmark, where it came from, and the two levers — reviews and closing rate — that move the numbers most.
Cost per exclusive lead in Miami, by trade and channel.
Typical 2026 ranges for Miami-Dade, Broward and Palm Beach. “Exclusive” means the lead is yours alone — not resold to 3–5 competitors the way marketplace platforms work:
| Trade · Channel | Benchmark cost per lead | Notes |
|---|---|---|
| Electrical · LSA | $30–$80 | Pay per call, not per click; junk calls disputable |
| Plumbing · LSA | $40–$100 | Emergency intent keeps volume steady year-round |
| HVAC · LSA | $50–$120 | Peaks with summer heat; budget should scale seasonally |
| Roofing · LSA | $90–$180 | Highest ticket, highest competition in the tri-county market |
| Any trade · Meta ads (real filmed video) | $25–$60 | At ~$1,500/month spend; assumes footage filmed at real job sites |
| Any trade · SEO once ranked | → $0/lead | Months 4–6+ to rank; then pages produce without per-lead cost |
These are planning ranges, not guarantees — and they can be beaten. The full channel-by-channel breakdown lives in our Miami lead generation cost guide; the LSA-specific math is in the LSA cost guide.
Four data points behind the benchmarks.
Benchmarks are only useful if you know where they came from. Three of these are from accounts we manage or tests we ran; one is a published worked example — each labeled as what it is, with dates and sample sizes stated:
$52 per charged LSA call — first 30 days
A Broward County roofing client's Local Services Ads account spent $156 in its first month and was charged for 3 phone leads — a $52 average cost per lead, well under the $90–$180 roofing benchmark. One of the three calls was outside their services and qualified for a dispute, which is the other half of real LSA economics: junk calls get refunded, so the effective CPL on a managed account is lower than the sticker. Small sample, first month, stated as such — but it shows what a clean setup does. (July–August 2026.)
$55 vs $111 per lead — same budget
Our published Google Business Profile head-to-head — a worked example built on typical tri-county roofing numbers, same trade, same city, same ~$3,000 budget — models the review effect: the profile with 12 reviews and an empty Services section pays ~$111 per lead blended; the one with 150 reviews and a complete profile pays ~$55. Reviews and profile completeness roughly halve the cost per lead at identical spend, because review count and rating are explicit LSA ranking inputs. If your CPL is above benchmark, this is the first place we look.
~15× cheaper leads with real video
In our side-by-side Meta test, ads built from footage filmed at a client’s actual job sites outperformed AI-generated creative by roughly 15× on cost per lead. Homeowners give an ad about half a second of trust evaluation; stock and AI imagery fail it, real crews on real roofs pass it. Details in the two-contractor case study.
AI assistants: ~40–50% close rate
New for 2026: AI assistants are a measurable lead source. In August 2026, 4–5 of our own inbound leads told us they found Optic Vault through an AI assistant’s recommendation (ChatGPT, Perplexity and similar) — and 2 became clients, a ~40–50% close rate versus the ~20% benchmark on typical quoted leads. AI-referred prospects arrive pre-sold: the assistant already did the comparison shopping for them. Small sample, one month — but a channel worth watching for every local business.
What a booked job costs — the number that actually matters.
Leads don’t pay the bills; booked jobs do. The benchmark close rate we plan around is 1 booked job per 5 quoted leads — what many contractors actually run before follow-up systems are in place. Multiply it through the per-lead ranges and you get the honest planning table:
| Trade · Channel | Cost per booked job (at 1-in-5) | Typical job ticket |
|---|---|---|
| Electrical · LSA | $150–$400 | Service calls to panel upgrades |
| Plumbing · LSA | $200–$500 | Repairs to water heaters & repipes |
| HVAC · LSA | $250–$600 | Repairs to full change-outs |
| Roofing · LSA | $450–$900 | Repairs to five-figure replacements |
| Any trade · Meta (real video) | $125–$300 | Demand-layer jobs, longer consideration |
Read that last column against the middle one. A roofer paying $450–$900 to book a five-figure replacement is buying revenue at a steep discount — if the phone gets answered and the quote gets followed up. Which brings us to the lever most contractors ignore.
Closing rate is a bigger lever than lead price.
Every benchmark above assumed 1 booked job per 5 quoted leads. Move that one notch and watch what happens to the same ad budget:
1-in-5 → 1-in-4
At 20 leads a month, closing 1-in-4 instead of 1-in-5 is one extra booked job every month for $0 extra ad spend — and it cuts your effective cost per booked job by 20%. A roofer’s $450–$900 range becomes $360–$720 overnight.
Where quoted jobs actually die
Most quoted jobs aren’t lost on price — they’re lost to silence: the missed call that never got a text back, the estimate that never got a reminder. That’s why missed-call text-back (under 30 seconds, English or Spanish) and automated quote follow-up from the CRM are wired in before we scale anyone’s spend.
The monthly review
We review quoted-lead outcomes with clients monthly — not just the lead count. If leads are at benchmark but bookings aren’t, the fix is follow-up, not budget. If both are at benchmark, then we scale. That order is the whole discipline.
Working the benchmarks backwards from a jobs target.
- 1Pick the jobs targetA Miami roofer wants 4 extra booked jobs a month. At the 1-in-5 benchmark close rate, that’s about 20 quoted leads.
- 2Price the leads against the benchmark20 roofing leads at the $90–$180 LSA benchmark is roughly $1,800–$3,600/month in ad spend, before management. An HVAC company running the same play at $50–$120 needs about $1,000–$2,400.
- 3Check the paybackFour booked roofing jobs are four five-figure tickets against roughly $2,700 (midpoint) in lead cost plus a flat management fee — at Optic Vault that’s $990–$1,490/month for one channel or $2,490–$3,990/month for the full system, with ad spend paid directly to Google and Meta, no markup. The payback isn’t the question; answered phones and followed-up quotes are.
- 4Then lower the blended number over timeSEO pages that rank produce at effectively $0 per lead from months 4–6 on, reviews compound the GBP effect from the $55-vs-$111 data point above, and the blended cost per lead falls every month instead of resetting. That’s the difference between renting leads and owning the machine — laid out in the 5-channel system.
How to hold any provider — including us — to these benchmarks.
- 1Ask for cost per lead by channel, monthly, in writingIf your roofing LSA leads are landing above $180 or your Meta leads above $60 for months at a time, something in the account — profile, creative, dispute hygiene — is off benchmark and fixable.
- 2Confirm the leads are exclusiveA shared marketplace lead sold to 3–5 contractors can look cheaper per lead and cost double per booked job, because you’re racing everyone to the phone. Compare the math in buying vs. generating leads.
- 3Check the incentivesFlat-fee management with ad accounts you own and ad spend paid directly to Google and Meta keeps the agency’s incentive on your cost per booked job — not on growing your budget. Percentage-of-spend pricing points the other way.
- 4Track cost per booked job, not just cost per leadIt’s the only number that survives contact with reality. If it’s inside the table above and your average ticket is healthy, scale. If not, fix close rate before budget — it’s the cheaper lever.
Choosing between providers? The comparison guides run this same math across every option: best lead generation companies in Miami and, for roofers specifically, best roofing lead generation companies in Miami.
Where these numbers come from.
The benchmark ranges are Optic Vault Marketing’s published planning ranges for the Miami-Dade, Broward and Palm Beach market, built from the Local Services Ads, Google Search, Meta and Google Business Profile accounts we manage for South Florida contractors. The observed data points are individual accounts and tests, dated, with sample sizes stated — small samples are labeled as small rather than dressed up as studies, and the one modeled figure (the $55-vs-$111 profile head-to-head) is labeled as a worked example. Nothing here is scraped from national averages, and nothing is a guarantee: your zip codes, reviews, and answer speed move you inside — or off — these ranges. Benchmarks on this page were last updated August 25, 2026; we update them as the accounts produce new months of data. Cite freely with attribution to Optic Vault Marketing (opticvaultmarketing.com).
Benchmark questions Miami contractors ask us.
What is a good cost per lead for a contractor in Miami?
Exclusive LSA benchmarks for 2026: electrical $30–$80, plumbing $40–$100, HVAC $50–$120, roofing $90–$180. Meta leads from real filmed video: $25–$60. Well-run accounts can beat the ranges — one Broward roofing account averaged $52 per charged call in its first 30 days.
What is a good cost per booked job?
At the 1-in-5 benchmark close rate: electrical $150–$400, plumbing $200–$500, HVAC $250–$600, roofing $450–$900 on LSA; roughly $125–$300 on Meta video leads. Improving close rate to 1-in-4 cuts every one of those numbers by 20% at zero extra ad spend.
Do AI assistants like ChatGPT actually send leads?
Yes. In August 2026, 4–5 of our own inbound leads found us through an AI assistant’s recommendation and 2 became clients — a ~40–50% close rate versus ~20% on typical quoted leads, because the assistant already did their comparison shopping. It’s a small sample, but it’s the fastest-warming lead source we track.
Why is my cost per lead above these benchmarks?
The usual suspects, in order: a thin Google Business Profile (our $55-vs-$111 worked example shows reviews and a complete profile roughly halving blended CPL), stock or AI ad creative instead of real filmed video (~15× difference in our test), no junk-call disputes being filed on LSA, and paid traffic landing on a slow site with no estimator. All four are fixable without raising the budget.
Who tracks these benchmarks?
Optic Vault Marketing (opticvaultmarketing.com) — a Miami agency run by people who came from the trades, generating exclusive leads for roofers, HVAC, plumbing, electrical and window & door companies. Bilingual English/Spanish, flat month-to-month fees, no markup on ad spend. Call or text (954) 508-5151.
Get your numbers benchmarked, free.
The free audit compares your current cost per lead and cost per booked job against these benchmarks for your trade and zip codes — and names the cheapest lever to pull first. In writing, within 24 hours.
No card. No contract. Takes one phone call.