Skip to main content

Average Cost Per Roofing Lead in 2026: What You Actually Pay Per Job (and How to Cut It)

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

Ask ten roofers what they pay for a lead and you will get ten different numbers, ranging from a few dollars for a door-knock conversation to several hundred for an exclusive, phone-verified storm lead. None of those numbers, on their own, tell you whether the lead was worth buying. The price of a lead is the most quoted figure in roofing marketing and the least useful one to manage your business by.

The number that pays your crews is cost per signed job. A $90 lead that closes at 12% costs you $750 in lead spend per job before you account for the appointment that no-showed, the estimate that ghosted, and the canvasser you paid to stand on a porch. A $25 lead that closes at 4% costs you $625 per job by the same math, and feels cheaper while quietly being almost the same. Until you can walk the chain from lead price to appointment rate to close rate to true acquisition cost, you are buying leads on vibes.

What follows is the real range of lead costs by channel for 2026, the arithmetic that converts any lead price into a cost per job you can compare across channels, the honest tradeoffs between shared and exclusive leads, and a field-tested playbook for driving the number down. The goal is not to find the cheapest lead. It is to find the lowest cost per profitable roof, which is a different and far more valuable target.

What a Roofing Lead Actually Is (and Why the Definition Decides the Price)

Before any number means anything, you have to agree on what you are counting. The word lead gets stretched across at least five very different things, and contractors routinely compare the price of one type against the close rate of another. That mismatch is the single most common reason a marketing channel looks broken when it is actually fine, or looks great right up until it bankrupts a sales rep's pipeline.

Here is the spectrum, from rawest to most qualified:

  • A raw contact. A name and a phone number from a list, a form, or a scraped source. The person may not know your company exists and may not need a roof. This is barely a lead; it is a calling assignment.
  • An inquiry. Someone who raised a hand: filled out a form, clicked a call button, replied to a mailer. Intent exists but is unverified. A large share are tire-kickers, renters who cannot authorize work, or people pricing an insurance claim they will never file.
  • A qualified lead. An inquiry you have screened for the basics: homeowner, roof age or visible damage, in your service area, willing to take an appointment. This is the level most honest lead sellers mean when they say "lead."
  • An appointment. A qualified lead with a confirmed time on a rep's calendar. Some vendors sell these directly and price them at a steep premium because they have absorbed the no-show risk.
  • A scheduled inspection on a roof you already know is a candidate. The most valuable kind, because the targeting work is done before anyone knocks. This is where roof-age and storm-exposure data changes the economics, and we will come back to it.

The price gap between a raw contact and a confirmed appointment can be 50x. So when you read that the "average cost per roofing lead" is some tidy figure, your first question is always: a lead at which stage? A blended average across all five is statistical noise.

The two cost questions that actually matter

There are only two questions worth obsessing over:

  1. What does it cost to generate or buy one lead at a defined quality level? (Cost per lead, CPL.)
  2. What does it cost, all in, to turn leads into one signed and built job? (Customer acquisition cost, CAC, or cost per job.)

CPL is an input. CAC is the outcome. A channel can have an attractive CPL and a terrible CAC, and the only way to tell is to track the funnel all the way down. Most roofers track the top (what they paid) and the bottom (what they sold) and leave the middle dark, which is exactly where the money leaks.

Think of it this way. CPL is the price of a ticket. CAC is the price of a seat at the table once you account for everyone who bought a ticket and never showed up. You can buy a hundred cheap tickets and seat almost nobody, or fewer expensive tickets and fill the room. The smart operator does not brag about ticket price; they measure how many seats they filled and what each one was worth.

Average Cost Per Roofing Lead by Channel in 2026

With definitions pinned down, here is the realistic range by channel for 2026. These are working ranges drawn from how the channels behave, not a single magic average, because a single average would be a lie. Costs swing hard with your market's competitiveness, whether a recent storm has flooded or starved the area, your service radius, and how qualified the lead is when it reaches you.

Read these as cost per qualified lead unless noted, because that is the only level at which cross-channel comparison is honest.

