Skip to main content

Is Buying Roofing Leads Profitable? A Contractor's Real Numbers Analysis

Emily Crawford, Home Maintenance Editor··32 min readRoofing Lead Generation
On this page

Every roofing owner I talk to has run the same experiment. They wire a few thousand dollars to a lead vendor, the phone rings for two weeks, they close a job or two, and then they sit at the kitchen table trying to figure out whether the whole thing actually made money. The honest answer is usually "I'm not sure," and that uncertainty is the real problem. Buying leads is not inherently good or bad. It is a math question wearing a marketing costume, and most contractors never finish the math.

So let's finish it. I'm going to walk through exactly how purchased roofing leads make or lose money, the cost ranges you should expect in 2026, the conversion rates that separate a profitable program from a slow leak, and the hidden costs that turn a "40% margin" into a break-even afterthought. I'll show you worked examples with real arithmetic, a contribution-margin framework you can run on your own numbers tonight, and the operational habits that decide whether a lead source prints money or burns it. And because I sell a product that competes with buying leads in some situations, I'll be straight with you about where each approach wins.

The short version: buying leads can absolutely be profitable, but it is profitable far less often than vendors imply, and the difference between a program that returns 4-to-1 and one that quietly bleeds you comes down to three things you control: speed of response, the quality tier you buy, and how disciplined you are about killing what doesn't work.

What "buying roofing leads" actually means

Before we touch a single number, we need to be precise, because "roofing leads" covers at least five different products that behave nothing alike.

Shared leads. A homeowner fills out a form on an aggregator site, and that single contact gets sold to three, four, or five contractors simultaneously. You are racing competitors to the phone the moment the lead drops. These are the cheapest and the most common, and they are where most of the "leads don't work" horror stories come from. The lead itself might be real, but you're buying a fraction of an opportunity, not a whole one.

Exclusive leads. The same kind of inquiry, sold to only you. You pay a premium, often 2x to 4x the shared price, for the privilege of being the only call that homeowner gets from that source. Exclusivity solves the race-to-the-phone problem but does not solve intent or timing problems.

Appointment-set leads. The vendor doesn't just hand you a contact; they book a confirmed appointment on your calendar. You pay the most for these, sometimes a few hundred dollars each, and the value hinges entirely on show rate and whether the homeowner actually has a roof problem versus a salesperson who oversold the meeting.

Aged leads. Inquiries that are days, weeks, or months old, sold cheaply because the original buyers couldn't reach or close them. Sometimes a goldmine, usually a graveyard. Conversion is low but so is cost, so the math can still work if your follow-up engine is strong.

Pay-per-call and pay-per-lead from your own channels. Technically you're "buying" these too, just from Google or a marketing agency running ads in your name. I'll touch on these because the economics are different and usually better, but the bulk of what follows is about third-party aggregator leads, because that's what people mean when they ask whether buying leads is worth it.

Why does the distinction matter so much? Because a profitability analysis that lumps a $35 shared lead together with a $300 appointment-set lead is worthless. They have different close rates, different costs, different failure modes, and different break-even points. Anyone who tells you "roofing leads convert at X%" without naming the product type is guessing.

The only formula that answers the question

Profitability of a paid lead source is not a vibe. It is one equation, and every honest analysis lives or dies on it:

Profit per lead = (Close rate x Average gross profit per job) - Cost per lead - Cost to work each lead

Most contractors run only the first two-thirds of that. They know what they paid per lead and roughly what they close, and they multiply by job profit. They forget the last term, the labor and overhead cost of actually working every lead, including the ones that go nowhere. That omission is where "profitable" programs quietly turn into losers.

Let me define each piece so we're using the same dictionary.

  • Close rate is jobs sold divided by leads purchased, not jobs sold divided by people you actually reached. If you buy 100 leads, reach 60, quote 25, and close 8, your close rate for profitability math is 8%, not 32%. The leads you couldn't reach still cost money.
  • Average gross profit per job is revenue minus direct job cost (materials, labor, dump, permits, crew), before your office overhead and marketing. For a typical residential reroof, gross margin runs 25% to 40% depending on market, material, and how tight your buying is. On a $14,000 job at 32% gross margin, that's $4,480 of gross profit.
  • Cost per lead is the obvious one, but include the platform or subscription fees too, not only per-lead charges. A $300/month "membership" spread over 40 leads adds $7.50 to each.
  • Cost to work each lead is the term everyone skips. If a salesperson or CSR spends an average of 35 minutes per lead across calls, texts, drive time, and quoting, and that person costs you $30/hour loaded, that's about $17.50 of labor per lead, charged to every lead whether it closes or not.

