What Should Contractor Ads Cost? Benchmarks by Trade
Cost-per-lead benchmarks for 8 home service trades across Google LSA, Google Search, and Meta — plus the formula for figuring out what you should actually be willing to pay.

A contractor calls us after getting a quote from a marketing agency: $3,000/month in management fees on top of ad spend. The agency promises "35–50 leads per month" without specifying the channel, the quality, or what any of those leads will actually cost per signed contract. The contractor doesn't know what to compare against. Is $60 a lead good for roofing? Is $120 terrible for kitchen remodel? They have no baseline.
Most home service contractors can't answer the most fundamental question in their marketing: what should a lead cost? Here's the full picture — benchmarks by trade and channel, minimum effective budgets, and the formula that tells you whether your ad spend is actually working.
Why Cost-Per-Lead Is a Misleading Metric
Cost-per-lead is the most commonly tracked marketing metric for home service contractors. It's also one of the most misleading, because it strips out the context that makes it meaningful. Two contractors in the same trade can have the exact same CPL and wildly different returns on their ad spend.
Here's the math that explains why. Contractor A is generating roofing leads at $20 each from a broad Meta campaign targeting all homeowners. Their booking rate is 40%, and their close rate on estimates is 15%. Their cost per signed job: $20 ÷ (0.40 × 0.15) = $333 per signed contract. On a $10,000 average ticket, that's a 3.3% cost-per-acquisition — acceptable, but not great.
Contractor B generates leads at $65 each from Google LSA, targeting in-market homeowners actively searching for roofing service. Their booking rate is 65%, and their close rate is 38%. Their cost per signed job: $65 ÷ (0.65 × 0.38) = $263 per signed contract. Same trade, same market, but the "more expensive" leads are actually cheaper per signed job because the quality is higher at every downstream conversion step.
The metric that actually matters is cost per signed contract. Everything else — CPL, click-through rate, impressions — is an input, not an output. If your marketing partner is reporting CPL and nothing downstream, they're showing you the wrong number.
Benchmark: Cost-Per-Lead by Trade and Channel
The ranges below represent typical CPL performance for well-run campaigns in competitive U.S. markets (top 50 metros). Rural markets skew lower on Google Search and LSA; coastal metros skew higher. Quality of landing page, review count, and response time all affect where within each range a specific campaign lands.
| Trade | Google LSA | Google Search | Meta Ads |
|---|---|---|---|
| Roofing | $25–55 | $35–75 | $15–40 |
| HVAC | $35–90 | $45–100 | $20–50 |
| Kitchen | $40–90 | $55–120 | $25–65 |
| Bath | $35–80 | $45–100 | $20–55 |
| Windows | $30–70 | $40–85 | $18–45 |
| Pool | $45–110 | $60–130 | $30–75 |
| Flooring | $25–60 | $35–80 | $15–40 |
| Epoxy | $20–50 | $28–65 | $12–30 |
A few important notes on interpreting these ranges:
- LSA CPL reflects only charged leads. Google charges per lead on LSA, and disputed leads can be credited back. Your effective LSA CPL depends heavily on how aggressively you dispute bad leads. Undisputed fraud leads inflate your real CPL significantly.
- Meta CPL skews lower but lead quality skews lower too. A $20 Meta lead in roofing is typically a homeowner in early discovery mode — not someone with a broken roof requesting an emergency inspection. The downstream conversion rate from Meta leads is often 40–60% lower than from Google Search or LSA. Factor that into your CPL tolerance.
- Kitchen and pool run higher because the ticket is higher. A $120 kitchen remodel lead is not expensive if your average project is $55,000. Normalize CPL against average ticket, not against other trades.
- Epoxy runs low because competition is lower. Epoxy coating is an emerging trade category with lower digital competition in most markets. That window won't stay open indefinitely as the category matures.