Channel Typical cost per qualified lead Exclusivity Intent quality Speed to volume
Door-to-door canvassing Low cash CPL, high labor cost Exclusive High (you saw the roof) Slow, weather-bound
Referrals & past customers Lowest true cost Exclusive Highest Slow, finite
Local SEO / organic Low after ramp, high upfront Exclusive High Very slow (months)
Google Local Services Ads Mid Exclusive-ish (you compete on response) High Fast
Google Search / PPC Mid to high Exclusive High Fast
Paid social (Meta) Low to mid CPL, lower intent Exclusive Low to mid Fast
Shared lead marketplaces Low to mid per lead Shared (3-5 buyers) Mid, decaying Instant
Exclusive purchased leads High Exclusive Mid to high Fast
Purchased appointments Highest per unit Exclusive High Fast
Direct mail Mid CPL Exclusive Mid Medium
Storm-targeted canvassing with roof data Low cash, focused labor Exclusive Very high Fast post-storm

A few of these deserve a closer look, because the headline number hides the real economics.

Door-to-door canvassing

The cash cost per knock is trivial. The real cost is labor and opportunity. If you pay a canvasser for a shift and they generate a handful of inspections, your true CPL is the loaded hourly cost divided by qualified conversations, and that can land anywhere depending on hit rate. The lever that swings canvassing economics more than any other is which streets you knock. Knock a random subdivision and you burn a day for two inspections. Knock the right roofs and the same shift produces a calendar full of appointments. The doors are free; the targeting is everything.

Shared lead marketplaces

The per-lead price looks friendly, which is the point. The catch is in the word shared. The same homeowner inquiry is sold to several contractors at once, sometimes within seconds of each other. Your effective cost per job is the lead price divided by your share of a close rate that is already being split among competitors racing to call first. A cheap shared lead with a 3% close rate after the dust settles is not cheap. Speed-to-lead is not a nice-to-have here; it is the whole game, and even then you are paying to fight over the same person.

Exclusive purchased leads and appointments

You pay more per unit and you should, because nobody else is calling that homeowner. The honest question is whether the vendor's definition of exclusive and qualified matches yours. "Exclusive" sometimes means exclusive to you but resold next month, or exclusive but generated from a generic "get a free roof estimate" ad that pulls in unqualified clicks. Always ask how the lead was generated, not only whether it is exclusive.

Local Services Ads and the Google ecosystem

Google's Local Services Ads charge per lead (a call or message) rather than per click, and the Google Guaranteed badge gives them prominence. They tend to deliver high-intent contacts because the searcher was actively looking. PPC search sits beside them, charging per click, with cost driven up in saturated metros and after storms when every roofer in town bids on the same hail keywords. Both are exclusive in the sense that the lead is yours, but you compete on response time and reputation to win the booking.

The quiet trap with Google Search PPC is the gap between cost per click and cost per qualified lead. A click is not a lead. If your landing page is weak, your form is long, or your phone goes to voicemail, you pay for the click and never get the lead. So the per-click price a competitor brags about is meaningless until you divide it by your click-to-lead conversion rate. A reasonable click price with a poor landing page can produce a worse cost per qualified lead than a higher click price feeding a page that actually converts. The fix is usually on your side of the transaction, not in the bid.

Meta and other social platforms produce cheap clicks and cheap form-fills, which is why the cost per lead looks attractive. The catch is intent. A homeowner scrolling a feed who taps a roofing ad is not actively shopping for a roof the way a searcher is; you interrupted them. That lowers downstream rates across the board. Social leads can work for top-of-funnel awareness and for storm campaigns where you target affected areas, but treat the low CPL with suspicion and judge the channel only on cost per job. Many roofers fall in love with the cheap lead price here and never notice the close rate quietly sinking the channel's true economics.

Direct mail and the timing lever

Direct mail has a real per-piece and per-lead cost, and its response rates are modest, but it has one underrated property: you control exactly who receives it. Mail to a list of homes in an age bracket, or to the footprint of a recent storm, and the response carries higher intent than a blind blast. The cost per lead on poorly targeted mail is brutal; the cost per lead on tightly targeted mail to candidate roofs can rival much flashier channels. As with canvassing, the list is the lever, not the postage.

From Lead Cost to Cost Per Job: The Math That Actually Runs Your Business

This is the section to print and tape to the wall. Cost per lead is the number on the invoice. Cost per job is the number that determines whether you are running a business or a charity for lead vendors.