Now watch how that last term changes everything.

A worked example: the shared-lead reality check

Let's run a realistic shared-lead program and be ruthless about it.

You buy 100 shared residential leads at $45 each. That's $4,500 out the door.

Line item Value
Leads purchased 100
Cost per lead $45
Total lead spend $4,500
Leads reached (60%) 60
Appointments set (40% of reached) 24
Quotes delivered (90% of appts) 22
Jobs closed (32% of quotes) 7
Close rate (jobs / leads) 7%
Avg job revenue $13,500
Avg gross margin 30%
Gross profit per job $4,050
Gross profit, 7 jobs $28,350

That looks fantastic. $4,500 in, $28,350 in gross profit out. A 6-to-1 return. This is the slide the vendor shows you.

Now add the cost to work the leads. Say each of the 100 leads averages 30 minutes of total human time (more for the ones you reach, near-zero for dead numbers, blended). That's 50 hours. At a loaded $32/hour for your sales and CSR labor, that's $1,600. Add a $400/month platform fee. Add the gas and vehicle cost of 24 appointments at maybe $18 each, $432.

Cost layer Amount
Lead spend $4,500
Labor to work leads $1,600
Platform fee $400
Drive/vehicle cost $432
Total acquisition cost $6,932

Gross profit was $28,350. Subtract the $6,932 all-in acquisition cost and you net $21,418 in contribution margin from this batch, before office overhead. Your true customer acquisition cost is $6,932 / 7 = $990 per closed job, not the $643 the lead spend alone implied.

Still profitable. Genuinely. But notice two things. First, your real CAC was 54% higher than the naive number. Second, the entire program rests on hitting a 7% lead-to-job close rate and a 60% contact rate. Let's see what happens when those slip, because in the real world they slip constantly.

The same program when reality bites

Same 100 leads, same $45 each. But it's storm season, the vendor is overselling capacity, and your contact rate drops to 45% because four other contractors got the same leads and beat you to the phone. Your close-on-quote rate drops to 25% because every quote is now a bidding war.

Funnel stage Optimistic Realistic
Leads reached 60 45
Appointments 24 16
Quotes 22 14
Jobs closed 7 4
Close rate (jobs/leads) 7% 4%

Four jobs at $4,050 gross profit each is $16,200. Your all-in acquisition cost barely moves (you still worked all 100 leads, maybe a touch less drive time): call it $6,500. Contribution margin drops to $9,700, and your CAC jumps to $1,625 per job.

Still positive, but now look at the ratio. You spent $6,500 to make $16,200 gross, a 2.5-to-1 return on acquisition cost. Once you layer in office overhead, owner pay, insurance, software, and the warranty/callback reserve, a 2.5-to-1 gross return on acquisition often lands you near break-even on net profit. And this is the median outcome for shared storm leads, not the disaster case. The disaster case is a 3% close rate and a CAC north of $2,000, which is a money loser on most residential ticket sizes.

This is the core finding of any honest analysis: shared leads are profitable in the optimistic case and break-even-to-losing in the realistic case, and you do not control which case you get on any given batch. That's not an argument against ever buying them. It's an argument for buying them with your eyes open and a kill switch ready.

Benchmark cost ranges you should expect in 2026

Pricing moves with season, market, and storm activity, but here are working ranges I see hold up across most U.S. residential markets. Treat them as a sanity check, not gospel.

Lead type Typical cost each Typical lead-to-job close Notes
Shared residential $25 to $75 3% to 8% Cheapest, most competition, race to the phone
Exclusive residential $80 to $250 8% to 18% You're the only caller; intent still varies
Appointment-set $150 to $400+ 15% to 30% on held appts Watch show rate and qualification
Aged (30 to 90 days) $5 to $20 1% to 4% Volume play; needs strong follow-up
Storm-event surge leads $40 to $120 Highly variable Spikes after hail; quality erodes as vendors scale
Pay-per-call (your brand) $50 to $150 10% to 25% Higher intent; caller chose to dial

A few things to read into this table. Exclusive and appointment-set leads cost more but convert enough better that their cost per acquired job is frequently lower than shared leads, even though the sticker shock is worse. A $45 shared lead at a 4% close rate costs you $1,125 per job in lead spend alone. A $200 exclusive lead at a 14% close rate costs you about $1,430 per job in lead spend. Closer than the sticker prices suggest, and once you add the labor of working three times as many shared leads to get the same jobs, exclusive often wins on true CAC. Counting only the per-lead price is the single most common analytical mistake contractors make.