What a Reasonable Ad Budget Looks Like by Trade
One of the most common mistakes in home service advertising is under-spending to the point where campaigns can't generate enough data to optimize. Google's algorithm requires roughly 30–50 conversions per month per campaign to exit the learning phase and optimize effectively. If your budget doesn't support that volume, you're paying for a campaign in permanent learning mode.
Minimum effective monthly ad spend by trade (excluding management fees), based on the CPL benchmarks above and the volume needed for optimization:
- Roofing: $1,500–$2,500/month minimum for meaningful volume; $3,000–$5,000 for scalable pipeline. Seasonal adjustment recommended (higher in spring/storm season).
- HVAC: $2,000–$3,500/month minimum split across emergency and planned replacement campaigns. Higher in peak summer and winter months.
- Kitchen Remodel: $2,500–$4,000/month minimum. Lower volume is acceptable given higher ticket — 6–8 high-quality leads per month at a 35% close rate is a good business.
- Bath Remodel: $1,500–$3,000/month. Similar economics to kitchen with lower average ticket.
- Windows: $1,500–$2,500/month. Seasonal peak in spring and fall.
- Pool: $2,500–$4,500/month. Highly seasonal; concentrate budget in winter/early spring when planning decisions are made.
- Flooring: $1,200–$2,000/month. Lower ticket, higher volume model.
- Epoxy: $800–$1,500/month. Lower competition allows efficient spend at lower budget.
Spending $500/month on Google Search Ads in a competitive roofing market produces 2–4 clicks per day and maybe 2 leads per month — not enough to optimize, not enough to build pipeline, and not enough to evaluate whether the channel works. Under-spending is the most common reason contractors conclude that a channel "doesn't work" when the real problem is they never spent enough to find out.
The True Cost Per Signed Contract: A Better Benchmark
The formula for cost per signed contract is simple and should be the primary metric in every contractor's marketing dashboard:
Cost Per Signed Contract = Ad Spend ÷ (Leads × Booking Rate × Close Rate)
The industry target for cost per signed contract is under 3–4% of average ticket. That means:
- Roofing ($9,000 avg ticket): Target under $270–360 per signed contract
- HVAC replacement ($12,000 avg ticket): Target under $360–480 per signed contract
- Kitchen remodel ($52,000 avg ticket): Target under $1,560–2,080 per signed contract
- Bath remodel ($18,000 avg ticket): Target under $540–720 per signed contract
- Pool ($65,000 avg ticket): Target under $1,950–2,600 per signed contract
Cost Per Signed Contract = Ad Spend ÷ (Leads × Booking Rate × Close Rate)
Target: under 3–4% of your average ticket. A roofing company with a $9,000 average ticket should be spending under $270–360 to acquire each signed contract from paid ads.
This benchmark accounts for the entire system — not just the ad creative. Booking rate and close rate are as important as CPL. A 10-point improvement in booking rate has the same economic impact as a 20% reduction in ad spend.
Working backwards with typical industry conversion rates — 60% booking rate and 32% close rate — and the CPL benchmarks above, you can calculate whether any trade and channel combination hits the target:
- Roofing / Google LSA at $40 CPL: $40 ÷ (0.60 × 0.32) = $208 per signed contract. On a $9,000 ticket, that's 2.3% — well within target.
- HVAC / Google Search at $75 CPL: $75 ÷ (0.60 × 0.32) = $391 per signed contract. On a $12,000 replacement ticket, that's 3.3% — at the upper end of target.
- Kitchen / Meta at $45 CPL: $45 ÷ (0.45 × 0.28) = $357 per signed contract. On a $52,000 kitchen, that's 0.7% — excellent, if the lower conversion rates are accurate for your campaigns.

When Ads Aren't Converting: What to Check First
Before concluding that a channel doesn't work or that CPLs are too high, work through this diagnostic checklist. In our experience, the ad account is rarely the root problem — it's almost always one of these four issues:
1. Landing page. Is traffic going to a dedicated campaign landing page, or to your homepage? Homepage traffic converts at 2–4%. Dedicated landing pages convert at 15–25%. If you don't have a landing page for each campaign type, fix this before anything else. No other change does more for your CPL without touching the ad account.
2. Response time. How long does it take your team to respond to a new lead? If the average response time is over 1 hour, you're losing approximately 80% of leads before you've had a real conversation. Speed is infrastructure, not a soft skill. An AI receptionist answering calls in under 12 seconds and an automated SMS firing within 3 minutes of form submission are the baseline requirements for a functional lead conversion system.
3. Follow-up volume. How many times do you attempt to contact a new lead before marking it as dead? If the answer is one or two, you're leaving the majority of your leads in the graveyard. Leads require 5–7 touches to convert. A 14-day automated follow-up sequence is table stakes, not advanced strategy.
4. Attribution accuracy. Are you measuring everything? Call tracking, form submissions, and direct call clicks from Google Ads all need to be attributed correctly to know which campaigns are producing signed contracts vs. just leads. Without call tracking, you may be attributing revenue to the wrong campaign and cutting the one that's actually working.
Fix these four in order before optimizing ad creative, adjusting bids, or switching channels. In most cases, the channel was working fine — the system around it wasn't.
Frequently Asked Questions.
Q.01How much should contractors spend on marketing?
It depends on trade. Minimum effective monthly ad spend runs about $800–$1,500 for epoxy, $1,200–$2,000 for flooring, $1,500–$2,500 for roofing, up to $2,500–$4,500 for pool — excluding management. Under-spending strands campaigns in Google’s learning phase, which needs 30–50 conversions a month. With Deals To Grow, ad spend goes straight to the platforms, never marked up.
Q.02What is a typical contractor cost per lead by trade?
In competitive U.S. metros, well-run campaigns produce roughly: roofing $15–$75, HVAC $20–$100, kitchen $25–$120, bath $20–$100, windows $18–$85, pool $30–$130, flooring $15–$80, and epoxy $12–$65 per lead — Meta lowest, Google Search highest. Normalize against your average ticket, and track cost per signed contract, not cost per lead alone.
Q.03Shared leads vs owned leads — what do they cost?
Owned campaign leads run roughly $12–$130 depending on trade and channel, and every lead is exclusive to you. Shared or aggregator leads are resold to several contractors at once, so you win only a fraction and pay far more per signed job — while owning nothing that compounds.
Related Articles.
Want this system installed for your trade?
See if your market is still open, then book a 20-30 minute install call. No contracts.