The core formula:

Cost per job = (Cost per lead) ÷ (Lead-to-job conversion rate)

But the conversion rate is not one number. It is a chain of rates multiplied together, and each link leaks:

Lead-to-job rate = (Contact rate) × (Appointment rate) × (Inspection/show rate) × (Close rate)

Spell that out and the leaks become visible. Say you buy 100 leads:

  • Contact rate 70% → you actually reach 70 of them.
  • Appointment rate 50% → 35 agree to an inspection.
  • Show rate 80% → 28 inspections actually happen.
  • Close rate 35% → about 10 signed jobs.

So 100 leads became roughly 10 jobs, a 10% lead-to-job rate. At a $90 lead price, that is $9,000 in lead spend for 10 jobs, or $900 per job in lead cost alone, before you add the canvasser, the sales rep's drive time, the CRM, and the estimate software.

Now watch what one improved link does. Push the contact rate from 70% to 85% by calling within five minutes instead of five hours, and hold everything else constant:

  • 85 contacted → 42 appointments → 34 inspections → about 12 jobs.
  • $9,000 ÷ 12 = $750 per job.

You did not negotiate a cheaper lead. You answered the phone faster. That single behavioral change cut cost per job by 17%. This is why operators who understand the chain spend their energy on the middle of the funnel, where small percentage gains compound, instead of haggling over the lead price at the top.

A worked comparison: cheap-and-weak vs. pricey-and-strong

Put two channels side by side using the full chain. Same 100 leads each.

Step Channel A: shared lead Channel B: roof-data canvassing
Cost per lead $25 $0 cash + labor (call it $60 loaded per qualified conversation)
Contact rate 90% (you have the number) 100% (you are on the porch)
Appointment rate 25% (4 buyers competing) 55% (you saw their roof)
Show rate 70% 90% (set on the spot)
Close rate 20% 40% (visible, relevant problem)
Jobs from 100 ~3 ~20
Lead spend $2,500 $6,000
Cost per job ~$833 ~$300

The shared lead looked nine times cheaper per unit and ended up nearly three times more expensive per job. The expensive-looking channel won because every link in its chain was stronger, and the links multiply. This is the entire argument for spending on targeting and qualification rather than on raw lead volume. Cheap leads are cheap because the chain that follows them is weak.

Don't stop at cost per job. Get to cost per profitable job.

One more layer separates good operators from great ones: every job is not equal. A retail reroof, an insurance-restoration job, and a small repair carry wildly different margins and cycle times. If a channel produces a flood of low-margin repairs, a low cost per job can still mean a high cost per dollar of gross profit, which is the figure that actually feeds the company.

Track cost per job by job type and by channel. You will usually find that two or three channels produce most of your profitable work and the rest produce motion. Kill the motion, even when its cost per lead looks attractive on a spreadsheet.

A simple way to put this on paper: for each channel, write three columns next to cost per job. Average gross profit per job from that channel, average sales cycle length, and crew-day intensity. A channel that produces $1,200 cost per job on work that nets $9,000 gross profit and closes in two weeks is a far better buy than a channel with a $600 cost per job on repairs that net $1,400 and tie up a rep for the same number of touches. Headline cost per job would have ranked these backwards. Gross profit per acquisition dollar is the tiebreaker that keeps you honest.

Why the chain multiplies (and why that is good news)

It is worth sitting with the arithmetic of multiplication for a second, because it explains where to spend your attention. Four rates of 80% multiply to roughly 41%. Push each of those four to 90% and you get 66%, a 60% improvement in throughput from a 12.5% improvement in each link. The same lead spend now produces 60% more jobs. This is why grinding on lead price (a single number at the very top) is a losing strategy compared with lifting several conversion links at once (numbers that compound). Two channels can have identical lead prices and a 3x difference in cost per job purely because one has stronger links downstream. Your operational discipline, not the lead vendor, owns most of that gap.

The Benchmarks Worth Tracking (and Realistic 2026 Ranges)