Aged leads: graveyard or goldmine?

Aged leads deserve their own breakdown because their economics invert everything above. You're buying inquiries that are 30, 60, even 90 days old, contacts that two or three other contractors already failed to reach or close. The price reflects that: $5 to $20 each instead of $45. The close rate reflects it too: 1% to 4% off purchased leads, sometimes lower.

So why would anyone buy them? Volume and follow-up leverage. If you have an automated CRM sequence and a CSR who genuinely works a cadence, aged leads can be the cheapest jobs you'll ever buy, because the contractors who originally bought them gave up after one or two touches. Most purchased leads that eventually close, close on the 3rd to 8th contact, and aged-lead sellers are betting you won't do the work. If you will, you collect the jobs the quitters left on the table.

Run the math. Buy 300 aged leads at $12 each, $3,600. At a 2% close rate that's 6 jobs. At $4,050 gross profit each, $24,300 gross. The catch is the labor: working 300 cold, stale contacts through a multi-touch sequence is real time. If each lead averages 12 minutes of blended human effort across the campaign, that's 60 hours, $1,920 at loaded $32/hour, plus drive time on the appointments. All-in maybe $6,000, true CAC around $1,000 per job. Workable, but only if your follow-up is genuinely automated. Try to work 300 aged leads by hand and the labor cost alone sinks it.

The failure mode is buying aged leads as a hope strategy with no system behind them. You'll make a handful of calls, reach almost no one, get discouraged, and conclude aged leads don't work. They don't work for manual effort. They work for disciplined sequences. Know which camp you're in before you buy.

Pay-per-call and your own paid channels

There's a meaningful difference between renting an aggregator's inquiry and paying Google or Meta to generate an inquiry under your own brand. When a homeowner searches "roof repair near me," clicks your ad, and dials your number, that's a higher-intent contact than a form-fill an aggregator resold five times. The person chose you, chose to call, and chose the moment, three layers of self-qualification a shared lead lacks.

The trade-offs are real, though. You're now paying for clicks whether they convert or not, you need a landing page that converts, and you're competing in an ad auction where costs spike in storm season just like lead prices do. A managed search campaign through an agency typically lands you calls at $50 to $150 each in the form of effective cost-per-lead, and those calls close at 10% to 25% because intent is higher. The big advantage over aggregator leads: you build brand equity and search history that compounds, and the lead is yours alone. The big disadvantage: it takes weeks to tune, and a poorly managed account torches budget fast.

For profitability purposes, treat pay-per-call from your own channels as a separate source with its own true-CAC calculation, and compare it head-to-head with aggregator leads. In most markets I've seen, well-run branded search beats shared aggregator leads on cost per acquired job, mainly because the close rate is so much higher that it overcomes the higher per-lead price.

The hidden costs that eat the margin

If you want a truthful profitability number, you have to charge the program for everything it actually consumes. Here are the costs that don't show up on the vendor invoice but absolutely show up in your bank account.

Speed-to-lead labor. The data on this is brutal and consistent across industries: contacting a web lead within five minutes versus thirty minutes can multiply your odds of reaching and qualifying them many times over. For shared leads, where you're racing competitors, five minutes is the difference between a conversation and a voicemail. Hitting that consistently means someone is on standby during business hours, which is a real staffing cost you must charge to the program.

The no-show and the tire-kicker tax. Not every appointment is a real opportunity. Some homeowners are price-shopping a roof they won't replace for two years. Some filled out the form by accident. Some wanted a free inspection to argue with their insurer. Every one of those still costs you drive time, quote time, and a slot a real prospect could have had.

Callback and warranty reserve. Jobs sold under price pressure to leads who chose you on speed rather than trust tend to generate more callbacks and more friction. Reserve for it.

Brand dilution from shared competition. When a homeowner gets called by five roofers in an hour, the whole category feels spammy. You inherit that distrust before you open your mouth. It's not a line item, but it lengthens your sales cycle and lowers your close rate, which the math above already punishes you for.

Opportunity cost. Every hour your team spends chasing a 4%-close shared lead is an hour not spent on a referral, a past customer, or a self-generated door that closes at 20%+. This is the cost that never appears on any spreadsheet and matters more than all the others combined.

A decision framework: should you buy leads?

