Skip to main content
Contractor Guides9 min read

What Your Roofing Leads Actually Cost: A Guide to True Cost Per Acquisition

Conveyra Research

You know what you're paying per lead. But do you know what each lead actually costs you by the time you've chased it, quoted it, and either closed it or watched it go to another contractor?

For most roofing contractors, the answer is no. And the gap between what a lead costs on paper and what it costs in reality is where businesses quietly bleed money — especially during storm season, when every lead source is fighting for your marketing budget.

The U.S. Small Business Administration recommends that small businesses allocate 7–8% of gross revenue to marketing. For a roofing company doing $1–3 million in annual revenue, that's $70,000–$240,000 a year in lead generation and marketing costs. The question isn't whether you're spending money on leads — it's whether you're spending it on the right ones.

Here's how to calculate what your leads actually cost, compare sources accurately, and make better decisions about where your money goes.

Cost Per Lead vs. Cost Per Acquisition: The Distinction That Matters

Most lead providers quote you a cost per lead (CPL). A shared lead might cost $25. An exclusive lead might cost $200. On the surface, the shared lead looks cheaper. But CPL is only the sticker price — it tells you nothing about the cost of actually winning the job.

Cost per acquisition (CPA) is the number that matters. It answers: "How much did I spend, in total, to close one paying customer?"

Here's a simplified formula:

CPA = Total lead spend ÷ Number of jobs closed

But even that formula understates the true cost, because "total lead spend" should include more than the sticker price of the leads themselves.

The Hidden Costs Most Contractors Miss

According to the Bureau of Labor Statistics, the median hourly wage for roofers was $23.59 in 2024, while sales and estimating roles in construction command higher rates. Every hour your team spends chasing leads has a real labor cost attached to it. Here's what most contractors aren't tracking:

Time to First Contact

When a lead comes in, someone has to call it. If it's a shared lead, you're racing against other contractors — and the data is clear on what happens when you're slow. The contractor who calls first wins the appointment more often than not. For shared leads, this means your sales team is constantly interrupted by incoming leads that need immediate follow-up.

Quote Appointments

Every lead that converts to an appointment costs you a truck roll, an estimator's time, and the opportunity cost of not being on another job. According to the National Association of Home Builders (NAHB), sales and marketing expenses account for an average of 5.4% of revenue for residential construction firms — but this doesn't capture the indirect cost of time spent quoting jobs that never close.

No-Shows and Dead Leads

Not every lead picks up the phone. Not every appointment leads to a quote. Not every quote closes. Each stage of the funnel has a dropout rate, and every dropout represents money you've already spent. A lead with bad contact information doesn't cost you just the purchase price — it costs you the 3–5 call attempts, the voicemails, the text messages, and the time your sales rep spent tracking a ghost.

Competition Tax

On shared leads, you're not just paying for the lead — you're paying for the privilege of competing against 2–4 other contractors for the same homeowner. Your close rate on a shared lead is structurally lower because the homeowner is getting multiple calls. This means you need more leads to close the same number of jobs, which inflates your true CPA even when the per-lead price looks low.

Administrative Overhead

CRM management, lead routing, follow-up sequences, review requests, pipeline tracking — all of this costs time and often software subscriptions. The U.S. Census Bureau tracks overall construction spending (which exceeded $2.2 trillion annually as of recent data), but the micro-economics of lead management at the individual contractor level add up fast.

Breaking Down Lead Sources by True Cost

Here's how common lead sources compare when you account for the full cost — not just the sticker price.

Referrals and Word of Mouth

Sticker price: $0
Close rate: High (typically the best conversion of any source)
True cost: Low — but volume is limited and unpredictable

Referrals are almost always the highest-ROI lead source. The homeowner already trusts you because someone they trust recommended you. According to the SBA, word-of-mouth remains one of the most effective marketing channels for local service businesses. The catch: you can't scale referrals on demand, and they don't spike when storm season hits.

Google Ads / Pay-Per-Click