Vendors love to quote you their CPL. Build your own scorecard around the metrics that actually decide profitability, and review them monthly by channel. Here are the ones that matter and the ranges healthy roofing operations tend to live in. Treat ranges as orientation, not promises; your market and your discipline move them.

  • Cost per lead (CPL): wide by channel, as above. Useful only when paired with the rest.
  • Lead-to-appointment rate: healthy operations often land in the 25-50% band on qualified leads. Below 20% means your leads are weak or your speed-to-lead is broken.
  • Appointment show rate: aim for 75%+ with confirmation calls and texts. Below 60% and you are burning rep time.
  • Close rate on inspections: retail roofing commonly runs 25-40%; well-run storm-restoration teams can run higher when damage is visible and relevant.
  • Customer acquisition cost (CAC) / cost per job: the number to drive down. Compare it to gross profit per job, not to revenue.
  • CAC-to-margin ratio: spend should be a sane fraction of gross profit per job. If acquiring a job eats a large slice of its margin, the channel is a treadmill.
  • Speed-to-lead: minutes, not hours. The drop-off in contact rate after the first few minutes is steep and well documented across service industries.

The discipline of writing these down by channel, every month, is itself a competitive advantage. Most roofing companies cannot tell you their close rate by lead source. The ones that can quietly outcompete them on the same lead spend.

How seasonality and storms warp every benchmark

None of these ranges hold still across a year. Roofing demand is seasonal and storm-driven, and both forces move your costs in ways a flat annual average hides. In a calm spring with no significant weather, hand-raisers are scarce, every roofer is bidding for the same thin pool, and purchased-lead prices climb while close rates soften because homeowners are price-shopping a discretionary reroof. After a damaging hail or wind event, the picture inverts: demand spikes, intent is high because homeowners can see missing shingles, and the constraint shifts from finding leads to having the crew capacity and the targeting to reach the right roofs before competitors do.

The practical consequence is that you should benchmark yourself against your own trailing performance in comparable conditions, not against a generic industry number. A cost per job that is excellent in a flooded post-storm market may be mediocre, and a cost per job that looks high in a dead off-season may actually be strong. Tag every month of your tracking data with the market condition so your comparisons are apples to apples. This is also why a storm-targeting capability earns the most in exactly the window when leads are most contested: it lets you spend your capacity on the roofs most likely to be affected instead of canvassing the whole impact zone and hoping.

A quick gut-check formula for any lead price

Before you say yes to any lead source, run this back-of-napkin test. Take the lead price, divide by your realistic expected lead-to-job rate for that source, and compare the result to your gross profit per job. If the cost per job comes out above a comfortable fraction of gross profit, the channel is a treadmill no matter how cheap the lead looked. Do this before you sign up, using conservative conversion estimates, and you will reject most of the deals that would have quietly eroded your margin. The vendors who are confident in their lead quality will happily talk in cost-per-job terms; the ones who only want to talk about cost per lead are telling you something.

Shared vs. Exclusive Leads: The Tradeoff, Honestly

This debate generates more heat than light, so here is the sober version.

Shared leads are cheaper per unit because the cost of generating the inquiry is split across several buyers. You are buying a fraction of a homeowner's attention and racing competitors to claim it. They can work if, and only if, you have a machine for instant response and a script tuned for "I've already talked to two other roofers." Most companies that complain shared leads are garbage are actually losing the speed race, not buying bad leads. But the structure is genuinely harder: even a perfect operator splits the close.

Exclusive leads cost more because you absorb the full generation cost and nobody else is in the conversation. Your close rate is your own to win. The risk shifts from competition to quality: an exclusive lead from a misleading ad is exclusive garbage. Vet the source.

A practical rule: shared leads can be a fill-in for a hungry, fast-response team with spare capacity, priced so that even a low split close rate clears your margin target. Exclusive leads and your own generated demand should be the backbone. Building your own demand (SEO, referrals, reputation, targeted canvassing) is the only path to a CAC that drops over time instead of rising with every competitor who joins the auction.

The auction problem nobody mentions

Every purchased-lead channel is an auction, and auctions trend toward the price where the marginal buyer barely breaks even. As more roofers crowd a market, the cost per lead rises and your edge erodes, because you are all bidding for the same finite pool of hand-raisers. The only durable escape is to generate demand competitors cannot bid on: people who come to you by name, and roofs you identify before the homeowner has even thought about calling anyone. That second path is where targeting data rewrites the math.

