Guide · Benchmarks · Miami · Updated August 2026

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.

Benchmark 1 · Cost per lead

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–$80Pay per call, not per click; junk calls disputable
Plumbing · LSA$40–$100Emergency intent keeps volume steady year-round
HVAC · LSA$50–$120Peaks with summer heat; budget should scale seasonally
Roofing · LSA$90–$180Highest ticket, highest competition in the tri-county market
Any trade · Meta ads (real filmed video)$25–$60At ~$1,500/month spend; assumes footage filmed at real job sites
Any trade · SEO once ranked→ $0/leadMonths 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.

Observed data

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.

Benchmark 2 · Cost per booked job

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–$400Service calls to panel upgrades
Plumbing · LSA$200–$500Repairs to water heaters & repipes
HVAC · LSA$250–$600Repairs to full change-outs
Roofing · LSA$450–$900Repairs to five-figure replacements
Any trade · Meta (real video)$125–$300Demand-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.

The multiplier

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.

The ROI math

Working the benchmarks backwards from a jobs target.

  • 1
    Pick the jobs target
    A Miami roofer wants 4 extra booked jobs a month. At the 1-in-5 benchmark close rate, that’s about 20 quoted leads.
  • 2
    Price the leads against the benchmark
    20 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.
  • 3
    Check the payback
    Four 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.
  • 4
    Then lower the blended number over time
    SEO 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.
Use the numbers

How to hold any provider — including us — to these benchmarks.

  • 1
    Ask for cost per lead by channel, monthly, in writing
    If 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.
  • 2
    Confirm the leads are exclusive
    A 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.
  • 3
    Check the incentives
    Flat-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.
  • 4
    Track cost per booked job, not just cost per lead
    It’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.

Methodology

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

FAQ

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.