Buy Roofing Leads vs. Buy Property Data vs. Build Your Own List: Which One Actually Pays Off?
On this page
Every roofing company that wants to grow eventually hits the same fork in the road: where does the next batch of opportunities come from? You can pay a marketplace to hand you a phone number the moment a homeowner raises their hand. You can buy raw property data and turn it into a target list yourself. Or you can build your own list from the ground up using storm history, roof age, public records, and your own field intelligence.
These three paths get talked about as if they're interchangeable. They are not. They have wildly different costs, completely different control profiles, and they fail in completely different ways. I've watched companies burn six figures on the wrong one because they picked based on what was easiest to start, not what fit their stage, their crews, and their market. The point here is to lay the three options side by side honestly — what each one really is, what it costs in money and labor, where it breaks, and how to choose based on where your company actually sits today.
I'll be even-handed. Bought leads are not a scam, raw data is not magic, and a homegrown list is not free. Each has a place. The trick is matching the path to your situation instead of cargo-culting whatever the loudest roofer at the conference swears by.
The three options, defined plainly
Before comparing anything, you have to be precise about what you're actually buying. A lot of bad decisions come from blurring these three together.
Option A: Buy roofing leads
When you buy a lead, you're paying for a person who has already expressed interest in roofing work — usually a name, phone number, address, and some indication of what they want ("roof leak," "replacement quote," "storm damage inspection"). The lead is generated by someone else's marketing — a lead aggregator, a marketplace, a pay-per-call network, or a digital agency running ads on your behalf — and delivered to you in near real time, often within seconds of the form submission.
Leads come in two flavors that matter enormously:
- Shared leads. The same homeowner's information is sold to multiple contractors at once, typically three to five. You're racing the other buyers to the phone. Cheaper per lead, lower close rate, speed-to-lead is everything.
- Exclusive leads. Sold to one contractor only. More expensive — often two to four times the price of a shared lead — but no one else is calling that homeowner from the same source at the same moment.
The big platforms most roofers know are the home-services marketplaces (Angi, Thumbtack, Networx, Modernize, and the like) and pay-per-call/pay-per-lead networks. Some "leads" are actually appointments — pre-scheduled inspections — which sit at the premium end.
There's also a spectrum hiding inside "buy leads" that's worth naming, because the word covers very different products:
- Aggregator/marketplace leads — the homeowner used a comparison site; you and a few competitors get matched. Shared by default.
- Pay-per-call — you pay for a live inbound phone call, not a form. The person is already on the line, which is hotter, but you pay whether or not it converts and you still field plenty of tire-kickers.
- Pay-per-appointment — a vendor books a confirmed inspection on your calendar. Premium pricing, and quality hinges entirely on the vendor's screening discipline; a sloppy appointment-setter sells you a calendar full of no-shows.
- Agency-generated leads — a digital agency runs ads in your name and hands you the form fills. These are technically "yours," but you're renting the agency's skill and often their landing pages and tracking; leave and the flow leaves with them.
Each of these is still "buying leads," but the operational tempo and the failure modes differ, so don't let a single label flatten the decision.
The defining trait of bought leads: you trade money for speed and zero setup. You can be receiving leads this afternoon. You own none of the machinery and none of the data.
Option B: Buy property data
Buying property data is a fundamentally different transaction. You're not buying interested people — you're buying records about properties and the people who own them. No one has raised their hand. You're acquiring the raw material to go find demand yourself.
What's typically in a property data file:
- Owner name and mailing address (which may differ from the property address — that's how you spot absentee owners).
- Parcel and assessor data: year built, lot size, building square footage, sometimes roof material from permit or assessor records.
- Sale history and last sale date/price.
- Mortgage and equity estimates.
- Demographic and household overlays (age, income band, length of residence).
- Phone and email appends, where available and where the data vendor sourced them compliantly.
You buy this from data brokers and list providers — the property-data and marketing-list companies, county assessor exports, or specialized roofing/contractor data tools that bolt storm layers on top. You can filter by geography, year built, owner-occupancy, equity, and more, then export a list of records to work.
A few hard truths about property data that the slick demo never mentions. First, the source matters enormously. Assessor and recorded-deed data is primary, public, and relatively trustworthy for the facts it covers (who owns it, when it last sold, what the county thinks it's worth). The marketing overlays bolted on top — income bands, lifestyle segments, phone and email appends — are modeled or aggregated from many sources and degrade fast. Treat the parcel facts as solid and the appended marketing data as a hint, not gospel.
Second, the same underlying records get resold through dozens of brands, so the "roofing-specific data tool" and the "general marketing list provider" may be drawing from the same well with a different skin and a storm layer on top. That's not a knock — the storm layer and the roofing-tuned filters add real value — but don't assume you're getting proprietary intelligence just because the logo says roofing.
Third, freshness has a half-life. Owner-occupancy flips, mortgages get refinanced, and people move at a steady clip. A file that was clean when it was compiled is meaningfully decayed within a year. Buy data with a plan to refresh it, not as a one-time purchase you'll work for three years.
The defining trait: you buy potential, not demand. A 10,000-record file of homes built 18–25 years ago in a hail-prone county is not 10,000 leads. It's a starting universe you still have to market to, qualify, and convert. The data does none of the selling.
Option C: Build your own list
Building your own list means you assemble the target universe from primary and semi-primary sources and layer in your own intelligence so the list keeps getting smarter over time. It overlaps with buying data — you'll often buy some of the raw inputs — but the distinction is ownership and compounding. You own the logic, the enrichment, the suppression files, and the feedback loop.
What goes into a homegrown list:
- Public records you pull yourself: county assessor/parcel data, recorded deeds, building permits (a re-roof permit from 18 years ago is a screaming signal), and GIS layers many counties publish for free.
- Storm and hail history from authoritative sources (NOAA's Storm Prediction Center storm reports, NWS warnings, and reputable hail-swath modeling) so you can prioritize neighborhoods that actually took weather.
- Roof-age estimation by banding year-built and known re-roof permits — never an exact date, always a range.
- Your own field data: every door knocked, every roof photographed, every "not now, call me in two years" logged in your CRM. This is the part nobody can sell you and the part that makes the list yours.
- Suppression lists: existing customers, do-not-contact, prior no-sales, and addresses already worked.
The defining trait: you build an asset that compounds. It's the most work up front and the slowest to pay off, but the list gets sharper every season, and the cost per usable record trends toward near-zero as your own data accumulates.
The head-to-head comparison
Here's the whole decision on one screen. Read it, then we'll work through the dimensions that trip people up.
| Dimension | Buy roofing leads | Buy property data | Build your own list |
|---|---|---|---|
| What you're buying | An interested homeowner, now | Records about properties/owners | A compounding, owned target system |
| Time to first contact | Hours | Days | Weeks to months |
| Up-front cost | Low (pay per lead) | Low–moderate (pay per record/subscription) | Moderate–high (tools + labor + time) |
| Marginal cost per opportunity | High and fixed | Low per record, but you fund the marketing | Trends toward low as data compounds |
| Control over quality | Low — you take what's sent | Medium — you filter, but data is stale-prone | High — you own the logic |
| Exclusivity | None (shared) to full (exclusive, pricier) | Full — it's your list to work | Full |
| Demand state | Hot (hand raised) | Cold (no intent) | Cold to warm (you create/time the intent) |
| Scalability | Easy to scale spend, capped by market supply | Scales with marketing spend + labor | Scales with process maturity, slowest to spin up |
| Who owns the relationship/data | The platform | You (the list), platform owns origin | You, fully |
| Primary failure mode | Overpaying for shared/stale/fake leads | Treating data as leads; bad list hygiene | Under-resourcing it; it dies on the vine |
| Skill required | Phone speed + sales | Marketing + list ops | Data ops + field discipline + patience |
| Best fit | New/under-capacity, need volume fast | Direct-mail/canvassing operations | Established teams playing the long game |
Now the nuance the table can't hold.
The economics: what each one actually costs
This is where most roofers reason badly, so let's slow down. The number that matters is cost per acquired job (CPA) and, downstream of it, cost per dollar of margin — not cost per lead, not cost per record. A cheap lead that never closes is infinitely expensive. An expensive list that produces three signed re-roofs is cheap.
A worked example (illustrative numbers — plug in your own)
These figures are examples to show the math, not quoted prices. Lead and data pricing swing hard by market, season, and storm activity, so treat every dollar figure below as a placeholder you replace with your real local numbers.
Buy shared leads. Say a shared storm-damage lead costs you a moderate per-lead price, and because four other contractors got the same lead, you set an appointment on maybe 1 in 5 and sign maybe 1 in 5 of those. That's roughly 1 job per 25 leads. Multiply the per-lead cost by 25 and you have your CPA from that channel. If that CPA is comfortably under your gross margin per job, the channel works — even though it feels expensive and even though you'll have frustrating days dialing dead numbers.
Buy exclusive leads. Each lead costs several times more, but with no one racing you, your set rate and close rate both climb — maybe 1 job per 8–12 leads. The per-job math often lands in the same neighborhood as shared, sometimes better, with far less phone misery and better brand experience. The catch is volume ceiling: there are only so many exclusive leads in your county each month.
Buy property data. The records themselves are cheap — pennies to a few cents each in volume. But the data is inert. Now you fund the marketing to activate it: direct mail, door knocking, calls, digital retargeting. So your real CPA is (data cost + marketing/labor cost to work it) ÷ jobs signed. The data line item is a rounding error; the activation is the whole cost. People who only price the records get blindsided.
Build your own list. Up front you pay for tools, some raw data, and a lot of labor to assemble and clean it. In year one your CPA can look ugly because you're amortizing setup over few jobs. By year two and three, with suppression files tight and field feedback flowing in, the same list produces jobs at a marginal cost approaching just your outreach labor. This is the only option whose unit economics improve with age.
The mental model that keeps you honest
Think of it as buying at different points on the funnel:
- Leads = buying at the bottom. Most expensive per unit, least work, no asset.
- Property data = buying raw material at the top. Cheap per unit, you supply all the labor in between, you keep the list.
- Your own list = manufacturing your own raw material. Highest fixed cost, lowest long-run marginal cost, you own the whole plant.
There's no free lunch. You're choosing where to pay: money now (leads), labor and marketing in the middle (data), or fixed investment and patience for compounding returns (build).
The hidden cost lines people forget
When roofers compare these three, they usually price only the obvious line — the lead fee, the data subscription, the software — and leave out the costs that actually decide profitability. Put all of them on the table:
- Sales labor. Every channel consumes rep time, but unevenly. Shared leads burn the most dial time per signed job because of dead numbers and the race. Cold data burns knocking and mailing labor. A mature built list burns the least per win once it's compounding. If your reps are salaried, this cost is invisible on the P&L and lethal in the CPA math — count it anyway.
- Speed-to-lead infrastructure. To make bought (especially shared) leads pay, you need instant routing, auto-dial, and after-hours coverage. That's real money and process, and skipping it is why so many roofers think "leads don't work."
- List hygiene. Mover updates, dedup, suppression, and append verification are recurring costs on the data and build paths. Skip them and you pay anyway — in wasted mail, double touches, and brand damage.
- Compliance overhead. DNC scrubbing, consent tracking, opt-out handling. Cheap to do right, ruinous to ignore.
- CRM and tooling. A built list without a CRM is a dead list. Budget for the system and, more importantly, the discipline to use it.
- Opportunity cost of dependency. Bought leads carry an invisible risk premium: a platform price hike or algorithm change can reprice your whole pipeline overnight. That volatility is a cost even when the per-lead number looks fine today.
The channel that looks cheapest on the invoice is frequently the most expensive once these lines are filled in, and vice versa. This is exactly why you compare on cost per signed job with labor loaded in — never on sticker price.
Why "cheap leads" and "cheap data" both mislead
A shared lead at a low price and a property record at a few cents each both look like bargains, and both can quietly destroy your economics. The shared lead is cheap because four other roofers are dialing the same person — the price reflects the dilution, and your true cost is that low price multiplied by all the leads it takes to fight through to one signed job. The data record is cheap because it's inert — the price reflects the fact that it does none of the work; your true cost is the record plus everything you spend to wake the demand up. In both cases the headline number is the least important figure in the equation. Train yourself to ignore it and look straight at cost per win.
Control and quality: the dimension that surprises people
New buyers obsess over price. Operators who've been burned obsess over control, because that's what determines whether a channel is fixable when it goes sideways.
Bought leads: lowest control
When a lead channel underperforms, your levers are thin. You can pause spend, switch shared-to-exclusive, tighten geography, or improve your speed-to-lead and sales script — but you cannot fix the source. You don't control how the lead was generated, what the homeowner was promised in the ad, whether the form was incentivized, or whether the number is even real. Common quality problems with bought leads, none of which you can fix at the source:
- Stale leads — the homeowner filled out the form days ago and has already signed with someone.
- Recycled leads — the same person sold again months later.
- Mismatched intent — they wanted a gutter cleaning quote, not a full re-roof.
- Incentivized junk — leads from sweepstakes-style funnels where the person wanted the gift card, not a roof.
- Bad contact info — wrong number, voicemail forever.
Reputable platforms have credit/dispute processes for clearly bad leads, and you should use them religiously. But disputing is reactive. The structural reality stands: with bought leads you're renting the top of someone else's funnel, and you inherit its quality whether you like it or not.
Property data: medium control
You control the selection — geography, year built, owner-occupancy, equity, storm overlay — which is real power. What you don't fully control is freshness and accuracy. Property data decays constantly: people move, die, refinance, re-roof. Phone and email appends are the weakest link; match rates and accuracy on appended contact info are routinely mediocre, and you'll mail to plenty of addresses where the owner sold two years ago. Good list hygiene (NCOA processing for movers, dedup, suppression) is non-negotiable and is itself a recurring cost. You can fix selection problems instantly; you can only manage, not eliminate, decay.
Your own list: highest control
Everything is a lever. The roof-age bands, the storm radius, the suppression rules, the sequence of touches, which neighborhoods you prioritize after a hail event — all yours to tune. When something underperforms you can see exactly why and change it, because you built it. The cost of that control is that you're now responsible for the data ops. Nobody's coming to fix your stale records or your double-mailed addresses. The upside is that the list learns: a "call me in two years" you logged in 2024 becomes a warm, perfectly-timed touch in 2026 that no purchased lead or cold data file could ever replicate.
Be honest about a hard truth here: scoring which roofs are "due" is a heuristic, not a crystal ball. Roof age from year-built and permits is a range, not a birthday. A storm forecast is odds of exposure, not proof of damage. The best homegrown lists are powerful precisely because they're upfront about this — they prioritize probability, they don't pretend to certainty.
Speed and scalability: how fast can you turn the dial?
Speed to first results
- Leads win on raw speed, every time. Sign up, fund the account, set your filters, answer the phone. You can have a conversation with a homeowner today. For a company that's under capacity right now with crews standing around, nothing else competes.
- Property data is days, not hours. You pull the file, clean it, design and send mail or load it into a dialer/canvassing app. First responses to a mail drop typically trickle in over one to several weeks.
- Building is weeks to months to the first signed job. You're assembling sources, wiring up the pipeline, and waiting for outreach cycles to mature.
Scaling up
This is where it inverts.
- Leads scale by spend but hit a supply ceiling. You can double your budget, but if your county only generates so many roofing leads a month, you'll start buying lower-quality or out-of-area leads, and your CPA degrades as you scale. You're also one algorithm change or price hike away from your economics shifting overnight — a real risk of renting someone else's funnel.
- Property data scales with marketing budget and labor. Want more pipeline? Buy more records and fund more outreach. The constraint is your capacity to work the data, not the data supply. This scales smoothly for canvassing- and mail-heavy operations.
- Your own list scales with process maturity. It's the slowest to start and the most durable to scale, because the marginal cost falls as you grow. Once the machine runs, adding territory is mostly a matter of pulling more public data and pointing your existing process at it.
The strategic point: bought leads are an on/off switch; a built list is a flywheel. One gives you instant, volatile volume you don't own. The other gives you slow-building, durable volume you do.
Risk and ownership: what happens when things change
Every channel carries risk; they're just different risks.
Bought-lead risk is concentration and dependency. If a marketplace raises prices, changes its matching algorithm, floods your area with more competitors, or deprioritizes your account, your pipeline can crater through no fault of your own. You've also built no asset — stop paying and the flow stops instantly. Roofers who built their entire business on one lead platform have learned this the hard way more than once.
Property-data risk is compliance and decay. Cold outreach to purchased lists puts you squarely inside telemarketing and privacy rules. If you're calling or texting, you're responsible for honoring the National Do Not Call Registry, federal calling-time and consent rules, and the patchwork of state telemarketing laws — purchased data does not come with consent to call or text. Mail is far lower-risk legally, which is part of why direct mail remains a workhorse for data-driven roofers. The other risk is wasting spend on decayed records if your hygiene is sloppy.
Build-your-own risk is execution and neglect. The list doesn't fail because the model is wrong; it fails because nobody feeds it. Field reps don't log outcomes, suppression files go stale, the storm overlay never gets updated, and within a year you've got an expensive spreadsheet nobody trusts. It also demands skills — data ops, a disciplined CRM culture — that not every roofing company has on staff. The same cold-outreach compliance rules apply when you activate the list by phone or text.
A quick compliance checklist that applies to both data-buying and list-building the moment you pick up the phone or send a text:
- Scrub against the National Do Not Call Registry before calling.
- Honor federal restrictions on calling times and on autodialed/prerecorded calls and texts — get the consent the rules require before using that tech.
- Check your state's telemarketing and door-to-door solicitation rules; several are stricter than federal law and some require permits for canvassing.
- Maintain your own internal do-not-contact list and honor opt-outs immediately.
- For direct mail, follow USPS addressing and mailer rules; mail avoids most telemarketing restrictions but still can't make deceptive claims.
- Never use deceptive or unfair claims in any outreach — the FTC's prohibition on deceptive practices applies to roofers too.
None of this is legal advice — verify with counsel for your state — but ignoring it is how a cheap list becomes an expensive problem.
A note on storm-chasing data specifically
A lot of roofing data products lead with storm and hail layers, and for good reason — concentrating outreach on neighborhoods that actually took weather is one of the highest-leverage moves in the business. But two cautions. First, storm data tells you about exposure, not damage. A hail swath crossing a neighborhood raises the odds that roofs there took a hit; it does not confirm any single roof is damaged, and selling the homeowner as if it does is both inaccurate and a reputational risk. Document your own inspection findings; let the homeowner and their insurer reach their own conclusions about a claim. Second, storm timing is perishable in the other direction too — the window where a freshly-hit neighborhood is receptive is finite, and being early and accurate beats being late and aggressive. Good storm data is about prioritization and timing, not about a magic list of guaranteed jobs.
What pros get wrong with each option
After watching a lot of companies run these plays, the mistakes are remarkably consistent.
Mistakes with buying leads
- Judging leads by close rate instead of speed-to-lead. With shared leads, the contractor who calls within five minutes wins disproportionately. Teams that let leads sit in an inbox for an hour and then complain the leads are "garbage" have a response problem, not a lead problem. Auto-dial on receipt or don't buy shared leads.
- Not disputing bad leads. Every reputable platform has a credit process. Roofers who don't systematically flag fake/duplicate/wrong-service leads are leaving real money on the table and skewing their own CPA math.
- Confusing shared and exclusive economics. Buying shared and staffing like it's exclusive (slow follow-up, single touch) guarantees a bad outcome. The two require different operational tempos.
- No sales process behind the lead. A lead is a chance, not a sale. Companies with weak intake, no multi-touch follow-up, and no nurture for "not now" prospects waste most of what they buy. The lead channel didn't fail; the funnel behind it did.
- Single-source dependency. Betting the whole company on one marketplace.
Mistakes with buying property data
- Treating a data file like a lead list. This is the cardinal sin. Nobody on that list asked to hear from you. Calling them like inbound leads, with an inbound script, flops. Cold data needs cold-outreach craft — mail, knocking, patient sequences.
- Skipping list hygiene. No NCOA mover update, no dedup, no suppression of existing customers. You end up mailing former owners and double-mailing the same house, torching budget and brand.
- Over-trusting appended phone/email. Append match rates and accuracy are routinely mediocre. Build your funnel assuming a meaningful chunk of the contact info is wrong.
- No storm or age targeting. Mailing an entire ZIP indiscriminately instead of filtering to the homes most likely to be due (right age band, took recent weather) burns most of the spend on roofs that aren't ready.
- Ignoring compliance on the calling side. Buying data does not buy consent.
Mistakes with building your own list
- Under-resourcing it, then declaring it doesn't work. Building a list is a program, not a project. Half-build it, starve it of field feedback, and of course it underperforms.
- No CRM discipline. If reps don't log every door and every "come back in two years," the compounding advantage — the entire reason to build — never materializes.
- Chasing false precision. Selling internally on "AI knows exactly which roof needs replacing." Roof age is a range and storm exposure is odds. Over-promise precision and the first wrong call torches the team's trust in the whole system.
- No suppression discipline. Re-working dead addresses and existing customers makes the list feel like noise.
- Building everything from scratch. You don't have to hand-pull every county's parcel data. Buying raw inputs and building your logic and feedback loop on top is usually the smart hybrid — which leads to the next point.
You don't actually have to pick just one
The framing of "A vs B vs C" is useful for clarity, but the best operators run a portfolio, weighted by stage. The three aren't mutually exclusive — they're a stack.
A mature roofing company often runs all three at once:
- Bought leads to keep crews fed today and to smooth out the slow weeks, accepting the higher CPA as the price of immediacy and volume.
- Purchased property data to fuel direct-mail and canvassing campaigns into the neighborhoods that just took a storm, activating demand on its own schedule.
- A homegrown list as the long-term asset — the compounding flywheel that lowers blended CPA every year and reduces dependence on any single outside platform.
The stages typically progress like this:
- Brand-new or capacity-starved: Lean on bought leads. You need volume and a sales process more than you need a data asset. Don't build a list you have no bandwidth to work.
- Stable with idle field capacity: Add property data and start canvassing/mailing. You've got reps who can knock; feed them targeted lists, especially after storms.
- Established, multi-crew, playing the long game: Build your own list in earnest, keep a measured exclusive-lead spend for overflow, and let the homegrown asset steadily take over as the cheapest, highest-control channel.
The trap is staying on bought leads forever because it's easy, never building the asset, and waking up five years in with no owned pipeline and total dependence on a marketplace's pricing whims.
A decision framework: choose A if… B if… C if…
Use these as honest tiebreakers. Find the description that sounds the most like you right now.
Choose to buy roofing leads if…
- You have crews or sales reps idle this week and need conversations immediately.
- You don't yet have the marketing muscle, data ops, or patience to build pipeline yourself.
- Your speed-to-lead is genuinely fast (sub-five-minute response) and your sales intake is tight — otherwise shared leads will eat you alive.
- You're testing a new market and want demand signal before committing to a build.
- You can tolerate higher per-job cost in exchange for zero setup and instant flow.
- Lean toward exclusive leads if you can't reliably out-speed competitors on shared, or if brand experience matters in your market.
Choose to buy property data if…
- You run canvassing or direct-mail as a core motion and need targeting fuel for it.
- You operate in storm/hail markets where age-banding plus weather overlay genuinely concentrates the opportunity.
- You have the labor to activate cold records — door knockers, mailers, callers — because the data alone does nothing.
- You want more control over geography and targeting than bought leads allow, without committing to a full build.
- You've got someone who can run list hygiene and compliance properly.
Choose to build your own list if…
- You're established, multi-crew, and thinking in years, not weeks.
- You have CRM discipline (or are willing to enforce it) so field feedback actually gets captured.
- You want to stop renting the top of someone else's funnel and own a compounding asset.
- Your market has enough density and storm history that owned intelligence pays off.
- You can absorb a slow, possibly ugly year one in exchange for the lowest long-run CPA and the highest control.
- You have, or can hire, the data-ops capability to keep it alive.
If you're nodding at more than one of these, good — that confirms the portfolio approach. Sequence them by stage rather than forcing a single choice.
Two more variables that override the simple framework
The stage-based logic above is the backbone, but two situational factors can flip the answer:
Your market type. In a steady retail/replacement market with little severe weather, demand is diffuse and patient — age-banded data and a built list shine because timing is about roof age, not storms, and you can work the universe methodically. In a heavy storm market, demand arrives in concentrated bursts after events, and the premium swings toward whatever lets you move fast and at volume the week after a storm — which often means a blend of bought leads for instant volume and pre-built data lists you can activate the moment the hail falls. Match the channel mix to how demand actually shows up in your geography.
Your sales DNA. Some companies are phone-and-appointment shops with tight inside-sales discipline; bought leads and called data play to that strength. Others are knock-and-talk, field-heavy outfits with reps who'd rather be on a porch than a phone; canvassing off built and purchased lists plays to that strength. Don't buy a channel that fights your team's natural motion. The best channel on paper loses to the channel your people will actually work hard.
How the build path actually works in the field
Because "build your own list" is the most hand-wavy of the three, here's a concrete, non-magic walkthrough of how a disciplined team assembles one. This is the option people most often imagine is impossible; it isn't, it's just work.
Step 1: Define the universe
Start with geography and roof-age logic. Pull county parcel/assessor data (many counties publish it; some you buy) and band homes by year built into ranges where re-roofing demand concentrates — asphalt shingle roofs in a lot of markets become candidates somewhere in the mid-teens to mid-twenties of age, which is why a band, not a date, is the right unit. Layer in any re-roof permits you can find: a permit from 17 years ago is a near-perfect timing signal.
Step 2: Add storm and weather intelligence
Overlay authoritative storm history — NOAA Storm Prediction Center reports, NWS warnings, and credible hail-swath data — so you can prioritize neighborhoods that actually took hail or wind. This is where homegrown lists earn their keep: you're concentrating effort where probability of damage is highest, while being honest that exposure is odds, not proof.
Step 3: Filter for fit
Apply owner-occupancy, equity estimates, and length-of-residence to focus on homeowners who can actually transact. Suppress existing customers, prior no-sales, and do-not-contact addresses before a single touch goes out.
Step 4: Sequence the outreach
Now activate it the right way for cold contacts: tracked direct mail (with proofs and per-piece delivery tracking so you know what landed), canvassing routes loaded into a field app, and compliant calling only where you've cleared DNC and consent rules. Multi-touch beats one-and-done every time.
Step 5: Capture the feedback — this is the whole point
Every interaction goes back into the list: photographed roofs, "replacing next spring," "just did it last year" (suppress), "call me in two years" (schedule the future touch). This feedback loop is the compounding engine. A list without it is just purchased data with extra steps.
Step 6: Measure on cost-per-win, not activity
Track actual jobs signed against the territory worked, and compare cost-per-win across channels so you can shift budget toward whatever's producing. Activity metrics (doors knocked, pieces mailed) are inputs; signed jobs and margin are the scoreboard.
What the build path looks like over three seasons
To set honest expectations, here's the arc most disciplined teams actually experience:
- Season one. Ugly. You're standing up sources, fixing data problems you didn't anticipate, and training reps to log outcomes they're used to forgetting. Cost per win looks bad because you're amortizing all the setup over a handful of jobs. The temptation to quit is highest right here — and quitting now wastes the entire investment.
- Season two. It clicks. Suppression files are tight, the storm overlay is wired in, and last season's "come back next year" notes are firing as perfectly-timed touches. Cost per win drops noticeably. Reps start trusting the prioritization because it's been right often enough.
- Season three and beyond. The flywheel. The marginal cost of the next signed job approaches just your outreach labor, the list is the cheapest channel you've got, and your dependence on any outside platform has fallen. Expanding into a new territory is now mostly pulling more public data and pointing the existing machine at it.
Knowing this curve in advance is what keeps a leadership team from killing the program in season one when it's working exactly as expected.
Common build-path failure points, and how to catch them early
- Reps stop logging outcomes. The single most common killer. Catch it by auditing CRM completeness weekly and tying a sliver of comp to clean data capture. A list that isn't fed is just expensive purchased data.
- Suppression rots. Old customers and dead addresses creep back in and the list starts feeling like noise. Catch it by re-running suppression before every campaign, not once a year.
- Storm/age logic never gets updated. The model that was sharp two years ago is now stale. Schedule a periodic review of your age bands and storm radius against what's actually converting.
- No owner. If the list belongs to "everyone," it belongs to no one. Assign a single person accountable for list health, even part-time.
Where does software fit? Tools can compress this dramatically — roof-age/storm ranking to prioritize which homes are due, tracked direct mail, canvassing apps, and CRM sync so field feedback isn't lost. RoofPredict is one such contractor operations platform that bundles roof-age-band and storm-exposure ranking, tracked direct mail, per-home report microsites, a canvassing app, and two-way CRM sync into the build-your-own-list motion. To be clear about its limits: its scoring is a roof-age-plus-storm-exposure heuristic, not a guarantee of which roofs need work; roof age is a range, not an exact date; and a storm forecast is odds, not proof of damage. It's one option for the build path, not a substitute for the field discipline that actually makes a homegrown list compound. Plenty of teams build the same motion with a stack of separate tools, and that's a legitimate choice too.
How to actually run the comparison for your company
Don't decide from a blog table — decide from your own numbers. Here's the test to run over a single quarter.
- Pick a clean CPA definition. Total channel cost (including labor to work it) ÷ jobs signed from that channel. Use it consistently across all three.
- Run a controlled test of each at a budget you can afford to lose: a small bought-lead spend, a small data buy activated by mail or knocking, and the first slice of a homegrown list in one tight territory.
- Hold the sales process constant. Same intake, same follow-up discipline, so you're comparing channels, not sales execution.
- Measure to signed job and margin, not to lead or appointment. A channel that sets lots of appointments but signs few is a mirage.
- Account for the asset. Bought leads leave you nothing; the built list leaves you a growing asset. Weight that into the decision even though it doesn't show up in a single quarter's CPA.
- Re-run seasonally. Storm activity, lead prices, and your own capacity all swing through the year. The right mix in storm season differs from the dead of winter.
Do that, and you'll stop arguing about which option is "best" in the abstract — there is no universal best — and start knowing which mix is best for you, right now.
The bottom line
Buying roofing leads, buying property data, and building your own list aren't competitors so much as three different bets on where you pay. Leads buy you speed and demand at a premium, with no asset and no control. Property data buys you cheap raw material and targeting control, but you fund all the activation and own the compliance. Building your own list costs the most patience and discipline up front and pays you back with the lowest long-run cost, the highest control, and an asset that compounds — if, and only if, you actually feed it.
New and hungry? Buy leads and get a real sales process behind them. Running canvassing or mail with field capacity to spare? Buy data and target it hard, especially after storms. Established and thinking in years? Build the list and let it slowly become your cheapest, most durable channel. And if you're doing well, you'll likely run all three at once, weighted to your stage, shifting budget toward whatever your cost-per-win says is working this season. The roofers who win aren't the ones who found the one magic source — they're the ones who matched the source to their situation and kept measuring.
FAQ
Is buying roofing leads worth it?
It can be, if you measure it correctly and have the sales process to back it up. Bought leads are worth it when you need volume immediately, have idle crew capacity, and can respond fast — especially under five minutes for shared leads. Judge them on cost per signed job and margin, not on close rate or per-lead price, and dispute fake or duplicate leads systematically. They stop being worth it when you let leads sit, have weak follow-up, or become dependent on a single platform whose pricing you don't control.
What's the difference between buying roofing leads and buying property data?
A bought lead is a homeowner who has already expressed interest and is delivered to you hot, often within seconds — you pay a premium for that demand. Property data is records about properties and owners (year built, owner-occupancy, equity, sale history) with no expressed interest at all. Data is cheap per record but inert: you still have to market to it, qualify it, and convert it yourself. In short, you buy demand with leads and buy potential with data.
Shared vs exclusive roofing leads — which is better?
Shared leads are sold to several contractors at once, so they're cheaper but require lightning-fast response and have lower close rates. Exclusive leads cost two to four times more but go to you alone, lifting set and close rates and giving a better brand experience. If you can't reliably out-speed competitors on shared leads, exclusive often nets out to a similar or better cost per job with far less phone misery. The trade-off is that exclusive supply in any one county is limited.
Can I just call the people on a purchased property data list?
Not freely. Buying data does not buy consent to call or text. Before calling you must scrub against the National Do Not Call Registry, honor federal restrictions on calling times and on autodialed or prerecorded calls and texts, and comply with your state's telemarketing laws, several of which are stricter than federal rules. Direct mail avoids most of these restrictions, which is why mail remains a workhorse for data-driven roofers. This isn't legal advice — confirm the rules for your state.
How long does it take to build your own roofing prospect list?
Expect weeks to assemble the first usable version and months before it produces signed jobs at a good cost. You're pulling parcel and permit data, layering storm history, filtering for owner-occupancy and equity, building suppression files, and wiring up outreach. The real payoff comes in year two and three as your own field feedback accumulates and the marginal cost per usable record drops. It's the slowest option to start and the only one whose economics improve with age.
How accurate is property data for roofing targeting?
Selection data like year built, owner-occupancy, and sale history is reasonably reliable, but it decays constantly as people move, refinance, and re-roof. The weakest link is appended phone and email — match rates and accuracy are routinely mediocre, so build your funnel assuming a meaningful share of contact info is wrong. Good hygiene (mover updates, dedup, suppression) is mandatory and recurring. Treat the data as a strong starting universe, not a precise leads list.
What is the biggest mistake roofers make with each option?
With bought leads, it's slow response and no follow-up process behind the lead. With purchased data, it's treating a cold file like hot leads and skipping list hygiene and compliance. With a homegrown list, it's under-resourcing it and lacking CRM discipline, so the field feedback that makes it compound never gets captured. In every case the channel gets blamed when the real failure is the process around it.
Can roofing software predict exactly which roofs need replacing?
No, and be skeptical of anyone claiming it can. Roof-age scoring is a heuristic built from year-built bands and re-roof permits — it gives you a range, not an exact date. Storm overlays show odds of exposure, not proof of damage. Good tools concentrate your effort on the homes most likely to be due, which is genuinely valuable, but they prioritize probability rather than certainty. Treat any 'AI knows which roof needs work' pitch as marketing, not fact.
Should I pick one option or run all three?
Most successful roofing companies run a portfolio weighted by stage. Brand-new or capacity-starved teams lean on bought leads for instant volume. Stable teams with idle field capacity add property data for canvassing and mail. Established multi-crew operations build their own list as the long-term, compounding asset while keeping measured lead spend for overflow. The mistake is staying on bought leads forever out of convenience and never building an owned pipeline.
How do I compare cost per acquisition across leads, data, and a built list?
Use one consistent definition — total channel cost including the labor to work it, divided by jobs signed — and apply it to all three. Run a small controlled test of each over a quarter, hold your sales process constant so you're comparing channels rather than execution, and measure to signed job and margin rather than to lead or appointment. Then weight in the asset value: bought leads leave you nothing, while a built list leaves a growing asset that lowers blended cost over time.
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.
Sources
- National Roofing Contractors Association — nrca.net
- NOAA Storm Prediction Center — Storm Reports — spc.noaa.gov
- National Weather Service — weather.gov
- Insurance Institute for Business & Home Safety (IBHS) — ibhs.org
- FTC — National Do Not Call Registry (Business) — ftc.gov
- FCC — Telephone Consumer Protection Act Rules — fcc.gov
- FTC — Telemarketing Sales Rule — ftc.gov
- USPS — Direct Mail and Addressing Standards — usps.com
- U.S. Census Bureau — American Housing Survey — census.gov
- International Code Council — International Residential Code — iccsafe.org
- U.S. Bureau of Labor Statistics — Roofers — bls.gov
- U.S. Small Business Administration — Marketing and Sales — sba.gov
- National Association of Insurance Commissioners (NAIC) — naic.org
- Verisk — Xactimate — verisk.com
- RoofPredict — roofpredict.com
Related Articles
Best Tools to Find Absentee-Owner and Rental Homes for Roofing
A field-tested look at the tools roofers actually use to find absentee owners and rental properties, what each one is good and bad at, and how to pick.
Best Skip Tracing Tools for Roofing Sales (Tested by an Operator)
A practitioner's roundup of the skip tracing tools roofing sales teams actually use to turn an address into a reachable owner, with honest match rates, costs, and compliance traps.
Roofing Canvassing vs Direct Mail vs Digital Ads: Which Channel Should You Run?
Three roofing channels, three different businesses. A practitioner's head-to-head on canvassing, direct mail, and digital ads, with the math and the failure modes nobody warns you about.