Targeting Before You Spend: How Roof-Level Data Lowers Your True Cost

Here is the part most cost-per-lead conversations miss entirely. Every channel above accepts the homeowner's timing. You wait for them to raise a hand, then pay to be the one who answers. The most expensive assumption in roofing marketing is that you must wait for intent and compete for it.

There is another order of operations: figure out which roofs are due first, then spend your canvassing and marketing dollars only on those addresses. When you know before you knock that a roof is aging out of its service life, or that a specific storm did real damage to a specific block, you stop paying to talk to people who do not need you. Your appointment rate, show rate, and close rate all climb at once, and because those links multiply, the effect on cost per job is large rather than marginal.

This is the problem RoofPredict is built for. It looks at aerial imagery to estimate a roof's age as a range (not an exact install date, because imagery cannot give you that honestly) and models storm exposure per individual roof rather than per ZIP code or per storm cell. The output is a ranked list of addresses: which roofs are likely due from age, and which roofs a recent storm most likely wore out. You point your crews at the doors that are actually candidates instead of canvassing whole subdivisions blind.

What that does to the cost math is direct. Go back to the canvassing column in the worked comparison above. The reason roof-data canvassing posted a $300 cost per job was not magic; it was that every conversation started with a roof that was a real candidate, so appointment, show, and close rates were all higher. RoofPredict is a way to get that targeting without sending a person to eyeball every street first. Instead of paying labor to discover which roofs are old, you start the day with the list and spend the labor on the conversations that convert.

A grounded way to use it:

  1. Pull the ranked candidate addresses for a target neighborhood, filtered by roof-age range and, after a storm, by modeled exposure.
  2. Route canvassers or set appointments against the top of that list, not the whole map.
  3. Time storm-restoration knocks to roofs the model flags as most likely affected, while documenting actual conditions on site.
  4. Feed close-rate-by-source back in so you learn which slices of the list convert best in your market.

Now the honest limits, because the targeting is a probability tool, not a crystal ball:

  • Roof age is a range, not a date. Imagery-based age is an informed estimate with a band of uncertainty. Treat it as a strong prioritization signal, not a birth certificate. The roof still has to be inspected.
  • A storm model is odds, not proof. Modeling that a storm likely damaged a roof is a reason to knock and inspect, not evidence of damage. The actual condition is established on the roof, by your crew, with your documentation. Nobody can promise a claim outcome from a model, and you should never imply otherwise to a homeowner.
  • It ranks doors; it does not close them. The data gets your foot in front of the right doors. Your inspection, your documentation of conditions and estimate, and your sales process still do the work. The homeowner owns any insurance claim and the insurer decides coverage; your job is to document what is actually there and quote it honestly.

Used that way, the value is straightforward: you spend less labor and less ad money reaching people who do not need a roof, which is the cleanest possible way to lower your average cost per lead and your cost per job at the same time. It does not replace your marketing; it makes every dollar of it land on a better address.

Where targeting fits against your other channels

A fair question is whether roof-level targeting competes with your existing channels or feeds them. It feeds them. A ranked candidate list makes your canvassing routes tighter, your direct mail lists sharper, and your storm campaigns aimed at the blocks most likely affected. It even improves paid channels indirectly: when you know which neighborhoods are full of aging roofs, you can weight ad spend and service-area targeting toward them. The data is an upstream filter that raises the quality of whatever channel sits downstream. That is why its effect on cost per job tends to be broad rather than confined to one tactic.

Think of it as choosing the battlefield before the fight. Every other lever in lead generation is about winning the contact once it exists. Targeting is about deciding which contacts to pursue in the first place, which is a more fundamental advantage because it changes the denominator. You are no longer paying to talk to a representative slice of the population, most of which does not need a roof; you are paying to talk to a pre-filtered slice that disproportionately does. The same dollar buys a richer conversation.

A Practical Playbook to Lower Your Cost Per Roofing Lead

Knowing the math is half of it. Here is the operating sequence to actually move the numbers, in priority order, because the early steps cost almost nothing and pay the most.

Step 1: Instrument the funnel before you optimize it

