How to Find Roof Replacement Opportunities Without Buying Leads
On this page
Every roofing owner I have ever talked to has the same bruise. They paid for leads, the leads were the same homeowner three other crews already called, the homeowner was shopping price, and the job either died on the table or closed at a margin that barely covered the truck. Then the platform raised the price per lead the next quarter. You did not build a business. You rented one, month to month, from a company that resells the same door to your competitors.
There is a different way to run the front of your business, and it does not require you to outbid anyone for a click. The roofs that need replacing are already sitting on streets you drive past. The homeowners who will need you in eighteen months are already in your old estimate folder. The storms that wear roofs out leave a trail you can follow with public data. None of that is for sale, because nobody owns it but you, once you build the habit of finding it.
What follows is the operational playbook: how to find roof replacement opportunities without buying leads, broken into the channels that actually produce work, with the numbers, scripts, and edge cases that separate a crew that knocks all day and closes nothing from one that walks the right streets and books re-roofs. I am going to be specific, because vague advice ("just network more") is how most articles waste your time. Let us get into the doors that open.
Why bought leads quietly bleed your margin
Before the alternatives, it helps to name exactly what you are escaping, because the math is worse than it looks on the invoice.
A shared lead is sold to multiple contractors. You are not buying a customer; you are buying the right to compete in a price war that started before your phone rang. By the time you reach the homeowner, they have heard from two or three other companies, every one of them is now a comparison point, and the conversation is anchored on price instead of condition. Your close rate on shared leads is structurally lower, and the jobs you do win carry thinner margin because you discounted to beat the other quotes.
Now layer in the parts nobody puts on the invoice. You pay for leads that never answer the phone. You pay for tire-kickers who wanted a number for an insurance conversation they will never finish. You pay for the wrong service area. The Federal Trade Commission has spent years warning about lead-generation practices that misrepresent what a buyer is actually getting, and the roofing vertical is no exception. When you average the real cost across only the leads that became revenue, the effective cost per acquired job is often several times the per-lead price.
Here is the deeper problem, the one that matters more than any single month's spend: a bought lead is a transaction, not an asset. When you stop paying, the flow stops the same day. You have built nothing you own. Compare that to a neighborhood you have re-roofed, a customer list you have nurtured, or a reputation on a specific set of streets. Those keep producing after you stop spending. The whole point of finding work without buying leads is to put your effort into assets that compound instead of expenses that evaporate.
The true cost comparison, side by side
It helps to see the two models next to each other. The per-lead price is never the real number; the number that matters is what you pay for each job you actually book and keep.
| Factor | Bought shared leads | Owned channels |
|---|---|---|
| Who else has the lead | Two to five competitors, same homeowner | Only you |
| Pricing pressure | High, you are one of several quotes | Low, you are often the only call |
| What you build | An expense that stops when you stop paying | An asset that keeps producing |
| Effective cost per booked job | Per-lead price multiplied by every dead, duplicate, or out-of-area lead | Mostly your own labor hours, which you control |
| Control | The platform sets the price and the supply | You set the cadence and the targeting |
| Margin on the job | Compressed by competing quotes | Protected by being first and specific |
Run the math on your own last twelve months. Take what you spent on leads, divide by the number of jobs those leads actually produced, and add the payroll your team spent chasing the duds. The honest number usually shocks owners, and it is the number that makes the case for everything below.
The rest of this is about building those assets. There are five durable channels, and the strongest operators run all five at once.
Channel 1: Work your own customer book before you do anything else
The cheapest replacement job you will book this year is sitting in a folder you already have. Every roofer underuses their own database, and it is the single highest-return move on the list, so it goes first.
Think about who is already in your records:
- Repair customers. Anyone you sold a repair to three, five, eight years ago. A repair is a stopgap. The roof did not get younger. Many of those are now at or past replacement age.
- Lost estimates. The homeowner who got a bid two years ago and "wanted to think about it." A meaningful share of those roofs are still up there, still aging, and the homeowner has had two more winters to come around. Most contractors quote, lose, and never follow up again. That is money left on a shelf.
- Past replacement customers. They will not buy another roof soon, but they own the most valuable asset in roofing: a relationship and a referral network. They live on streets full of houses built the same decade as theirs, with roofs the same age.
- Service and maintenance contacts. Gutter cleanings, skylight fixes, tune-ups. Every one is a documented touchpoint and an excuse to look at the roof again.
The re-engagement workflow
Here is a concrete sequence you can run this month with a list and a phone.
- Pull and segment. Export everyone from the last eight years. Tag them: repair, lost estimate, completed replacement, service-only. Add the year of original contact and, where you know it, the roof's approximate age at that time.
- Sort by likely roof age. A repair customer whose roof was twelve years old five years ago is now sitting around seventeen. That is your top tier. Asphalt shingle roofs in most of the country run a typical service life in the high teens to mid-twenties depending on product, ventilation, and climate, so a roof crossing into that window is a real conversation, not a fishing expedition.
- Lead with service, not a pitch. The opener is an offer of value: a no-charge roof check-up, because you were working in the area, or because it has been a few years since you were last on the roof. You are not opening with "want a new roof." You are opening with "let me make sure the repair we did is still holding up."
- Document what you find. Photos, age estimate, the specific issues. Whether or not they buy today, you now have a fresh, dated record that feeds the next touch.
- Set the follow-up cadence. If they are not ready, schedule the next contact. A roof that is seventeen today is a near-certain replacement inside a few years. Your job is to be the company they think of when that day comes, which means showing up before it does.
A worked example
Say you have 1,200 contacts over eight years. Conservatively, 300 are repair or lost-estimate records on roofs that are now in or near replacement age. You call through them over a few weeks. If even a tenth book an inspection and a third of those convert, that is ten replacements out of a list that cost you nothing but phone time. At any reasonable residential re-roof ticket, that is a six-figure swing from a spreadsheet you already owned. No platform, no per-lead fee, no price war, because nobody else is calling these people. That is the difference between renting and owning your pipeline.
The reason this works and stays uncrowded is simple: it is unglamorous and it requires discipline. Most crews would rather chase something new than mine something old. Be the one who mines.
Build a simple roof-age score for your list
You do not need software to prioritize a database; you need a consistent rule. Give every contact a rough roof-age estimate and sort on it. A workable approach:
- Known install date. If you replaced the roof yourself, you know the exact age. These go to the bottom of the call list for years, then to the top as they approach the product's service life.
- Repair records. Take the roof's estimated age at the time of the repair and add the years since. A roof that looked fifteen years old when you patched it six years ago is around twenty-one now, which is a real conversation for most shingle products.
- Lost estimates. Use the age you assessed at the time of the bid, plus the elapsed years. These people already let you on or near the roof once, so your notes are better than a cold guess.
- Service-only contacts. Estimate from the build era and any notes, then verify on the next visit.
Sort the whole list by that estimated current age, call from the top down, and you are always working the roofs closest to due. Update the estimate every time you actually see the roof. Over a couple of years this list becomes the most valuable asset in your office, because it tells you who to call this month and who to call in three years, and none of it cost a per-lead fee.
Channel 2: Door knocking the right streets, not every street
Door knocking has a bad reputation because most of it is done badly: a green rep walking a random subdivision, knocking every door, getting worn down by news roofs and not-homes, and quitting in three weeks. The activity is fine. The targeting is what is broken.
The whole game is which streets and which houses. Knock the roofs that are actually due and skip the ones that are not, and the same hours produce several times the conversations. Here is how the disciplined operators set it up.
Read the neighborhood before you knock it
Roofs in a subdivision tend to age in cohorts. A tract built in one stretch of years got roofed around the same time, and those roofs come due around the same time. So the first job is to find the cohorts that are aging out.
Signals you can read from the street or from public records:
- Build era of the subdivision. County assessor and parcel records list the year a structure was built, which is public and usually free to look up. A subdivision built in the late 1990s or early 2000s, on original roofs, is squarely in replacement territory now. Important caveat: year built tells you the home's age, not the roof's age, because a re-roof does not change the build year. Use it to find candidate cohorts, then verify on the ground.
- Visible wear from the curb. Granule loss showing as dark patches or shiny spots, cupping or curling shingles, moss on north-facing slopes, a sagging ridline, patched sections of mismatched color. A trained eye reads a lot from the street without a ladder.
- Re-roof tells next door. When you see two or three brand-new roofs on a block of otherwise original ones, that cohort is turning over. The neighbors are watching their neighbors replace, which makes them warmer than a cold knock anywhere else.
- Storm exposure. If a hail or wind event passed through, the roofs in that footprint may have damage the homeowner has not noticed. More on the public storm data in the next channel.
How to read roof age and condition from the curb
Your reps do not need to climb to qualify a roof. A trained eye reads most of what matters from the street and the driveway, and teaching this is the single highest-leverage thing you can do for a canvassing crew. Walk a rep through these tells:
- Granule loss. Asphalt shingles shed their protective granules as they age. From the ground this shows as uneven dark patches, a thinning or shiny look, and a buildup of granules in the gutters and at downspout splash zones. Heavy granule loss means the shingle is near the end of its protective life.
- Curling and cupping. Edges that lift or centers that dish out are signs of age, heat cycling, and sometimes poor ventilation. A roof full of curled shingles is visibly past its prime even from across the street.
- Missing, cracked, or patched shingles. Bald spots, mismatched repair patches, and visible underlayment all say the roof has been losing the fight for a while.
- Moss and algae streaks. Heavy moss on shaded, north-facing slopes holds moisture against the shingle and accelerates decay. Dark streaking is often algae, more cosmetic, but it tells you the roof is old enough to have grown it.
- A sagging or wavy ridgeline. A roofline that dips or waves can signal decking or structural issues underneath, which is a serious replacement conversation.
- Worn flashing and rusted penetrations. Rust on vents, valleys, and flashing, and dried or missing sealant around penetrations, are age markers that also explain leaks the homeowner may already be fighting.
- Mismatched cohort tells. Stand at the end of the block and compare. If three roofs are clearly new and the rest share a faded, uniform look, the faded ones are the original cohort and they are all coming due together.
Give a green rep a printed one-pager with these tells and photos of each, and within a week they can sort a street into due, watch, and skip without ever touching a ladder. That single skill is what turns aimless knocking into targeted conversations.
The knock workflow
- Pick a target block with an aging cohort, ideally one where a couple of roofs have already been replaced.
- Walk it once for recon before you knock, noting house-by-house which roofs look due and which are clearly new. Do not waste a knock on a two-year-old roof.
- Knock the candidates with a specific, honest opener. Not "do you need a roof." Something like: "Hi, I am with [company], we are doing roof inspections on this street this week. I noticed a few homes here are getting to the age where the original roof is wearing out, and yours looks like it might be one. Would it help if I took a quick look and gave you an honest read on where it stands?" Specific beats generic every time.
- Offer the inspection, not the sale. Your conversion event is getting on the roof, not closing at the door. People say yes to a free, honest inspection far more than to a pitch.
- Document and leave something behind. Even on a no-answer, a door hanger that references the street and the roof-age angle is far stronger than a generic flyer. "We are inspecting roofs on [street name] this week" reads as local and relevant, not junk mail.
- Log every door in your CRM the same day: address, roof condition read, whether anyone answered, the follow-up date. The street becomes a living asset you can work again.
What pros get wrong at the door
The biggest mistake is treating volume as the strategy. More doors is not the answer; the right doors is. A rep who knocks 40 targeted candidate roofs will out-book a rep who knocks 120 random doors, and will not burn out, because targeted knocking produces conversations and conversations produce momentum.
The second mistake is sending green reps out with no per-house intelligence. A new hire who does not know which roofs are old is guessing, and guessing at the door is demoralizing. The fix is to put the read in their pocket before they walk up: this roof is in the replacement window, here is what to point at. A canvasser who can say something true and specific about the house in front of them sounds like a veteran on day three, closes more, makes money, and stays. Rep churn is one of the most expensive problems in this business, and it is downstream of bad targeting.
The third mistake is failing to comply with local rules. Many municipalities require a solicitation permit, and plenty of subdivisions have no-soliciting ordinances or registries. Check the local requirements before you put a crew on the street; a citation or a town-wide complaint thread is an expensive way to learn. Knock during reasonable daytime hours, respect posted no-soliciting notices, and keep it professional. Your reputation on a street is itself an asset, and it is easy to burn.
Channel 3: Storm restoration from public weather data, documented honestly
Storms create real replacement demand because hail and wind genuinely wear roofs out, sometimes catastrophically and sometimes invisibly from the ground. The opportunity is real. The way most contractors chase it is sloppy, and the legal lines around it are sharp, so this channel rewards the disciplined and punishes the reckless.
Find where storms actually hit, for free
You do not need to buy storm leads. The public record of severe weather is extensive and free:
- NOAA's Storm Prediction Center publishes storm reports, including hail and wind, with locations and dates. The Storm Events Database from the National Centers for Environmental Information is a searchable archive going back decades.
- The National Weather Service issues and archives warnings and local storm reports by office and region.
- These let you build a map of where hail of a damaging size or straight-line winds passed through, and when. That is the footprint worth canvassing.
The key nuance most contractors miss: a storm report tells you where it hailed, not which roofs it actually wore out. A hail swath can be miles wide, but within it, damage varies house by house depending on the angle the stones fell, the wind direction, the slope and orientation of each roof, the age and brittleness of the shingles, and the size and density of the hail at that exact spot. Two houses on the same street can take very different damage from the same storm. So the public data points you to a region; verifying the individual roof is still ground work.
The storm workflow
- Pull recent severe-weather reports for your service area from the public sources above. Note the date, the hail size or wind speed, and the footprint.
- Cross-reference with roof age. A storm is hardest on older, more brittle shingles. The overlap of an aging-roof cohort and a real hail footprint is your best canvassing target. A newer roof in the same footprint may be fine; an old one may be finished.
- Canvass the footprint with an inspection offer, the same honest opener as Channel 2, with the storm as the specific reason: "A storm came through on [date] with [hail size]; we are checking roofs on this street for damage homeowners often cannot see from the ground."
- Inspect and document thoroughly. Date-stamped photos of impact marks, soft metal dents (gutters, vents, flashing) that corroborate hail size, granule loss in the gutters, wind-lifted or creased shingles. Match the damage to the documented storm date.
- Hand the homeowner the documentation. Your job is to give them a clear, factual record of the roof's condition and the storm that hit it.
The legal lines you do not cross
This is where contractors get themselves in serious trouble, so read carefully.
A roofing contractor documents roof conditions and provides repair or replacement estimates. The homeowner owns their insurance claim. The insurance carrier decides coverage. Those roles do not blur, and in many states blurring them is illegal. Acting as an unlicensed public adjuster, negotiating a claim on the homeowner's behalf, or advertising yourself as a claims or insurance specialist can violate state unauthorized-practice-of-public-adjusting laws. A Texas case in 2024, involving a roofer challenging that state's restrictions, underscored how broadly those rules can be read, including against self-labeling as an insurance specialist.
So, the do-not-say list when you talk to a storm-affected homeowner:
- Do not promise to get a claim approved, or to handle, manage, or negotiate the claim.
- Do not say anything about the homeowner's deductible. Offering to waive, absorb, eat, or cover a deductible is insurance fraud in many states, full stop.
- Do not call yourself a public adjuster or a claims specialist.
- Do not guarantee a "free roof."
- Do not present a weather report as proof of damage. A storm report shows that conditions for damage were present; only an inspection shows whether a specific roof was actually damaged. Treat forecasts and storm data as odds and context, never as proof.
What you can do, truthfully and safely: inspect the roof, document conditions with photos, provide an estimate, and give the homeowner a factual record of the damage and the storm date that supports a claim they choose to file. The homeowner files and owns the claim; the carrier decides. You show up with facts, not promises. That framing keeps you on the right side of the line and, frankly, builds more trust than the over-promising crews that swarm a storm market and leave a trail of complaints. Any claims-related copy or script you put in writing should get a sign-off from counsel for your state, because these rules vary.
Channel 4: Referrals, neighbors, and the job site as a marketing asset
The cheapest job to acquire is the one your last customer hands you. Referrals close at far higher rates than any cold channel because trust is pre-loaded, and they cost nothing but the discipline to ask. Most contractors do not ask systematically, which is why this channel is wide open.
Make every job site work for you
A roof you are replacing is a multi-day advertisement on a street full of houses the same age.
- Yard signs on every active job, professional and readable from the street.
- The neighbor sweep. Before, during, and after a job, knock the adjacent houses. "We are replacing the Johnsons' roof this week; while our crew is set up on this street, I wanted to offer the neighbors a free inspection." The cohort logic from Channel 2 applies: if this roof was due, the neighbors' roofs are the same age. This is one of the highest-yield knocks in roofing because the social proof is sitting right there with a crew on it.
- Quality work as the engine. None of this fires if the work is sloppy. A clean job site, a respectful crew, and a roof that looks great are what make a neighbor walk over and ask.
Build a referral system, not a wish
- Ask at the moment of peak satisfaction, which is right after a clean completion and a walkthrough where the customer is happy. That is when goodwill is highest.
- Make the ask specific. Not "send people my way." Instead: "Most of the homes on your street are about the same age, which means a lot of those roofs are getting close. If you know a neighbor wondering about theirs, I would be glad to give them an honest inspection." You are giving them a reason and a frame.
- Follow up after a storm. Past customers in a storm footprint are warm referral sources and may need you again themselves.
- Track referral sources so you know which customers and which neighborhoods produce, and concentrate there.
Local partnerships that produce
Real estate agents need roof certifications and inspections for transactions. Home inspectors flag roof issues and need someone to refer. Property managers have portfolios of aging roofs. Insurance agents (carefully, within the legal lines above) interact with homeowners who have roof concerns. A handful of genuine local relationships, where you reliably do honest, quality work, will feed you steady opportunities that never touch a lead marketplace. These take time to build and that is exactly why they are durable; they cannot be bought by your competitor with a bigger ad budget.
Targeted direct mail to the roofs that are actually due
Direct mail still works in roofing, but blanket mail to a whole ZIP is how owners conclude that mail does not work. The waste is brutal: most of the houses you mail have roofs that are nowhere near due, so you pay postage and print to reach people who cannot buy from you for a decade. The fix is the same as door knocking. Mail the roofs that are aging out and skip the new ones, and the economics flip.
Build a mailing list that is actually targeted
- Start from aging cohorts, not the whole carrier route. Use assessor build-era data and your own street recon to identify the subdivisions whose original roofs are in or near the replacement window.
- Strip out the obvious new roofs. A house you know was re-roofed last year is wasted postage. Cohort-level targeting plus a recon pass removes most of the dead weight.
- Layer storm footprints where they apply. In a market that took a recent hail or wind event, the overlap of the storm footprint and an aging cohort is your hottest mailing list.
- Mail something specific and local. A generic glossy postcard reads as junk. A piece that names the neighborhood, references the roof-age angle, and offers a free honest inspection reads as a local company that knows the street. Tie it to your yard-sign presence so the name is already familiar.
Make mail and knocking work together
Mail and door knocking are not competitors; they are a one-two punch. Mail the aging cohort first so the name is familiar, then knock the same streets a week later. The homeowner who got your postcard and then meets your rep is far warmer than a cold knock, and the rep can open with "you may have seen our card about roof inspections on this street." Same targeting list, two touches, much higher response. Track response by neighborhood so you keep mailing the cohorts that answer and stop spending on the ones that do not.
The reason most contractors give up on mail is that they never targeted it in the first place. A precisely targeted mail drop to roofs that are genuinely due, tied to a knock and a yard-sign presence, performs nothing like a spray-and-pray ZIP blast. The list is the entire game, and the list is built from roof age, not from a postal route.
Channel 5: Get found locally without paying per lead
The channels above are outbound. You also want inbound that you own, rather than inbound you rent by the click. The goal is to be the company a homeowner finds when they search for a roofer in your town, without paying a marketplace to stand between you and that homeowner.
Own your local search presence
- Your Google Business Profile is the single most valuable free local asset. Complete it fully, keep the service area accurate, post real photos of recent jobs, and request reviews from every happy customer. A strong, well-reviewed profile shows up in the local map results where homeowners actually look, and it costs nothing but attention.
- Reviews are the currency. Ask every satisfied customer, make it easy with a direct link, and respond to every review. Volume and recency of genuine reviews drive both ranking and trust.
- Your website should rank for your town's roofing searches. Pages that genuinely answer local homeowner questions (roof age, storm damage, replacement signs, your specific service area) earn search traffic that comes to you directly. This is content you own, working around the clock, not a click you re-buy every time.
Hyper-local content and community presence
Write about the things homeowners in your area actually deal with: the storms that hit your county, the typical roof lifespan for the products common in your climate, the signs a roof is failing. Be the local authority. Combine that with real community presence (sponsorships, local groups, being visibly active where you work) and you become the obvious local choice. None of this produces results next week. All of it compounds, and a year in, it is producing inbound you do not pay per-lead for.
Putting the targeting engine to work: where roof-age and storm data fit
Everything above shares one bottleneck: knowing which roofs are actually due. Every channel gets sharper the moment you can answer that house by house instead of guessing. The customer book matters most when you can sort it by likely roof age. Door knocking works when you knock the aging cohorts and skip the new roofs. Storm canvassing works when you overlay the storm footprint on roof age. Referrals and neighbor sweeps work because the cohort around a due roof is also due. Roof age plus storm exposure is the through-line.
The traditional way to get there is manual: pull assessor records for build era, drive the streets to eyeball wear, cross-reference NOAA storm reports by hand, and keep it all in a spreadsheet. That works, and plenty of disciplined operators do exactly that. It is also slow, and build era is not roof age, so you are doing a lot of ground verification.
This is the gap RoofPredict was built to close. It reads aerial imagery to estimate a roof's age as a range per address, not a guess from the build year, and it models storm physics on each individual roof rather than just telling you where a storm passed. The output is a house-by-house read on which roofs are aging out and which ones a storm likely wore down, so your crew knocks and mails the doors that are actually due and skips the ones that are not. It ranks the streets and the doors; it is not a lead service and does not hand you a customer. You still inspect, document, and earn the job.
Being honest about the limits, because that matters more than the pitch: roof age comes back as a range, not an exact install date, because that is what aerial imagery can responsibly support. Storm modeling gives you odds and a per-roof read, not proof that a given roof is damaged; only an inspection on the roof confirms damage. It does not measure the roof or identify materials the way an aerial measurement tool does; that is a different category of product. And it does not knock the door or close the job for you. What it does is take the guesswork out of targeting so that the hours your crew already spends produce more conversations on roofs that are genuinely due. Used alongside the five channels here, it turns "work the whole street" into "work the right houses," which is the entire difference between renting your next job and owning it. If you want to see whether the read holds up, the fair test is to hand it a roof you already know and check whether it nailed the age range.
A 90-day plan to replace bought leads with owned channels
Reading is easy; the value is in execution. Here is a sequenced plan you can actually run, because trying to stand up all five channels at once is how good intentions die.
Days 1 to 30: mine what you already own
- Export and segment your full customer database (repair, lost estimate, completed, service-only) with year of contact and best-known roof age.
- Sort to the top tier: repair and lost-estimate roofs now in or near the replacement window.
- Build a simple call script that leads with a free inspection, not a pitch.
- Call through the top tier. Book inspections. Document every roof, sold or not, and set follow-up dates.
- Stand up or clean up your Google Business Profile and start requesting reviews from recent happy customers.
- Target this month: inspections booked from the database and a measurable lift in review count. This channel pays the fastest because the relationships already exist.
Days 31 to 60: build the street game
- Identify three to five subdivisions with aging cohorts using assessor build-era data and a recon drive.
- Check local solicitation rules and pull any permits you need.
- Train reps on reading roof age from the curb and on the honest, specific inspection-offer opener.
- Run targeted knocks on candidate roofs only, logging every door in the CRM.
- Start the neighbor sweep on every active job site and put up yard signs.
- Target this month: a repeatable targeting-and-knock routine and the first replacements booked from the street.
Days 61 to 90: add storm response and referrals as systems
- Set up a habit of checking NOAA and NWS storm reports for your service area after every significant event.
- When a real footprint hits, overlay it on your aging cohorts and canvass with the storm-specific, legally-safe inspection offer. Document to the storm date.
- Formalize the referral ask at every job completion with the cohort-aware script.
- Build one or two genuine local partnerships (real estate, inspection, property management).
- Begin publishing hyper-local content that answers real homeowner questions and ranks for your town.
- Target this month: every channel running on a defined cadence, with a tracked pipeline you own end to end.
By day 90 you have five sources of replacement work, none of which you rent. When a slow stretch comes, you do not panic-buy leads; you turn up the dial on the database, the streets, or the storm response. That is what it means to own the front of your business.
Tracking what actually works
You cannot improve what you do not measure, and the operators who escape bought leads are the ones who run their owned channels with the same rigor a platform would. A few metrics worth keeping per channel:
- Cost per acquired job, fully loaded. Include payroll hours, gas, materials like door hangers and signs, and software. Compare it honestly against what you used to pay all-in for bought leads. Owned channels almost always win once you count the real cost of bad leads.
- Conversation rate (knocks or calls to inspections booked) and close rate (inspections to signed jobs), per channel and per rep. This tells you where targeting is working and where a rep needs coaching.
- Database yield: jobs and revenue produced per hundred contacts worked. This justifies the unglamorous calling time.
- Neighbor-sweep conversion around active jobs. Usually your highest, which tells you to never skip it.
- Source of every booked job, so you know which streets, which storms, and which customers produce, and you concentrate there.
Keep it simple enough that your team actually logs it. A CRM you use beats a perfect one you do not.
Common mistakes that keep contractors stuck on bought leads
To close the loop, here are the traps that keep crews dependent on platforms even after they say they want out.
- Treating outbound as volume instead of targeting. Random knocking and blanket mailers produce just enough pain to convince an owner that outbound "does not work," sending them back to buying leads. The fix is always tighter targeting, not more activity.
- Never following up. A single touch on a lost estimate or an aging customer is a wasted asset. The money is in the second, third, and fourth contact over the years a roof takes to come due.
- Letting green reps guess. Untargeted rookies burn out, and rep churn quietly costs you more than any lead bill. Put the per-house read in their pocket so they sound informed and stay employed.
- Crossing the claims line in storm work. Promising approvals, talking deductibles, or playing public adjuster invites legal trouble and reputational damage. Document conditions, hand over facts, let the homeowner own the claim and the carrier decide.
- Confusing build year with roof age. Assessor data finds candidate cohorts; it does not confirm a roof's age, because re-roofs are invisible to it. Verify on the ground or with imagery that estimates the roof itself.
- Quitting a channel after three weeks. Owned channels compound. The database pays in weeks, the streets in a couple of months, content and referrals in a year. Operators who expect month-one results from a year-long asset give up right before it works.
The homeowners who need a new roof are not hiding behind a paywall. They are on the streets you drive, in the folder on your desk, and in the footprint of the last storm that rolled through. Buying leads is paying someone else to stand between you and people you could reach yourself. Build the channels that find them directly, target the roofs that are actually due, document honestly, and you stop renting your next job and start owning it.
FAQ
Is it really possible to find roof replacement jobs without buying any leads?
Yes, and the strongest roofing companies do it as their primary model. Replacement demand comes from roofs aging out and from storm damage, both of which you can find through your own customer database, targeted door knocking on aging neighborhood cohorts, free public storm data from NOAA and the National Weather Service, referrals and neighbor sweeps around active jobs, and an owned local search presence. None of those require paying a marketplace per lead, and they build assets that keep producing after you stop spending.
What is wrong with buying shared roofing leads?
Shared leads are sold to several contractors at once, so you reach a homeowner who is already price-shopping among your competitors, which lowers your close rate and compresses your margin. You also pay for leads that never answer, are out of your area, or were never serious. Worst of all, the moment you stop paying, the flow stops, because you built an expense, not an asset. Owned channels cost effort instead of per-lead fees and keep producing over time.
How do I find which neighborhoods have roofs that are due for replacement?
Roofs in a subdivision tend to age in cohorts, so look for tracts built in an era that puts original roofs in the replacement window, typically the high teens to mid-twenties in age for common asphalt shingle products. County assessor and parcel records give you the build era for free. Then verify on the ground, because build year is the home's age, not the roof's age, since re-roofs do not change the build year. Visible wear from the curb and a cluster of recently replaced neighboring roofs are strong signals that a cohort is turning over.
How do I door knock for roofing replacements without burning out my reps?
The fix for rep burnout is targeting, not volume. Knock only candidate roofs that are actually in the replacement window and skip the obviously new ones, so reps have real conversations instead of grinding through not-interested doors. Give green reps a specific, honest opener that offers a free inspection rather than a pitch, and put a per-house read in their pocket so they can say something true about the roof in front of them. Reps who book jobs make money and stay; reps who guess at random doors quit.
Where can I find free storm data to target hail and wind damage?
NOAA's Storm Prediction Center and the National Centers for Environmental Information's Storm Events Database publish hail and wind reports with dates and locations, and the National Weather Service archives local storm reports and warnings by region. These let you map where damaging weather actually passed through your service area at no cost. Remember that a storm report shows where it hailed, not which specific roofs were damaged, so the data points you to a footprint and an on-roof inspection confirms the actual condition house by house.
What can I legally say to a homeowner about an insurance claim after a storm?
You can inspect the roof, document conditions with dated photos, provide a repair or replacement estimate, and give the homeowner a factual record that supports a claim they choose to file. You cannot promise to get a claim approved, handle or negotiate the claim, call yourself a public adjuster or claims specialist, or say anything about the homeowner's deductible, since offering to waive or cover a deductible is fraud in many states. The homeowner owns and files the claim and the carrier decides coverage. Because these rules vary by state, have counsel review any claims-related scripts or marketing copy.
How do I get more work out of my existing customer database?
Export everyone from the last several years and segment them into repair customers, lost estimates, completed replacements, and service-only contacts, then sort by likely current roof age. Repair and lost-estimate roofs that have aged into the replacement window are your top tier. Call them with a free inspection offer rather than a sales pitch, document every roof whether or not they buy, and set follow-up dates. This is usually the fastest-paying channel because the relationships already exist and no competitor is calling those people.
How does roof-age data help me target without buying leads?
Knowing which roofs are due is the bottleneck every owned channel shares, so a reliable per-address read on roof age and storm exposure sharpens all of them at once. RoofPredict reads aerial imagery to estimate roof age as a range per address and models storm physics on each individual roof, then ranks the streets and doors that are actually due so you knock and mail the right houses and skip the new ones. It is not a lead service and does not hand you a customer; it removes the guesswork from targeting. Roof age comes back as a range rather than an exact date, and storm modeling gives odds, not proof, so you still inspect to confirm.
How long before owned lead channels start producing jobs?
It depends on the channel. Working your existing database pays the fastest, often within weeks, because the relationships are already there. Targeted door knocking and neighbor sweeps typically start producing within a month or two of building the routine. Referral systems, local partnerships, and content that ranks in local search compound over many months to a year. The mistake that keeps contractors on bought leads is quitting a year-long asset after three weeks, so sequence the channels and judge each on its own timeline.
What metrics should I track to know my owned channels are working?
Track fully-loaded cost per acquired job, including payroll hours, gas, materials, and software, and compare it honestly against what bought leads cost you all-in. Also track conversation rate from knocks or calls to booked inspections, close rate from inspections to signed jobs, database yield per hundred contacts worked, neighbor-sweep conversion around active jobs, and the source of every booked job so you can concentrate on the streets, storms, and customers that produce. Keep the tracking simple enough that your team actually logs 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.
Sources
- NRCA - National Roofing Contractors Association — nrca.net
- NOAA Storm Prediction Center — spc.noaa.gov
- NOAA NCEI Storm Events Database — ncdc.noaa.gov
- National Weather Service — weather.gov
- Insurance Institute for Business & Home Safety (IBHS) — ibhs.org
- Federal Trade Commission - Lead Generation Guidance — ftc.gov
- OSHA - Roofing and Fall Protection — osha.gov
- International Code Council - International Residential Code — iccsafe.org
- U.S. Census Bureau - American Housing Survey — census.gov
- Bureau of Labor Statistics - Roofers Occupational Outlook — bls.gov
- Texas Department of Insurance - Public Adjusters — tdi.texas.gov
- National Association of Insurance Commissioners (NAIC) — naic.org
- USGS - Aerial Imagery and Earth Resources — usgs.gov
- RoofPredict — roofpredict.com
Related Articles
How to Build a Roofing Mailing List That Actually Books Jobs
Most roofing mailers lose money because the list is wrong, not the postcard. Here's how to build a list of addresses that are actually due for a roof.
How to Build an Aged Roof Mailing List by Address (Without Burning Your Postage Budget)
A practical playbook for roofing contractors who want to mail only the houses with old roofs, address by address, instead of carpet-bombing whole ZIP codes and praying.
The Best Mailing List for Roofing Contractors Is the One You Build From Roof Age and Storm Data
Most roofing mailing lists are just county property dumps with a pretty cover. Here is how to build one that targets roofs the storm wore out and the roofs aging out, then mail it so the phone rings.