Paid leads are a tool, and tools fit some jobs and not others. Run yourself through these questions honestly.

  1. Is your speed-to-lead under five minutes during business hours? If you can't answer the phone or text back fast, do not buy shared leads. You'll pay for opportunities you systematically lose to faster competitors. Fix the operations first or buy exclusive/appointment-set leads where speed matters less.
  2. Do you know your real gross margin per job to the dollar? If you don't, you cannot run the profit-per-lead equation, which means you're flying blind. Nail your job costing before you spend a dollar on leads.
  3. Is your sales process consistent enough to close above 25% on quotes? Paid leads are colder than referrals. If your in-home or on-roof close rate is shaky on warm prospects, it will be ugly on cold ones.
  4. Do you have follow-up infrastructure? Most purchased leads that close, close on the 3rd to 8th touch, not the first. A CRM with automated sequences turns mediocre leads into acceptable ones. No CRM, no business buying aged or shared leads.
  5. Can you afford to lose the first month? There's a learning curve to every vendor and tier. Budget the first 30 to 60 days as tuition, not profit.
  6. Have you saturated your cheaper channels? Referrals, past-customer reactivation, neighborhood canvassing around jobs you're already on, and storm-targeted lists almost always beat purchased leads on CAC. If you haven't maxed those, buying leads is paying retail before you've shopped the clearance rack.

If you answered yes to all six, paid leads can be a profitable accelerant. If you answered no to two or more, buying leads will most likely lose you money, and you'd profit more by fixing the underlying gap.

Where buying leads quietly beats build-it-yourself, and where it loses

Let me be even-handed, because both can be right.

Buying leads wins when you need volume now, you have idle sales capacity, your follow-up and speed-to-lead are genuinely dialed, and you're entering a new market where you have no referral base or brand. It also wins as a stopgap after a slow stretch, when an empty calendar is more expensive than a thin-margin job. A thin job that keeps a crew busy and covers overhead beats an idle crew that covers nothing.

Building your own wins when you have any local reputation, when you're in or near a storm event with damaged roofs you can document, when you have a database of past customers and unsold quotes to reactivate, and whenever you can target which specific roofs are most likely to need work. Self-generated demand converts higher, costs less per job over time, and doesn't evaporate when you stop paying a vendor. The asset you build, a list, a reputation, a route, keeps producing. A purchased lead is consumed the instant you buy it.

That last point about targeting specific roofs is where the conversation usually changes, so let's go there.

A different model: target the roofs, don't rent the inquiries

The deepest problem with buying leads isn't the price. It's that you're paying for self-selection. A purchased lead exists because a homeowner decided to raise their hand. That means you're competing for the small slice of people who already woke up thinking about their roof, usually alongside three other contractors, at the exact moment they're most price-sensitive.

Flip it. Most roofs that need work belong to homeowners who aren't thinking about it yet. The roof is twenty-two years old and the shingles are curling, or a hailstorm wore out a neighborhood last spring and half the houses have bruising the owners never noticed. Those people aren't filling out forms. There's no race to the phone because no one else knows to knock. That's where the margin lives.

This is the model RoofPredict is built around, and I'll be honest about what it does and doesn't do. RoofPredict reads aerial imagery to estimate a roof-age range for individual addresses, then models storm physics per roof, hail energy, wind exposure, the actual forces a given roof absorbed, so you can rank the homes in a territory by how likely they are to be due. Instead of buying a stranger's inquiry, you get a prioritized list of which roofs in your own service area are aging out or storm-worn, and you can enrich your existing CRM or mailing list with those signals.

The honest limits, because you should never trust a vendor who won't state them. Roof age comes back as a range, not an install date, because aerial imagery infers condition and material from above, it can't read a permit. Storm modeling gives you odds, not proof; a high-likelihood roof still needs a human on a ladder to confirm. It does not hand you a homeowner who already wants to talk; it tells you which doors are worth your knock or your mail piece. You still have to do the selling. What it removes is the worst part of cold outreach, the guessing, by pointing your finite hours at the roofs most likely to convert instead of every house on the block.

The economics differ in kind, not merely in degree. A purchased lead is a per-unit cost you pay forever; a targeted list is closer to a fixed input that makes every hour of your existing canvassing, mailing, or door-knocking more productive. When a hailstorm rolls through, the contractors who win aren't the ones who buy the most surge leads at inflated storm-season prices. They're the ones who can see, that afternoon, which streets took the most energy and get crews documenting damage before the out-of-town chasers even arrive. Buying leads makes you a bidder. Targeting roofs makes you first.

That's not an argument that you should never buy a lead. It's an argument that purchased leads should be the expensive supplement to a self-generated core, not the foundation of your pipeline. The contractors who get burned are the ones who built their whole acquisition strategy on renting other people's inquiries.