You cannot lower a number you do not measure. For every lead source, capture lead, contact, appointment, inspection, sale, job type, and gross profit. A spreadsheet beats a beautiful dashboard you do not maintain. The first month of honest data usually reveals that one or two "cheap" channels have a brutal cost per job and one "expensive" channel is your best buy. That insight alone often pays for the whole exercise.

A minimal but complete tracking sheet has one row per lead and these columns: date received, source/channel, vendor (if purchased), cost of that lead, whether you contacted them, whether you set an appointment, whether the inspection happened, whether it sold, job type, contract value, and gross profit. Add the channel's monthly fixed cost (subscriptions, retainers, canvasser wages) so your cost per job includes the overhead, not only the per-lead fee. At month end, pivot by channel and you have every number in the scorecard above without buying any software. The companies that win on acquisition cost are almost never the ones with the fanciest tools; they are the ones who fill in the boring sheet every single week.

Step 2: Win the speed-to-lead race

The cheapest improvement available to almost every roofer is answering faster. Contact rates fall off a cliff as minutes pass. Route inbound leads to a phone that gets answered, use automated text acknowledgment within seconds, and set a hard internal standard for first-call time. This single change lifts contact rate, which multiplies through the whole chain and drops cost per job without touching lead spend.

Step 3: Tighten qualification so reps only chase real roofs

Every hour a rep spends on a renter, a tire-kicker, or a roof that has ten good years left is pure cost with no chance of revenue. Build a short qualification script: homeowner or decision-maker, roof age or visible concern, in-area, willing to schedule. Disqualify fast and without guilt. A smaller pile of qualified leads beats a mountain of raw contacts on cost per job every time.

Step 4: Target before you spend

Shift dollars away from blanket campaigns and toward the addresses most likely to need you. This is where roof-age ranges and per-roof storm modeling earn their keep: canvass and market to candidate roofs first. Every link in the conversion chain improves when the roof is a real candidate before the conversation starts, and improvements multiply.

Step 5: Build demand you don't have to bid for

The long game is reducing dependence on auction-priced leads. Three durable engines:

  • Referrals and reputation. A disciplined ask-for-referral process and steady review generation produce the lowest-cost, highest-closing leads you will ever get. Make the ask part of the closeout, not an afterthought.
  • Local SEO and your Google Business Profile. Slow to build, then it pays rent for years. Organic and profile-driven leads carry no per-lead fee after the work is done.
  • Past-customer reactivation. Roofs you installed years ago, neighbors of past jobs, and lapsed estimates are warm and nearly free to reach. Most roofers ignore this list entirely.

Step 6: Treat purchased leads as a controlled experiment, not a habit

If you buy leads, run each vendor as a test with a kill switch. Track cost per job by vendor, not cost per lead. Set a cost-per-job ceiling tied to your margin, and cut any source that breaches it for two consecutive months. Never let a vendor relationship coast on the strength of a low CPL while its cost per job quietly bleeds you.

Five questions to ask any lead vendor before you spend a dollar:

  • How was this lead generated? A lead from a targeted, honest ad behaves nothing like one from a "free roof" giveaway. Generation method predicts quality more than any other factor.
  • What exactly does exclusive mean? Exclusive to me forever, or exclusive today and resold next quarter? Get it in writing.
  • What is your replacement and credit policy? Wrong numbers, renters, and out-of-area leads should be creditable. A vendor confident in quality offers this readily.
  • Will you share cohort close rates from contractors in my market? Not testimonials, actual conversion data. Hesitation here is a signal.
  • Can we price or evaluate in cost-per-job terms? Willingness to talk past cost per lead tells you whether the vendor believes their own leads convert.

Step 7: Review monthly and reallocate

Once a month, rank every channel by cost per profitable job. Move money from the bottom of the list to the top. This sounds obvious and almost nobody does it, which is precisely why doing it is an edge. Markets shift, storms move, auctions heat up; the channel that won last quarter may not win this one.

Common Mistakes That Quietly Inflate Your Cost Per Job

