HVAC: $8–$15 Per Lead, Seasonal Swings 40%+
HVAC is one of the most predictable Facebook ads verticals, but predictable does not mean flat. A furnace repair company in Chicago typically pays $10–$14 per lead during the winter months (October–March) when emergency calls dominate. The same company in summer (June–August) drops to $6–$9 CPL because demand shifts to maintenance and optional upgrades. Seasonal variation in HVAC can swing CPL by 40–60%, more than any other trade.
Why? Competitors. During winter, every HVAC contractor in the city is spending heavily on Facebook because call volume is guaranteed. That competitive pressure inflates costs. In summer, many pull budgets back or go dormant, leaving less demand for audience attention, so CPL falls naturally.
A real example: Benson HVAC in Minneapolis started their Facebook ads in September 2024 with a $500/month budget and $12 average CPL, generating 42 leads monthly. By December, with the same $500 budget, CPL climbed to $16 because six competing HVAC firms launched winter campaigns. By July 2025, CPL fell to $7 as competitors paused. Benson adjusted their seasonal budget allocation: $800/month Oct–Mar, $300/month Apr–Sep—total annual spend held constant, but lead volume smoothed out.
The critical HVAC insight: do not set an annual CPL target; set seasonal targets. Plan for $12–$15 CPL in winter, $6–$9 in summer. If you see $18+ CPL in January, your targeting or creative is inefficient, not market conditions.
Plumbing: $5–$12 CPL (Best ROI Among Trades)
Plumbing leads are among the cheapest on Facebook because plumbing is urgent. A burst pipe doesn't wait; homeowners click fast, fill forms faster, and answer calls immediately. This high intent translates directly into low CPL.
The typical range: $5–$12 per lead with most plumbers clustering around $8–$10. Emergency plumbing (24/7, weekend calls) sits lower, $5–$8; routine plumbing (drain cleaning, faucet replacement) runs $10–$12 because intent is lower.
Geography matters. A plumber in Des Moines (population 215,000) pays $5–$7 CPL because the audience is small and tight—low competition for a defined market. A plumber in Los Angeles (13 million metro) pays $12–$16 CPL because audience is vast and shared among 200+ plumbing companies. The same business model, different costs.
Real example: Rooter Pro in Austin, Texas (metro population 2.3 million) launched Facebook ads in Q1 2025 with a $400/month budget. Week 1: $9 CPL, 44 leads. Week 2: $10 CPL, 40 leads. By month-end, $9.50 average CPL. They held that for 4 months. In May, they expanded targeting beyond Austin to Round Rock and Cedar Park (smaller suburbs), and CPL dropped to $7.80 because audience size increased but competition density remained lower in the outer ring. They now allocate 60% budget to the city, 40% to suburbs, split by CPL performance.
The plumbing advantage: even at $12 CPL, a job worth $300–$500 generates healthy ROI. Most plumbers don't need volume conversion optimization; they need reliable lead flow. Plumbing's low CPL often makes Facebook ads their first and only digital channel worth testing.
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
Solar: $25–$60 CPL (High-Value, Consultative Leads)
Solar leads are expensive—2–5x more costly than HVAC, 4–8x more than plumbing. Why? Solar is a consultative, long-cycle sale. A homeowner doesn't fill a lead form and sign a contract next day. They request a free consultation, get a site assessment, receive a quote, compare financing, and decide weeks later. Each lead requires 2–4 hours of labor before conversion.
The benchmark: $25–$60 CPL with most solar companies clustering $35–$50. National solar installers (Sunrun, Vivint Solar, Tesla) pay premium rates because they're competing for the same high-intent audiences; local installers in less competitive metros can achieve $25–$35.
What moves solar CPL high or low:
- Home value and roof age. Targeting homes built before 2000 with roofs likely to need replacement increases lead quality and CPL. Newer homes are cheaper targets, lower CPL, but lower conversion rate.
- Financing offer messaging. Solar leads with attractive financing terms ($0 down, 0% APR, $X monthly payment) convert faster, reduce CPL but compress margins.
- Local vs. national brand. A local installer targeting 15-mile radius: $28–$40 CPL. A national brand targeting 50-mile radius: $45–$70 CPL because they'll accept higher CPL if close ratio is 8–12%.
- Seasonality. Solar is counter-seasonal to HVAC. Spring and early summer (April–June) drive solar interest (roof visible, weather improving for installation). Fall/winter CPL drops 20% because fewer prospects consider roof work when snow is coming.
Real example: SunFirst Solar in Charlotte, North Carolina (metro 1.4 million) started Facebook ads in March 2025 with a $1,200/month budget. Their initial targeting: 35-mile radius, homes built 1990–2010, household income $75K+. Result: $48 CPL, 25 leads/month, 8 conversions/month, $4,800 average job revenue = $38,400 monthly revenue, minus $1,200 ad spend = 97% margin (on ads). In July, they reduced radius to 20 miles, tightened to homes built 1995–2005, and lifted income to $85K+. CPL dropped to $38, volume fell to 18 leads, but conversions rose to 10 (55% close rate vs. 32% before). They're now running $38 CPL profitably with smaller volume.
Solar CPL variance is wider than any other trade because targeting sophistication (home value, age, financing readiness) has outsized impact. Two solar companies in the same city can see $25 vs. $55 CPL depending on targeting precision alone.
Roofing: $10–$20 CPL (Storm Season Volatility)
Roofing CPL ranges $10–$20 per lead but swings wildly based on hail, windstorm, or seasonal demand in your region. A roofer in a stable-weather area (like Southern California) stays around $12–$16 year-round. A roofer in a hail belt (Colorado, Oklahoma, Texas) sees $8–$12 CPL immediately after a storm, then $15–$22 CPL during calm periods as competition drops.
Storm season changes everything. In May 2024, a hailstorm hit Denver, Colorado. Every roofing company in the metro launched Facebook ads. Within a week, CPL climbed from $12 to $28 as 150+ roofers competed for homeowners with hail damage. By August, once claims processed and roofing jobs were booked, competition fell and CPL dropped to $14. Roofers who didn't adjust budget during the peak spent inefficiently; those who paused or shifted to retargeting existing lead quality improved.
The breakdown by season:
- Spring (March–May): $12–$18 CPL. Homeowners inspect roofs after winter damage; gutter cleaning and minor repairs. High-intent leads but moderate volume.
- Storm season post-event (varies by region): $8–$14 CPL. High-volume, insurance-driven leads. Close rates are high (70%+), but CPL is temporarily low because supply of leads exceeds demand.
- Summer off-season (June–August): $15–$22 CPL. Fewer leads, more competition from high-volume installers. Selective roofing companies go dormant, inflating CPL for those who stay active.
- Fall/winter (Sept–Feb): $12–$18 CPL. Steady maintenance-driven work; moderate competition.
Real example: Apex Roofing in Oklahoma City (metro 1.4 million) budgeted $600/month for Facebook ads. From January–April, $14 CPL, 43 leads/month. May 2025: hailstorm hits 5-county area. Apex increased budget to $1,500/month, got $9 CPL, 167 leads in the month—volume they couldn't service. They couldn't hire fast enough. By July, budget back to $600/month, CPL was $19. They learned: post-storm, increase budget only if you can handle 3–4x volume immediately. Next year, they'll plan surge staffing before storm season.
Roofing's unique challenge is feast-famine CPL volatility. National averages ($10–$20) hide the regional and seasonal reality. Know your local storm patterns and adjust accordingly.
Other Trades: Electricians, Landscapers, Painters
Beyond the big four, CPL ranges vary significantly by trade and region:
- Electricians: $8–$16 CPL. Emergency calls (no power) trend toward $8–$11; routine work (outlet, breaker, rewiring) $12–$16. Similar to HVAC in seasonality and intent.
- Landscapers: $3–$7 CPL (lowest of all trades). Low intent, high volume, small job values. Seasonal (spring/summer $3–$5, fall/winter $6–$8). Large audience, low urgency, cheap clicks.
- Painters: $6–$14 CPL. Interior painting (lower urgency, off-season in winter) $6–$9. Exterior painting (seasonal spring/fall) $10–$14. Small niche in each market = low competition = lower CPL than HVAC.
- Pest control: $5–$11 CPL. Recurring revenue (monthly/quarterly treatments) drives favorable unit economics even at $11 CPL. Spring (when pests emerge) $5–$7; fall $8–$11.
- Tree service: $7–$15 CPL. Storm cleanup (emergency, urgent) $7–$10; routine trimming (seasonal) $12–$15. Similar to roofing's post-storm dynamics.
The pattern: low perceived urgency = low CPL. Landscaping is cheap because a homeowner doesn't need a lawn mowed this week. Plumbing is cheap because a burst pipe drives immediate action. Solar is expensive because the decision is consultative and financing-dependent.
Regional CPL Variation: Why Your Benchmark Differs
A $40 CPL for plumbing is disastrous in Des Moines but reasonable in New York City. Region moves CPL by 40–80% even within the same trade.
Major metro factor: Large metros (NYC, LA, SF, Chicago, Dallas, Miami, Atlanta) run 2–3x higher CPL than mid-size metros (Columbus, Austin, Denver, Phoenix), which run 30–50% higher than small metros (Des Moines, Boise, Buffalo) or rural areas.
Why?
- Audience density: NYC has 20 million people in metro; Des Moines has 700,000. Larger audiences = more advertisers = higher CPL.
- Business density: NYC has 500+ HVAC companies; Des Moines has 50. More competition = higher CPL.
- Real estate values and job size: NYC HVAC jobs average $2,500; Des Moines average $900. NYC jobs sustain higher CPL because profit margin is proportionally larger.
- Cost of living: Facebook's algorithm prices ads based on platform-wide CPM (cost per thousand impressions). High-income areas command higher CPM because advertisers there have higher budgets and better conversion rates, making higher CPM sustainable.
Real regional examples:
- Roofing in suburban Indianapolis (metro 900K): $10–$13 CPL. Moderate competition, smaller average roof jobs ($4,500–$7,000).
- Roofing in Houston (metro 7.2M): $14–$18 CPL. High competition, large homes, expensive jobs ($10,000–$18,000).
- Roofing in rural Kansas: $6–$9 CPL. Few competitors, small jobs ($3,000–$5,000).
The rule: benchmark against contractors in your metro, not national averages. If three local plumbers report $9–$11 CPL in your city, that's your target; national $5–$12 average is noise.
Job Value and Profitability: When CPL Matters
CPL is meaningless without context—context is job value. A $15 CPL for a $200 job is a loss; $15 CPL for a $2,000 job is profit.
The rule of thumb: Cost per lead should not exceed 5–10% of average job value.
Examples:
- Plumbing, $800 average job: Target CPL $40–$80 (5–10% of job value). At $12 CPL (top of range), one lead only costs 1.5% of job value = excellent ROI.
- Landscaping, $300 average job: Target CPL $15–$30. At $5 CPL, you're only 1.7% of job value, even better.
- Solar, $15,000 average job: Target CPL $750–$1,500. At $50 CPL, you're 0.3% of job value. Even at $200 CPL, you're breakeven on one lead, so national solar companies can sustain $60+ CPL because close rates justify it.
If your CPL is at or above the 10% ceiling, your business model must offset with volume, higher close rate, or higher average ticket. A painter with $600 average jobs and $15 CPL (2.5% of job value) needs to close 3 in 20 leads (15% close rate) to break even on ad spend alone.
Most contractors underestimate job value when evaluating CPL. They think