A blended-portfolio way to think about it

The sharpest operators I know don't pick one channel; they run a portfolio and manage it like one. Picture your acquisition budget as a stack with three tiers. At the base sits the cheapest, highest-converting demand: past-customer reactivation, referrals, and outreach to roofs you can see are due in your own territory. In the middle sits owned paid demand: branded search and pay-per-call, where you control the brand and keep the lead. At the top, the thin layer, sits purchased aggregator leads, the overflow valve you open when the lower tiers can't keep your crews full.

The mistake is inverting the stack, building on purchased leads and treating self-generated demand as a someday project. Inverted stacks have the highest blended CAC and the most fragile pipeline, because the moment you stop paying the vendor, the phone goes quiet. A properly ordered stack has a low blended CAC, a pipeline that survives a budget freeze, and purchased leads doing exactly the job they're good at: smoothing out the gaps. Score each tier on cost per acquired job and durability, fund from the bottom up, and only buy aggregator leads with money the cheaper tiers genuinely can't deploy.

A huge share of "roofing leads" are storm leads, and storm work pulls you straight into insurance territory, where a lot of contractors get themselves in trouble and don't realize it until a complaint lands. Let me draw the line clearly, because it directly affects whether a storm-lead program is even legal in your state, let alone profitable.

Here is what you, as a roofing contractor, are squarely allowed to do. You may inspect a roof. You may document damage thoroughly with photos, measurements, and notes. You may write an accurate, Xactimate-aligned repair estimate for the work you would perform, and you may state facts about your own scope to the carrier. You hand that documentation and estimate to the homeowner. The homeowner files the claim. The insurer decides coverage.

Here is the do-not-say list, and treating it as a compliance checklist will keep you out of unlicensed-public-adjusting trouble:

  • Do not, for a fee, negotiate, adjust, or "handle" the homeowner's claim.
  • Do not interpret the policy or tell the homeowner what their coverage means.
  • Do not promise a specific payout, a specific approval, or that the claim "will go through."
  • Do not promise the deductible will be waived, absorbed, eaten, or made to disappear. That's insurance fraud in most states, full stop.
  • Do not advertise a "free roof."
  • Do not represent the homeowner against their insurer. That's public adjusting, and it requires a license you almost certainly don't have.

A clean documentation packet is the deliverable that makes storm work both legal and profitable, so here's what one actually contains. Overview photos of all four elevations establishing the property. Close-ups of every damaged slope with a tape or chalk square for scale. Soft-metal evidence, dents on vents, gutters, fascia, downspouts, and AC fins, which is some of the most objective wind-and-hail evidence available. Test-square photos showing hit density per 10-by-10 area. Date-stamped images and a measured roof diagram. A written, line-item repair estimate aligned to standard Xactimate pricing for your scope. You hand that packet to the homeowner. They file. The carrier's adjuster decides. You've documented facts about your own work and nothing more, which is exactly where you're allowed to operate.

That packet is also why targeting beats buying in a storm. If you can see which streets absorbed the most hail energy the afternoon a cell passes, you can have crews documenting roofs and producing these packets before the out-of-town chasers arrive, and you're offering homeowners genuine, compliant value, thorough documentation and an honest estimate, rather than the "free roof" bait that gets contractors sanctioned.

Why does this belong in a profitability analysis? Because storm leads sold on the implicit promise of "we'll get your roof covered" are exactly the leads that drag you across that line. A vendor's marketing might bait homeowners with claim-handling language you can't legally deliver, which means those leads convert worse for compliant contractors and expose you to liability when you try to convert them at all. The profitable, durable storm play is the legal one: be the contractor who shows up fast, documents meticulously, writes a clean estimate, and lets the homeowner and insurer do their parts. That's a service worth knocking on a door to offer, and it's one you can deliver to a list of likely-damaged roofs without renting anyone's inquiry.

Running the analysis on your own numbers