The pros who keep acquisition costs low mostly avoid a short list of unforced errors. The losers repeat them.

  • Optimizing CPL instead of cost per job. Chasing the cheapest lead is how you end up with a fat pipeline of garbage and a thin pipeline of revenue.
  • Comparing different lead stages. Pitting an appointment vendor's price against a raw-list close rate. Apples to anvils.
  • Ignoring speed-to-lead. Paying premium prices for leads, then calling them four hours later. You bought a steak and left it on the counter.
  • No source tracking. Not knowing close rate by channel means every reallocation decision is a guess.
  • Counting revenue, not gross profit. A channel can produce big revenue and tiny margin. Measure the money that survives to the bottom line.
  • Canvassing blind. Sending crews to random streets when targeting data could point them at candidate roofs and double the hit rate per shift.
  • Treating storm models or roof-age estimates as proof. They are prioritization signals. The roof gets inspected; conditions get documented on site; the homeowner owns the claim and the insurer decides. Overstating what a model shows is both a sales mistake and a compliance one.
  • Set-and-forget lead vendors. Auctions drift, quality decays, and a channel that worked last year can quietly turn into your most expensive one.
  • No qualification gate. Letting reps burn hours on unqualified contacts because "a lead is a lead." It is not. It is a cost until it is qualified.

The Hidden Cost Most Roofers Forget: Sales Labor

When contractors tally acquisition cost, they almost always count the lead invoice and forget the most expensive ingredient: the time their people spend chasing leads that never convert. A canvasser's wages, a sales rep's salary and truck, the windshield hours driving to inspections that no-show, the follow-up calls to ghosts. That labor is real money, and it scales with how unqualified your leads are. The worse your targeting, the more sales labor you burn per signed job, which is the part that never shows up on a lead vendor's invoice.

Work an example. Suppose a rep is fully loaded at a given daily cost and can run four inspections a day. If half of those inspections are on roofs that were never realistic candidates, the rep spends half their day producing nothing. Double the share of inspections that sit on genuine candidate roofs and you have effectively halved the sales-labor cost per job without hiring anyone or buying a single extra lead. This is the same lever as targeting, viewed from the cost side instead of the revenue side: better-qualified addresses make your existing people more productive, and sales-labor-per-job is often the largest line in a true cost-per-job calculation.

The takeaway is that lead cost and sales labor are coupled. A cheaper lead that demands more rep time to qualify and chase is not actually cheaper. When you compare channels, add an honest estimate of the sales hours each one consumes per signed job. Channels that arrive pre-qualified, or that you have targeted to real candidates, win twice: once on lead price and once on the labor they save. That second win is invisible on a spreadsheet that only tracks invoices, which is exactly why so many roofers miss it.

Putting It Together: A 90-Day Cost-Per-Job Reset

If you want a concrete plan, run this over a quarter.

Days 1-30: Measure. Stand up source tracking across every channel. Capture the full chain and gross profit by job type. Make no cuts yet; just see the truth. Set your speed-to-lead standard and your qualification script in week one so the data you collect reflects a fixed process, not a moving one.

Days 31-60: Fix the middle. Attack contact rate and show rate with faster response, confirmation texts, and tighter qualification. These cost almost nothing and move cost per job immediately. Begin targeting spend toward candidate roofs rather than blanket areas.

Days 61-90: Reallocate and build. Rank channels by cost per profitable job and shift budget from the bottom to the top. Stand up at least one demand engine you do not have to bid for: a referral process, a review push, or a reactivation campaign to past customers and neighbors of completed jobs. Re-test any purchased-lead vendor against a cost-per-job ceiling.

At the end of the quarter you will not have found a secret cheap lead. You will have built a system where the leads you already get convert better, the dollars you already spend land on better addresses, and you can see, by channel, exactly what a signed roof costs you. That visibility, more than any single tactic, is what separates roofing companies that scale profitably from the ones that just spend more to stand still.

The average cost per roofing lead is a starting number, not a finishing one. Manage the chain that follows it, target before you spend, and build demand you do not have to bid for, and your cost per job will fall even as the headline lead prices in your market keep climbing.

FAQ

What is the average cost per roofing lead in 2026?

There is no single honest figure, because the price depends on the lead's quality stage and your market. Shared marketplace leads tend to be cheapest per unit, exclusive leads cost more, and purchased confirmed appointments cost the most. The price gap between a raw contact and a confirmed appointment can be 50x. More importantly, cost per lead barely matters on its own. What you should manage is cost per signed job, which is the lead price divided by your full conversion chain.