Sticker price: Varies widely by market — roofing-related keywords in competitive metros can run $30–80+ per click
Close rate: Moderate (the homeowner searched for a roofer, so intent is there)
True cost: High — clicks don't equal leads, and not all leads are qualified

PPC puts you in front of homeowners who are actively searching. That intent is valuable. But you're paying for every click, whether or not the person fills out a form. And in competitive markets, the cost per click for "roofing contractor near me" has climbed steadily. According to the Federal Trade Commission, businesses should ensure advertising claims are truthful and substantiated — but beyond compliance, the real challenge with PPC is managing the gap between clicks, leads, and closed jobs. If 100 clicks produce 10 leads and you close 2, your true CPA is your total ad spend divided by 2.

Social Media (Facebook, Instagram)

Sticker price: Lower cost per impression than search, but lower intent
Close rate: Lower (the homeowner wasn't searching for a roofer — you interrupted them)
True cost: Moderate — good for awareness and retargeting, expensive as a primary lead source

Social media works well for brand building and retargeting people who've already visited your website. It's less effective as a cold lead source because the homeowner wasn't looking for you when they saw your ad. You're generating demand rather than capturing it, which means longer sales cycles and lower close rates.

Shared Lead Marketplaces

Sticker price: Often the lowest per-lead price
Close rate: Low — you're competing against multiple contractors
True cost: Often higher than it appears

Shared lead services sell the same lead to multiple contractors. The per-lead price is lower because the cost is spread across buyers. But that lower price comes with a structural problem: when 3–5 contractors all call the same homeowner within minutes, the experience is chaotic for the homeowner and the close rate drops for each individual contractor.

Here's the math that trips up most contractors: if a shared lead costs $30 and your close rate on shared leads is 5%, your CPA is $600. If an exclusive lead costs $200 and your close rate is 25%, your CPA is $800 — closer than the 6x sticker price difference suggests. And that $800 CPA doesn't account for the time savings from not chasing 19 leads to close one job. (For a deeper breakdown, see our full comparison of exclusive vs. shared leads.)

Exclusive Lead Providers

Sticker price: Higher per lead
Close rate: Higher — you're the only contractor calling
True cost: Often lower CPA than shared leads despite higher sticker price

Exclusive leads cost more upfront but remove the competition tax. When you're the only contractor calling a homeowner with verified damage, the conversation changes. You're not racing to call first or competing on price against 4 other bids. You're having a one-on-one conversation with someone who needs a roofer.

Industry groups like the National Roofing Contractors Association (NRCA) emphasize that contractor profitability depends not just on revenue per job but on the efficiency of the sales process. Fewer leads with higher close rates often outperform high volume with low conversion — because your team spends less time chasing and more time closing.

Calculating Your Real Numbers

Stop guessing and start tracking. Here's a framework for calculating your true CPA by lead source:

Step 1: Track Every Lead by Source

Tag every incoming lead with its source — referral, Google Ads, Facebook, shared marketplace, exclusive provider. If you can't attribute a lead to a source, you can't calculate CPA accurately.

Step 2: Track Outcomes by Source

For each source, track: leads received, leads contacted, appointments set, quotes given, jobs closed, and revenue generated. This gives you conversion rates at every stage of the funnel.

Step 3: Calculate Full Cost by Source

Your total cost per source isn't just the lead price. Include:

  • Lead purchase cost — the sticker price
  • Labor cost to work the lead — estimator hours × hourly rate (including benefits)
  • Vehicle/travel cost — truck rolls for appointments that don't close
  • Software costs — CRM, call tracking, proposal software, allocated proportionally
  • Ad management costs — if you're paying an agency for PPC or social

Step 4: Divide and Compare

Total cost per source ÷ jobs closed from that source = true CPA. Now you can compare sources on the number that actually matters.

According to the BLS industry profile for specialty trade contractors, the roofing industry operates on relatively thin margins compared to other construction trades. This makes efficient lead spending a direct lever on profitability — every dollar wasted on low-converting leads comes directly from your margin.

Storm Season and Lead Economics

Storm season changes the economics of every lead source. Understanding how is the difference between capitalizing on the busiest months and overspending when demand is highest.

What Happens to Lead Costs During Storm Season

The NOAA National Centers for Environmental Information tracks billion-dollar weather events, and Texas consistently leads the nation in severe convective storm frequency. When a major storm hits:

  • PPC costs spike. Every contractor in the area starts bidding on "hail damage repair" and "storm damage roofer." Cost per click can double or triple in the days after a significant event.
  • Shared lead volume increases — but so does competition. More homeowners need help, but more contractors are buying leads. Close rates can actually drop during peak storm season because the market floods with both supply and demand simultaneously.
  • Referrals slow down paradoxically. During a storm event, homeowners who'd normally ask friends for a roofer recommendation are getting door-knocked by contractors before they even assess their damage. The referral cycle is disrupted.
  • Exclusive leads hold their value. When shared leads are getting hammered by 5 contractors each and PPC costs are spiking, exclusive access to a homeowner with verified damage becomes relatively more valuable — not less.

Planning Your Storm Season Lead Budget

Don't wait until the first storm hits to figure out your lead strategy. Before April:

  • Review your CPA by source from last storm season. If you don't have this data, start tracking now.
  • Set a budget ceiling per source. Know in advance how much you're willing to spend on PPC, shared leads, and exclusive leads per month during peak season.
  • Pre-position for exclusive leads. Exclusive lead providers often allocate territory or capacity in advance. Waiting until after a storm to sign up means you're behind contractors who locked in access ahead of the season.
  • Staff for volume. According to the BLS, employment in roofing peaks during warmer months. Your lead spend is wasted if you don't have the crew capacity to handle the work. Make hiring decisions now, not after the leads start flowing.

The Bottom Line

The cheapest lead isn't the best lead. The best lead is the one that costs you the least to turn into a paying customer. That number — your true cost per acquisition — depends on close rates, time investment, competition, and lead quality, not just the sticker price.

Track your numbers by source. Calculate CPA, not just CPL. And when you're evaluating lead sources for storm season, ask the question that matters: "How much does it cost me to close a job from this source?" The answer might change how you spend every dollar.

Want exclusive, verified leads delivered to your dashboard — no sharing, no bidding wars? See how it works →

Frequently Asked Questions

What's the difference between cost per lead and cost per acquisition?

Cost per lead (CPL) is the sticker price you pay for a lead from any source. Cost per acquisition (CPA) is the total cost to close one paying customer — including lead cost, labor, travel, software, and every other expense involved in working that lead through your sales process. CPA is the metric that actually reflects your lead ROI.

Why are shared leads cheaper per lead but sometimes more expensive per job?

Shared leads have lower sticker prices because the cost is split across multiple buyers. But because 3–5 contractors are all contacting the same homeowner, close rates are lower. When you divide total spend by fewer closed jobs, the cost per acquisition can match or exceed exclusive leads despite the lower per-lead price.

How much should a roofing contractor spend on marketing?

The SBA recommends 7–8% of gross revenue for small business marketing. For a roofing company doing $1–3 million annually, that's roughly $70,000–$240,000 per year across all lead sources and marketing activities. The key is tracking CPA by source so you can shift budget toward what's actually closing jobs.

Do lead costs go up during storm season?

Yes. PPC costs spike as more contractors bid on storm-related keywords. Shared lead marketplaces see higher volume but also more buyer competition, which can lower close rates. Exclusive lead providers may raise prices or allocate capacity in advance. Planning your storm season lead strategy before April helps avoid overpaying during peak demand.

What's a good cost per acquisition for roofing?

It depends on your average job value and target margin. For a residential re-roof averaging $10,000–$30,000 in revenue, many contractors target a CPA that represents 5–10% of the job value. That means a $500–$3,000 CPA range depending on your market and average ticket size. The goal is a CPA that leaves healthy margin after material, labor, and overhead costs.

Get matched with motivated homeowners

Conveyra delivers verified, exclusive homeowner leads to contractors in your area.

Sign Up for Leads