Enough hypotheticals. Here's the workflow to determine whether your specific lead source is profitable, using your real data. Do this for every source separately, never blended, because blending hides the loser inside the winner.

  1. Pick one source and one 60-day window. Pull every lead you bought from that one vendor in that window. Don't mix shared and exclusive, don't mix vendors.
  2. Count the denominator honestly. Total leads purchased. Not reached, not qualified. Purchased.
  3. Trace the funnel. Reached, appointment set, quoted, sold. Write down each number. This tells you where the source fails, which matters as much as whether it's profitable.
  4. Sum total spend. Per-lead charges plus platform/membership fees for the window.
  5. Estimate work cost. Average minutes per lead across your team times loaded hourly rate times number of leads. Be generous; underestimating this is how you fool yourself.
  6. Add drive and quote cost. Appointments times average vehicle-plus-time cost per appointment.
  7. Compute true CAC. (Total spend + work cost + drive cost) divided by jobs sold.
  8. Compare CAC to gross profit per job. If CAC is under ~20% of your gross profit per job, you have a strong source. Between 20% and 40%, it's workable but watch it. Above 40%, it's at best break-even after overhead and should be fixed or cut.
  9. Compute payback in jobs. How many jobs from this source does it take to cover its own monthly cost? If you can't cover the program cost with the first job or two of the month, the program is fragile.
  10. Decide and document. Keep, tune, or kill. Then re-run in 60 days, because lead quality drifts, especially seasonally.

Let me show the CAC-to-gross-profit ratio at work, because it's the single cleanest profitability signal you can compute.

Source True CAC Gross profit/job CAC as % of GP Verdict
Exclusive vendor A $720 $4,500 16% Strong, scale it
Appointment-set vendor B $1,150 $4,500 26% Workable, monitor
Shared vendor C $1,900 $4,500 42% Break-even, fix or cut
Aged-lead vendor D $2,400 $4,500 53% Loser, kill

The contractor running these four sources blended together would see an "okay" average and keep all four. Run separately, the picture is obvious: pour budget into A, keep B on a leash, give C 30 days to improve speed-to-lead or cut it, and kill D today. That clarity is the entire payoff of doing the analysis properly.

Seasonality and how lead quality drifts

A profitability number is a snapshot, and the picture moves with the calendar. Ignore seasonality and you'll draw the wrong conclusion from a perfectly good month.

In the slow season, lead volume from aggregators drops and so does competition for each lead, so your contact and close rates often rise even though fewer homeowners are shopping. Per-lead prices can soften. The leads that do come in tend to be people with a real, present problem rather than tire-kickers, because nobody shops for a roof in February for fun. A source that looks mediocre in July can look strong in January.

In storm season, the opposite happens, and it catches people every year. Demand spikes, every contractor floods the vendors with orders, and the aggregators scale supply to meet it, which means quality erodes. The same vendor that sold you tight leads in spring is now reselling each one to more buyers, padding volume with lower-intent inquiries, and charging more for the privilege. Your contact rate falls because five contractors are racing the same phone, and your close rate falls because every quote is a bidding war. So your worst per-job economics often arrive in the exact month you're buying the most leads. That's why a self-generated, target-the-roofs storm strategy matters so much: it's counter-cyclical to the price-and-quality squeeze that hits purchased leads when everyone needs them.

The practical rule: re-run your source analysis every 60 days and compare like seasons to like seasons. Don't kill a winter winner because it looked weak during a summer hail surge, and don't over-invest in a source that only looked great because the off-season thinned the competition. Judge each source against its own seasonal baseline.

A 30-60-90 plan for testing a new lead source

If you're going to buy leads, test like a scientist, not a gambler. Here's a disciplined rollout that limits your downside and gives you real data instead of a gut feel.

Days 1 to 30: controlled pilot. Buy the smallest volume the vendor allows that still gives a statistically meaningful sample, usually 30 to 50 leads. Pick one tier; don't test shared and exclusive simultaneously. Set up your speed-to-lead so every lead gets a call and a text within five minutes during business hours. Log every lead in your CRM with source tagged. Treat this month as tuition, not profit, and do not judge the source on revenue yet; judge it on contact rate and appointment rate, the leading indicators.

Days 31 to 60: tune and measure. Now you have a funnel. Find the weakest stage. Low contact rate means a speed or staffing problem, fix it before blaming the vendor. Good contact but low appointment rate means a qualification or phone-script problem. Good appointments but low close means a sales-process problem the leads merely exposed. Make one change at a time so you know what moved the number. Compute your first real true-CAC figure at day 60.

Days 61 to 90: decide and scale or cut. With two months of data, compare true CAC to gross profit per job. Under 20%, scale the spend deliberately and watch whether quality holds as volume rises (it often degrades, vendors save their best leads for small accounts). Between 20% and 40%, keep it lean and keep tuning. Above 40% with no improvement trend, cut it cleanly and redeploy the budget to a lower tier of your acquisition stack. Document the decision and the numbers so next year's you doesn't repeat this year's experiment from scratch.

