Roofing Companies · Cost-Per-Lead Benchmarks

What a roofing lead should actually cost.

Every channel salesman will tell you their leads are cheap. None of them will show you the math on cost per signed contract. Here's the real comparison, channel by channel, with the arithmetic laid bare.

✦ Wrong question

"What's your cost per lead" is the wrong question.

Cost per lead tells you what you paid to get a phone number. It tells you nothing about what that phone number turned into. A roofing company we audited last year was proud of $45 leads from an aggregator — until we ran the math and found they were closing 8% of them, versus 35% on their $180 Google Ads leads. The "cheap" channel was actually their most expensive one per signed job.

The metric that actually predicts profit is cost per signed contract: total spend on a channel divided by the number of jobs it closed, not the number of leads it produced. Run every channel through that filter before you decide where next month's budget goes.

Formula: (spend ÷ leads) ÷ close rate = true cost per signed job. Compare that number across channels, not the sticker price per lead.

✦ Channel comparison

Cost per lead vs. cost per signed job, by channel.

ChannelTypical cost per leadTypical close rateTrue cost per signed job
Google Ads (search)$80–$25030–40%$350–$700
Google Local Service Ads$25–$9020–30%$150–$350
Facebook / Meta lead ads$30–$1008–15%$400–$900
Shared lead aggregators$25–$605–12%$500–$1,000+
Exclusive lead vendors$150–$35025–35%$500–$1,100
Referral / review-driven$50–$150 (program cost)45–60%$150–$300

Referrals win on close rate every time — trust is already built before the call. Most roofers under-invest here because it doesn't feel like "marketing," but the math says otherwise.

✦ Do this math monthly

The unit economics every roofing owner should track.

  • Blended cost per signed job, by channel

    Not blended across all channels — per channel. Averaging hides the one campaign quietly bleeding you dry.

  • Average ticket by lead source

    Google Ads leads and aggregator leads rarely produce the same job size. Track ticket size separately so a 'cheap' channel isn't secretly your lowest-margin one too.

  • Speed-to-lead by channel

    Aggregator and Meta leads decay fastest because homeowners are comparison shopping. Track average callback time by source and you'll usually find your worst-performing channel also has your slowest response time.

  • Cancellation and no-show rate by source

    Some channels produce leads that book appointments and then vanish. That's a hidden cost per lead nobody puts in the sales deck.

  • Payback period per marketing dollar

    With 30-45 day install lead times common in roofing, cash flow matters as much as ROI. Know how many days pass between ad spend and cash in hand for each channel.

✦ Related

Fix the channel, then fix the volume.

If Google Ads is your best cost-per-signed-job channel, read our full Google Ads build for roofing companies to see how to scale it without the cost creeping up. And if hail season is your biggest volume swing, see how to capture storm damage leads without door knocking.

✦ FAQ

Roofing cost-per-lead questions

Why do lead aggregators look cheap but perform worse than they should?
Because the sticker price isn't the real price. A $40 aggregator lead sold to five other roofers effectively costs you $200 once you factor in your close rate against four competitors calling the same homeowner within the hour. Exclusive leads from any channel almost always beat cheap shared leads on a per-signed-job basis.
Is a $500 cost per lead ever acceptable for a roofing company?
Yes, if the job it produces is worth $15,000 and you close 40% of qualified appointments. Cost per lead means nothing without ticket size and close rate sitting next to it. We've seen roofers panic over a $300 lead that produced an $18,000 full-tear-off job and walk away happy from a $60 lead that never converted.
How do referrals fit into a cost-per-lead comparison if they're 'free'?
They're not free — they're just paid for differently, usually through review-generation software, thank-you gifts, or a formal referral bonus program. Budget $50-150 per referred lead in real spend and you'll generate meaningfully more of them instead of hoping happy customers remember to mention you.
Where should a roofer put the next marketing dollar if every channel is maxed?
Test the channel with the lowest cost per signed contract first, not the lowest cost per lead — they're rarely the same channel. Most roofing companies find that scaling their Google Ads program past the point they assumed it was maxed out still produces cheaper contracts than a second lead aggregator subscription.
✦ Free teardown

20 minutes. Zero pitch.

Send us your lead sources and close rates and we'll tell you which channel is quietly your most expensive one.