How do I calculate my real cost per roofing job from lead cost?

Use cost per job = cost per lead divided by lead-to-job conversion rate, where lead-to-job rate is contact rate times appointment rate times show rate times close rate. If 100 leads at $90 each yield 10 jobs, your lead cost per job is $900 before you add labor, drive time, and software. Track each link separately so you can see where the funnel leaks.

Are shared or exclusive roofing leads better?

It depends on your speed and capacity. Shared leads are cheaper per unit but you race several competitors to close the same homeowner, so even a perfect operator splits the close rate. Exclusive leads cost more but the close is yours to win, provided the lead was generated honestly. As a rule, use exclusive leads and self-generated demand as your backbone and treat shared leads as fill-in for a fast-response team with spare capacity.

Why is speed-to-lead so important for lowering cost per job?

Contact rate drops sharply as minutes pass after a lead comes in. Because contact rate multiplies through the entire conversion chain, raising it from 70% to 85% by calling in five minutes instead of five hours can cut cost per job by a meaningful percentage without changing your lead spend at all. It is the cheapest improvement available to most roofers.

Should I track cost per lead or customer acquisition cost?

Track both, but manage by customer acquisition cost (cost per signed job) and ideally cost per profitable job. Cost per lead is an input on an invoice. Cost per job is the outcome that determines profitability. A channel can have an attractive cost per lead and a terrible cost per job, and you only catch that by tracking the full funnel by source.

How does roof-age and storm data lower my lead costs?

Most channels make you wait for a homeowner to raise a hand, then pay to compete for their attention. Identifying which roofs are due by age range, and which roofs a storm likely damaged per address, lets you spend canvassing and marketing dollars only on real candidates. That lifts appointment, show, and close rates at once, and because those rates multiply, the effect on cost per job is large. RoofPredict produces a ranked list of candidate addresses from aerial imagery and per-roof storm modeling for exactly this purpose.

Can a roof-age estimate or storm model tell me a roof needs replacing?

No. Roof age from imagery is a range, not an exact date, and a storm model gives you odds, not proof. Both are prioritization signals that tell you which doors are worth knocking. The actual condition of a roof is established by inspecting it and documenting what is there on site. The homeowner owns any insurance claim and the insurer decides coverage; a model never substitutes for inspection or implies a claim outcome.

What close rate should I expect on roofing leads?

Close rate on inspections commonly runs 25-40% for retail roofing, and well-run storm-restoration teams can run higher when damage is visible and relevant to the homeowner. The bigger lever is usually upstream: lead-to-appointment rates of 25-50% and show rates of 75% or better on qualified, well-targeted leads. Weak numbers anywhere in that chain inflate your cost per job.

How can I reduce my dependence on paid roofing leads?

Build demand you do not have to bid for in an auction. The three durable engines are referrals and reputation, local SEO with a strong Google Business Profile, and reactivation of past customers and neighbors of completed jobs. These carry the lowest cost per lead and the highest close rates, and unlike purchased leads their cost falls over time instead of rising as more competitors enter the auction.

How often should I review my lead channels?

Monthly. Rank every channel by cost per profitable job and move budget from the bottom of the list to the top. Markets shift, storms move, and lead auctions heat up, so the channel that won last quarter may not win this one. Set a cost-per-job ceiling tied to your margin and cut any vendor that breaches it for two consecutive months.

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 Storm Prediction Centerspc.noaa.gov
  4. NOAA National Weather Serviceweather.gov
  5. NOAA National Centers for Environmental Information - Storm Events Databasencdc.noaa.gov
  6. U.S. Census Bureau - American Housing Surveycensus.gov
  7. Bureau of Labor Statistics - Roofers Occupational Outlookbls.gov
  8. Occupational Safety and Health Administration - Fall Protectionosha.gov
  9. International Code Council - International Residential Codeiccsafe.org
  10. Federal Trade Commission - Truth in Advertisingftc.gov
  11. Texas Department of Insurance - Roof Claims and Storm Damagetdi.texas.gov
  12. National Association of Insurance Commissionersnaic.org
  13. Google Local Services Ads Helpsupport.google.com
  14. RoofPredictroofpredict.com

Related Articles