This cadence does two things. It caps your losses during the inevitable learning curve, and it forces you to separate vendor quality from your own operational gaps, which is the distinction that decides whether any lead source can be profitable for you.

What pros get wrong

After enough of these conversations, the same mistakes repeat. Here are the ones that cost the most.

Blending sources. Covered above, but it's the number-one error. A winning source subsidizes a losing one and you never find the leak.

Counting close rate off reached leads, not purchased leads. "We close 30%!" Sure, of the third you actually reach. Off purchased leads it's 9%, and the economics live on the purchased-lead number.

Ignoring the labor of working dead leads. The 60 you couldn't reach still cost you call attempts and CSR time. Charge for it.

Chasing the cheapest lead. A $25 shared lead at 3% close costs $833 per job in spend before labor. A $150 exclusive at 14% costs about $1,070 per job in spend but converts with a third of the labor and a higher close. Cheap-per-lead is often expensive-per-job.

No kill discipline. Sunk-cost thinking keeps dead vendors alive. "I've spent so much, it has to turn around." It doesn't owe you a comeback. Cut on the data.

Buying leads to avoid sales work. Paid leads don't replace a sales process, they stress-test it. If your follow-up and closing are weak, leads expose that and you'll blame the leads.

Treating storm-season pricing as normal. Lead costs spike and quality erodes right when everyone's buying. Your best storm move is being able to target damaged roofs directly, not bidding up surge leads against chasers.

Forgetting the asset question. Every dollar into purchased leads buys a consumable. Some of those dollars could buy an asset, a reactivated customer list, a referral engine, a targeted territory, that keeps producing after you stop spending.

So, is buying roofing leads profitable?

Here's the straight answer, with no hedging. Buying roofing leads is profitable when, and only when, your true CAC stays comfortably under your gross profit per job after you've charged the program for all of its costs, lead spend, the labor to work every lead, drive time, and platform fees. For well-run contractors buying the right tier with sub-five-minute speed-to-lead and a real follow-up system, that happens, and exclusive or appointment-set leads make it happen far more reliably than shared leads. For everyone else, the median outcome is break-even-to-modest-loss once the hidden costs are honestly counted, and the bottom third of buyers lose money on every batch.

The more useful answer is that the question is slightly wrong. Purchased leads should be a supplement, the thing you turn to when you have idle sales capacity, you're entering a cold market, or your calendar gapped out, not the foundation of your acquisition. The foundation should be demand you generate yourself, because it converts higher, costs less per job, and compounds. The contractors with the healthiest pipelines I've seen don't buy many leads at all. They know which roofs in their territory are due, they show up before anyone's racing them to a form fill, and they treat purchased leads as overflow.

If you want to build that foundation, RoofPredict gives you the roof-age ranges and per-roof storm signals to rank which doors in your area are most likely worth your time, so your own canvassing, mail, and follow-up land on the roofs most likely to be due instead of every house on the block. It won't close the job for you and it deals in ranges and odds, not certainties, but it points your hours where they pay. See whether your territory looks the way you'd expect at roofpredict.com. Then, if you still want to buy leads to fill the gaps, run the profit-per-lead math on every source, separately, every 60 days, and kill what doesn't earn its keep. That discipline, more than any vendor, is what makes lead buying profitable.

FAQ

What is a good cost per roofing lead in 2026?

It depends entirely on the type. Shared residential leads run roughly $25 to $75, exclusive leads $80 to $250, and appointment-set leads $150 to $400 or more. Cost per lead is the wrong number to optimize, though. What matters is cost per acquired job, which factors in close rate and the labor to work every lead. A cheap shared lead with a 3% close rate often costs more per job than a pricier exclusive lead that converts three times better.

What close rate should I expect on purchased roofing leads?

Measured as jobs sold divided by leads purchased (the number that matters for profitability), shared leads typically close at 3% to 8%, exclusive leads at 8% to 18%, and held appointment-set leads at 15% to 30%. If someone quotes you a close rate without naming the lead type, the number is meaningless. And beware close rates calculated off leads you actually reached rather than leads you bought, that inflates the figure two to four times.

Are exclusive leads worth the higher price over shared leads?

Frequently yes, when you compare cost per acquired job rather than cost per lead. A $200 exclusive lead at a 14% close rate costs about $1,430 per job in spend, while a $45 shared lead at a 4% close rate costs $1,125, closer than the sticker prices suggest. Once you add the labor of working three times as many shared leads to land the same jobs, exclusive often wins on true acquisition cost and protects you from the race-to-the-phone problem.

