Every contractor I talk to asks the same question: "What should I expect to pay per lead?" The honest answer isn't "it depends"—it's a range backed by real market data. Electricians run $30–$80, roofers $40–$120, HVAC $25–$70, and plumbers $35–$90. But the real trap isn't the number; it's treating cost per lead like it's the only metric that matters.
This guide gives you the actual benchmarks by trade, region, and season—then shows you why two contractors can pay the same CPL and one fails while the other books jobs every week.
Electrician Cost Per Lead: $30–$80 in 2025
Electricians see the most stable CPL range across trades, largely because the work is consistent year-round and the audience pool is large enough to avoid extreme seasonal swings. A residential electrician in Phoenix running Facebook Ads should budget $30–$50 per qualified lead during low season (fall) and $50–$80 during peak (spring/summer). Commercial electrical work runs higher: $60–$100 because the audience shrinks and competing bids push up cost-per-click.
An electrician in Des Moines, Iowa (population ~210,000) should expect $40–$65 per lead on average. The same electrician running ads in a 50-mile radius will see CPL climb 20–30% as audience density drops. Seasonal shifts matter too: January and February add 15–25% to CPL because less volume means lower ad relevance scores.
The trap: paying $35 per lead while your follow-up response time is 18 hours means you're converting at 40–50% the rate of a shop that calls back in 30 minutes. Your true cost per *booked job* is 2–2.5x higher, even if your dashboard says $35.
Roofer Lead Cost: $40–$120 (Highly Seasonal)
Roofers face the steepest seasonal CPL swings. Winter months (November–January) run $35–$55 per lead because demand is low and audience interest drops. Spring (March–May) is brutal: $80–$120 per lead as every roofer in a 50-mile radius launches campaigns simultaneously. June through August peak even higher in hail markets.
A roofer in Denver during April (spring hail season and seasonal demand spike) will routinely see $100–$140 per lead if they're not careful with targeting. The same roofer in November hits $40–$60. Year-round average: $65–$85, but that number masks the reality—you'll spend aggressively in peak season and pause or budget-cut in winter.
Regional variation is dramatic. A roofer in Dallas (high hail, large market) pays $50–$100 year-round, while a roofer in a rural Kansas county (population 8,000) pays $80–$150 due to audience scarcity, even in peak season. If you're in a competitive urban roofing market, your seasonal CPL spikes are predictable—budget for it.
HVAC Cost Per Lead: $25–$70 (Most Stable)
HVAC is the most consistent because heating and cooling needs span all seasons. Summer AC replacement and winter furnace work mean Facebook Ads deliver steady CPL: $25–$50 in low season, $40–$70 in peak. Year-round average for a qualified HVAC lead: $35–$55 in most markets.
An HVAC contractor in Chicago should expect $30–$55 per lead January through March (furnace season) and $40–$70 April through September (AC season). October and November drop to $25–$40 as demand quiets but before winter returns. The audience pool is large, relevance scores stay solid, and Facebook's algorithm rewards consistency.
Emergency-only HVAC messaging ("broken furnace? we're here now") costs 20–40% less than seasonal prevention campaigns because intent is higher and the audience is smaller and more qualified. If you're running emergency vs. seasonal messaging, emergency pulls better CPL.
Rural HVAC contractors (servicing a 30-mile radius of 15,000 people) should budget $50–$80 per lead due to audience scarcity. Urban HVAC shops in metro areas run $25–$45.
Plumber Lead Cost: $35–$90 (Regional Variance Wins)
Plumbers see wide CPL swings based on geography and whether you're targeting emergency calls or quote-based work. Emergency plumbing (burst pipes, backups) runs $35–$65 per lead with higher intent. Quote-based work (bathroom remodels, new water heaters) runs $60–$90 because the audience is smaller and competition is fierce.
A plumber in Austin, Texas (metro population 2.3 million) runs $35–$55 per lead for emergency messaging and $55–$80 for remodel work. The same plumber in a town of 30,000 sees $70–$110 for emergency and $85–$130 for quote work. Audience density is the driver.
Winter months boost CPL 10–20% (frozen pipes, water heater failures) in northern states. Summer plumbing demand is weaker but more seasonal-project focused (toilet upgrades, fixture replacements), pushing CPL slightly higher.
Stop buying leads. Generate your own in 2 minutes.
Describe your business: the AI writes the copy, designs the visual, sets the targeting, and publishes your ad. Your leads — exclusive and far cheaper than a bought one — land straight in Leadria with a phone number, ready to call.
Try Leadria free7-day free trial — no credit card — cancel anytime
How Rural Location Pushes CPL Up 40–60%
Rural contractors face a hard truth: smaller audience pools = higher cost per lead. A roofer in Des Moines suburbs (metro area 500,000) might run $45–$70 per lead. That same roofer 90 miles north in a town of 12,000 will hit $75–$120 because the Facebook audience shrinks from 400,000 people to 8,000.
The math is simple: Facebook's algorithm needs scale to optimize. A small audience can't generate enough volume for the algorithm to learn which people are most likely to call you. You end up paying for low-intent clicks and broad targeting. A 30-mile service radius in a rural county often encompasses only 20,000–40,000 people on Facebook; you'll exhaust ad relevance and creative fatigue fast.
Rural contractors have two plays: (1) Accept 40–60% higher CPL and focus on lead quality and follow-up speed to offset cost, or (2) Expand service radius or switch channels. Rural Facebook Ads strategies that actually work lean heavily on audience retargeting, lower creative spend, and longer campaign windows. Some rural trades find Google Local Services Ads cheaper because they reward geographic precision without penalizing small audience pools.
Seasonal and Regional Variables: When CPL Spikes
Beyond trade-specific swings, three external forces move CPL:
- Time of year: January and February are slow (post-holidays, winter weather), driving down intent and pushing CPL up 10–25%. Summer peak (May–August) spikes CPL 20–40% because every contractor is running ads.
- Region: Coastal metro areas (NYC, LA, Miami) run 30–50% higher CPL than Midwest or South because cost of living is higher, competition is fiercer, and Facebook's ad auction is tighter. A electrician in Des Moines pays $35–$55; same electrician in Manhattan pays $70–$120.
- Local events: Hail storms, hurricanes, and freeze-thaws spike demand and CPL dramatically. A roofer in Oklahoma saw CPL hit $180+ during hail season in 2024. The spike lasts 2–4 weeks, then normalizes.
Check your region's seasonal calendar: if your market sees a predictable demand spike (spring reroofing, summer AC rush, winter furnace calls), budget 30–40% higher spend for 6–8 weeks. If your area gets hit by weather or a big move-in season (military base expansion, corporate relocation), assume CPL will spike 20% above baseline.
When Low CPL Means Nothing: The Lead Quality Truth
Here's the hard part nobody wants to hear: a contractor paying $45 per lead with a phone number, a follow-up within 30 minutes, and real intent will book more jobs than a contractor paying $25 per lead with bad data, slow follow-up, and tire-kickers.
Your CPL is meaningless if:
- No phone number on the lead form. If you're collecting only names and email, you've got a sales delay of 24+ hours. That's death. Phone leads convert 3–4x faster than email-only.
- Follow-up response time exceeds 2 hours. Leads go cold fast. A plumber who calls back in 4 hours converts 50% of the leads a plumber calling back in 15 minutes would. Your true cost per job just doubled.
- No geographic qualification. If your targeting captures people outside your service radius, you're paying for dead leads. A roofer in Denver with a 25-mile radius targeting should exclude addresses in the mountains or far suburbs where they can't service.
- Low-intent audiences. If you're targeting "home improvement" interests, you're hitting DIYers and price shoppers. A more specific audience ("recent homebuyer + high property value") costs more per click but yields 2–3x better conversion. Filtering low-intent leads before they hit your inbox is cheaper than chasing bad leads.
- No lead quality score. If you're not tracking which leads convert to jobs, you're flying blind. A contractor who scores leads 1–10 on intent (phone provided, local address, recent homebuyer signals) can retarget high-quality leads and pause low-quality targeting. This cuts true cost per job by 40–60%.
Low-quality Facebook leads are cheaper than good ones because Facebook's algorithm is optimizing for clicks or form submissions, not conversions. If you're not feeding conversion data back to Facebook (via the Conversion API or pixel events), Facebook keeps optimizing for cheap leads, not good ones.
Real Example: Two Electricians, Same CPL, Different Outcomes
Electrician A in Austin, Texas runs Facebook Ads with a $50/month budget, targeting "homeowners within 10 miles + age 35–65 + high income." Their CPL lands at $38 after two weeks. They use a lead form with no phone validation, so 30% of leads have incomplete numbers. Follow-up response time is 8 hours. Of 10 leads per month, they convert 2 to jobs (20% close rate). True cost per booked job: $250.
Electrician B, same market, same CPL of $38. But they use a form that requires a phone number, geo-validates addresses to their 15-mile service area, and calls every lead within 15 minutes. Follow-up response time: 15 minutes. Of 10 leads per month, they convert 7 to jobs (70% close rate). True cost per booked job: $54.
Both paid $38 per lead. Electrician B booked 5 more jobs per month with the same spend because lead quality and follow-up speed were the levers, not the CPL itself.
When Facebook Ads Are Not the Right Tool (And What to Try Instead)
CPL benchmarks matter—unless Facebook Ads aren't actually the right channel for you. Here's when to pause and try something else:
- Your service area is under 5,000 people. If you're a plumber in a town of 3,000, Facebook's audience is too small and CPL will be 2–3x the benchmarks listed here. Google Local Services Ads or Nextdoor Ads may be cheaper because they reward hyperlocal targeting.
- Your typical job value is under $300. If you're a handyman running $150–$250 jobs, a $50 CPL means you need a 20%+ close rate just to break even on ad spend. Craigslist or local classified services might cost less and pull better intent.
- You have zero referral or repeat customer base. If 100% of your revenue comes from one-off jobs (not repeat service or warranty work), your customer lifetime value is low and CPL benchmarks won't justify ad spend. Build referral or service contract revenue first.
- Lead response time in your trade is slow (48+ hours standard). If your market is used to slow follow-up (some HVAC markets, solar installation), Facebook leads may sit too long and you'll compete against referrals or slow quotes. Adjust expectations or speed up your ops.
- Your local market is saturated with competitors running ads. If 15+ contractors in your area are already running Facebook Ads, CPL will be 50–100% above benchmarks. Test a smaller budget (under $300/month) first, or pause until January (off-season) when competition drops.
The hard truth: Facebook Ads aren't worth it for every small business. Run the math: (leads per month × close rate × average job value) – ad spend = profit. If that's negative or near-zero, you're not a good fit. Don't chase benchmarks; chase unit economics.
How to Reduce Your CPL Without Sacrificing Quality
If your CPL is running 20–30% above benchmarks, here are the real levers:
- Tighten your geographic radius: Instead of "15 miles," try "8 miles" or exclude specific low-intent zip codes. Smaller, more concentrated audience = higher relevance, lower CPL. You'll get fewer leads but more qualified ones.
- Use AI to build ad copy and creative faster: AI-generated ad creative can reduce creative fatigue cycles, keeping your relevance score high and CPL low. Don't pay agencies $2,000/month for what an AI tool can do in 2 minutes.
- Pause low-performing interests or audiences: If "home improvement" pulls $60 CPL but "recent homebuyer" pulls $35, kill the first one. Eliminate audience overlap so you're not bidding against yourself.
- Run lead form ads, not link clicks: Lead form ads pull 20–30% lower CPL than traffic campaigns because intent is higher and form friction is lower. You get the phone number inline, no page load needed.
- Test retargeting: Retargeting form abandoners with a small discount offer can cut your overall CPL by 15–20% because you're re-engaging warm leads at lower cost than cold prospecting.
Most contractors focus on CPL and ignore these mechanical levers. Your real edge is testing and iterating on lead quality and follow-up, not chasing the lowest CPL number.