Why do my purchased leads keep going to voicemail?

With shared leads, you are racing several other contractors who bought the same contact. Speed-to-lead is decisive: reaching a web lead within five minutes versus thirty can multiply your odds of connecting many times over. If you cannot consistently respond within minutes during business hours, shared leads will systematically lose to faster competitors, and you should either fix that operationally or buy exclusive or appointment-set leads where speed matters less.

What hidden costs make roofing leads less profitable than they look?

The big one is the labor to work every lead, including the ones you never reach, charged across the whole batch rather than only the closers. Add platform or membership fees, drive and quote time on appointments that do not buy, no-show and tire-kicker time, a callback reserve, and the opportunity cost of hours not spent on higher-converting referrals or self-generated demand. Counting only the per-lead invoice routinely understates true acquisition cost by 40% or more.

How do I calculate the real ROI of a lead source?

Isolate one source over a 60-day window. Compute true acquisition cost as lead spend plus the labor to work all leads plus drive cost plus platform fees, then divide by jobs sold to get true cost per acquired job. Compare that to your gross profit per job. Under about 20% of gross profit is a strong source, 20% to 40% is workable, and above 40% is break-even-to-losing after overhead and should be fixed or cut. Never blend sources, blending hides the loser inside the winner.

Is it better to buy leads or generate my own?

Self-generated demand almost always wins on cost per job and durability because it converts higher and keeps producing after you stop spending, while a purchased lead is consumed the moment you buy it. Buying leads makes sense as a supplement when you have idle sales capacity, you are entering a cold market with no referral base, or your calendar gapped out. The healthiest pipelines treat purchased leads as overflow on top of a self-generated core, not as the foundation.

How does targeting roofs by age and storm exposure compare to buying leads?

Buying a lead means paying for a homeowner who already raised their hand, usually alongside competitors and at peak price-sensitivity. Targeting roofs flips it: most roofs that need work belong to owners not yet thinking about it. Tools like RoofPredict estimate a roof-age range per address and model storm physics per roof so you can rank which homes in your own territory are likely due, then knock or mail before anyone is racing you to a form. It deals in ranges and odds, not certainties, and you still have to sell, but it points your hours at the roofs most likely to convert.

Can I legally buy storm leads that promise to handle insurance claims?

You can buy storm leads, but you cannot deliver claim handling, and leads sold on that promise are risky. As a contractor you may inspect, document damage thoroughly, write an accurate Xactimate-aligned repair estimate for your own scope, and state facts about that scope to the carrier. You may not, for a fee, negotiate or handle the claim, interpret the policy, promise a payout or approval, promise the deductible is waived, advertise a free roof, or represent the homeowner against their insurer. The homeowner files; the insurer decides coverage. Stay on the document-and-estimate side.

When should I cut a lead vendor?

Cut when the true cost per acquired job exceeds roughly 40% of your gross profit per job and a 30-day attempt to fix speed-to-lead, follow-up, or lead tier does not move it. Decide on the data for each source separately, run the numbers every 60 days because lead quality drifts seasonally, and resist sunk-cost thinking. A vendor that has taken a lot of your money does not owe you a comeback, and keeping a loser alive only drains budget from sources that actually earn it.

The Roofline by RoofPredict

Stay Ahead of Roofing Market Changes

Join The Roofline by RoofPredict for weekly roofing intelligence: material price signals, storm demand, insurance and regulatory updates, sales tactics, and local contractor opportunities.

By signing up, you agree to receive The Roofline by RoofPredict. Unsubscribe anytime.

Sources

  1. National Roofing Contractors Associationnrca.net
  2. Insurance Institute for Business & Home Safety (IBHS)ibhs.org
  3. NOAA National Weather Service Storm Prediction Centerspc.noaa.gov
  4. NOAA Storm Events Databasencdc.noaa.gov
  5. OSHA Fall Protection in Residential Constructionosha.gov
  6. U.S. Bureau of Labor Statistics: Roofersbls.gov
  7. U.S. Census Bureau American Housing Surveycensus.gov
  8. International Residential Code (ICC)iccsafe.org
  9. Federal Trade Commission: Advertising and Marketing Basicsftc.gov
  10. Texas Department of Insurance: Public Insurance Adjusterstdi.texas.gov
  11. National Association of Insurance Commissioners (NAIC)naic.org
  12. U.S. Small Business Administration: Marketing and Salessba.gov
  13. FEMA: Hazard Information and Building Sciencefema.gov
  14. RoofPredictroofpredict.com

Related Articles