Skip to main content

How to Compete With Roofing Companies That Buy Leads (And Win Without Outspending Them)

Michael Torres, Storm Damage Specialist··33 min readRoofing Sales & Growth
On this page

You already know the company you're losing jobs to. They're not better roofers than you. Their crews aren't cleaner, their warranties aren't longer, and half the time their reviews are worse. But they show up first, they call faster, and they seem to be everywhere at once. The reason is almost never craftsmanship. It's that they've bought their way to the front of the line on a homeowner who was shopping online, and they got a text message the second that homeowner filled out a form.

That feels impossible to beat until you understand what's actually happening on the other side of the transaction. A bought lead is not a customer. It's a name and a phone number that a platform sold to four or five contractors at the same time, for somewhere between $40 and $200, with no roof attached to it and no guarantee the person even remembers filling out the form. The contractor who "wins" that lead wins a race to dial, not a relationship. And races to dial are expensive, exhausting, and getting worse every year as the platforms raise prices and shrink the exclusivity.

So the question isn't really "how do I buy better leads than they do." It's "how do I build a flow of work I own outright, so I'm never standing in the same auction they're standing in." That's a winnable fight, and the contractors winning it aren't spending more. They're spending differently. What follows is the full playbook: what the lead-buyers' model actually costs them, where it's fragile, and the four owned channels you can stand up over the next ninety days to take the work back, with the numbers, scripts, and checklists to run each one.

What you're actually competing against (it's smaller than it looks)

The first mistake is overrating the enemy. A company that lives on bought leads looks dominant because their marketing is visible. But their unit economics are brittle, and once you see the math you stop being intimidated.

Here's a representative cost stack for a residential roofer buying shared leads through a platform or a pay-per-lead vendor. These are ballpark figures from how the model typically pencils out; your local numbers will vary, but the shape holds.

Stage Typical figure What it means
Cost per shared lead $45 - $150 Sold to 3-5 contractors simultaneously
Contact rate 40% - 60% The rest never answer, are out of area, or already booked
Lead-to-appointment ~25% - 35% of contacts Many are tire-kickers or insurance window-shoppers
Appointment-to-sale ~30% - 40% Now competing on price against the other buyers
Effective cost per sale $1,500 - $4,000+ After paying for every dead lead along the way

Walk that down. If you buy 100 shared leads at $90 each, you've spent $9,000 before anyone picks up the phone. Maybe 50 answer. Maybe 15 turn into an appointment. Maybe 5 of those close, because the other contractors who bought the same lead have already been to the house and dropped a number. Your $9,000 bought five jobs, so your cost of customer acquisition is roughly $1,800 per sale, in cash, out the door, win or lose. And every one of those five customers got the same call from three of your competitors, so they came in price-shopping from the first handshake.

That's the trap. The lead-buyer isn't winning on margin. They're running a high-volume, low-trust, price-compressed machine that only works at scale and only stays profitable as long as their call speed and their close rate stay elite. The day their best closer quits, the machine sputters. The day the platform raises prices 20%, their margin evaporates. You don't have to out-spend that. You have to refuse to play that game and build something with structurally better economics.

A worked example: same money, two outcomes

Put a real budget against it. Say you have $9,000 a month to put toward getting jobs, and your average roof job nets you $3,000 in gross profit. Here's how that $9,000 plays out two ways.

Path A — buy shared leads. At $90 a lead you get 100 leads. Industry-typical funnel: 50% reach (50 contacts), 30% of contacts set an appointment (15 appointments), 33% close because you're the third quote on a price-shopped roof (5 jobs). Five jobs at $3,000 gross is $15,000 gross, minus the $9,000 lead spend, leaves $6,000. And you have nothing left over, no list, no signs, no reputation. Next month you start at zero and spend $9,000 again.

Path B — owned channels. Put $4,000 into two canvassers for the month, $2,500 into a targeted mail drop, $500 into a referral incentive, and bank $2,000. The canvassers, working a ranked age-plus-storm list, set maybe 40 appointments between them at well under $100 each; you close those at 45% (no price-shopping) for 18 jobs. The mail drop and referrals add a handful more. Even if you're conservative and call it 15 jobs, that's $45,000 gross on $6,500 spent. But the real difference is the residue: yard signs went up on a dozen streets, 15 new homeowners entered your CRM, a few reviews came in, and the door log gives you a re-knock list for next quarter. Path A evaporates; Path B compounds.

That contrast, not any single tactic, is the whole argument. Now the four channels in detail.

The three weaknesses every lead-buyer shares

  1. They rent the customer; they never own them. The platform owns the relationship and resells the same homeowner the next time that roof, or the neighbor's roof, comes up. The contractor is a vendor to the platform, not a brand to the homeowner.
  2. They compete on speed and price, not fit. Because the lead is shared, the homeowner is comparing four quotes. That collapses the conversation to dollars, which is the worst ground for a quality roofer to fight on.
  3. They have no idea which roof they're walking up to. A bought lead tells you a name and an address. It tells you nothing about whether that roof is 6 years old or 26, whether it took hail last spring, or whether it's a re-roof that already happened. They're flying blind and paying for the privilege.

That third one is the opening. Your entire competitive strategy can be summarized as: know more about the roof than the lead-buyer knows about the lead, get to the homeowner before or instead of the platform, and own the relationship so the next job and the referral both come back to you. Let's build that.

Understand the platforms you're up against

It helps to be specific about who's doing the buying, because each platform has a different soft spot.

  • Angi and HomeAdvisor (lead marketplaces). They sell the same homeowner request to multiple pros and charge per lead, often whether or not the lead is real. Contractors routinely report being charged for wrong numbers, out-of-area requests, and people who don't remember filling anything out. The soft spot: the homeowner has zero loyalty to whoever bought them and is being called by several contractors at once, so a faster, better-informed, more local first conversation wins.
  • Pay-per-lead vendors (storm and retail). Specialty vendors sell "storm leads" or "appointments," sometimes at $100 to $300+. Quality is wildly inconsistent; you're paying for someone else's targeting, which is usually ZIP-level and blunt. The soft spot: your own per-roof targeting beats their ZIP-level targeting, so you can find the same homes without the markup.
  • PPC and paid search (running their own ads). The bigger lead-buyers also bid on Google Ads for "roof replacement near me." That's a real auction with real cost-per-click, often $15 to $50 a click in competitive markets, and many clicks never convert. The soft spot: organic local search and reviews put you in the map pack for free, right next to their paid ad, and homeowners trust the reviewed local result.
  • Aggregators and "exclusive" lead sellers. Some promise exclusive (non-shared) leads at a premium. Better, but you're still renting, the price is high, and you still own nothing afterward.

The common thread is that every one of these is a rental with no residual value and ZIP-level (or worse) targeting. Your edge is owned channels with roof-level targeting. Now let's build them.

The mindset shift: own your work, don't rent it

Buying leads is renting. You pay each month, and the moment you stop paying, the flow stops cold. There's nothing left over. No asset, no list, no brand equity, no compounding. You're a tenant in someone else's marketplace, and the landlord can raise the rent or resell your spot any time.

An owned pipeline is the opposite. The streets in your service area don't disappear when you stop paying. Your past-customer list keeps growing. Your reputation on a given block compounds every time a neighbor sees your sign. The work you generate this way costs money to start but trends cheaper over time, and it can't be resold to your competitor because it was never on a shelf.

The contractors who beat the lead-buyers have internalized one sentence: a roofer should own their next job, not rent it from a platform and not wait on a storm for it. Everything below is in service of that. Four channels, each one an asset you keep:

  • Your streets — targeted canvassing and direct mail to the specific homes whose roofs are aging out or storm-worn.
  • Your book — the past customers and dead estimates already sitting in your CRM, which is the cheapest pipeline on earth.
  • Your neighborhood reputation — yard signs, reviews, referrals, and the local-search presence that makes homeowners call you directly.
  • Your speed and documentation — the one place you can actually beat the lead-buyer at their own game, by being faster and walking in with proof.

None of these requires a bigger budget than buying leads. Most require less. They require a system. Here's each one.

Channel 1: Work your own streets (the highest-leverage move)

The single biggest reason buying leads feels necessary is that the alternative, knocking and mailing, has historically been a blunt instrument. You walk a whole subdivision or mail 5,000 postcards and pray. The hit rate is low because most of those roofs don't need you. A roof lasts 18 to 25 years for asphalt shingle; in any given neighborhood, the majority of homes are nowhere near due at any moment. So you burn gas, payroll, and postage on the 80% of doors that were never going to convert.

The fix is not to knock harder. It's to knock the right doors. If you could walk up to only the homes whose roofs are actually aging out or were actually worn down by a recent storm, your hit rate climbs, your reps stop getting demoralized, and your cost per appointment drops below anything a lead platform can offer.

How to figure out which roofs are due

There are three layers of signal, in increasing order of usefulness:

Layer 1 — Year built (weak, but free). County assessor and parcel data tell you when a house was built. The problem every roofer knows: year built is not roof age. A 1998 house may have been re-roofed in 2014, which makes it a terrible target, or never re-roofed, which makes it a great one. Zillow and Google show year built, never roof age. Re-roofs are invisible to them. So year built is a starting filter at best, and it produces a lot of wasted knocks.

Layer 2 — Visual age from imagery. A trained eye, or software reading recent aerial imagery, can estimate roof condition and age from granule loss, streaking, patching, color fade, and the state of the flashing and ridge. This is far better than year built because it sees the actual current roof, including the re-roof the county never recorded. The output is a range, not a birth certificate. You'll get something like "this roof is roughly 18 to 22 years old," which is exactly the window where a homeowner starts thinking about replacement. A range is honest and it's plenty to target on.

Layer 3 — Storm history per roof. This is the layer almost nobody works correctly. Most contractors treat a hail event as a ZIP-code-wide flag: "it hailed in 76others last April, let's go canvass 76others." But a storm doesn't hit every roof in a ZIP the same way. Hail falls in swaths, driven by storm track, wind direction, stone size, and the slope and orientation of each individual roof. The roof on the windward slope facing the storm took a beating; the identical roof two streets over in the lee took almost nothing. Working the whole ZIP wastes most of your effort on roofs the storm barely touched, and it makes you look like every other out-of-town truck blanketing the area.

When you combine roof age with per-roof storm exposure, you get a target list that is dramatically tighter and dramatically more likely to convert: the homes that are both old enough to be due and were actually worn by weather. That's the list worth your crew's time.

Where RoofPredict fits

This is the job RoofPredict was built for, so here's the honest version of what it does and doesn't do. RoofPredict reads aerial imagery to estimate a roof-age range per address, and it models storm physics, hail and wind, on each individual roof rather than flagging a whole ZIP. The output is a ranked list of the homes in an area most likely to be due, scored by age plus what the weather actually did to that specific roof. You can also hand it your own mailing list or CRM export and it will enrich each address with those same roof-age and storm signals, so you're prioritizing the names you already have.

The honest limits, because a trade compares notes and overselling helps nobody: roof age comes back as a range, not an exact install date, because nobody can read a precise date off a photo. Storm modeling gives you odds that a roof was impacted, not courtroom proof that it was; you still confirm everything with an on-roof inspection. It does not measure the roof for an estimate (that's a different category of tool, EagleView and the like) and it doesn't identify shingle brand. What it does is answer the one question that makes canvassing and mail pay off: which houses, on which streets, are worth walking up to first. That's the targeting layer that turns a blunt instrument into a scalpel. You decide if it nailed the roofs you already know on your own streets before you trust it on the ones you don't.

The canvassing system that beats a bought lead

A ranked list is useless without a system to work it. Here's the workflow a sharp crew runs:

  1. Pull the ranked street list. Sort the target area so the most-likely-due roofs are at the top. Your reps work top-down, not block-by-block. A rep should never knock a 4-year-old roof; that's a wasted door and a demoralizing "no."
  2. Brief the rep per house. The best programs hand the canvasser a one-line talking point per address: roof age range, storm flags, anything visible from the curb. A green rep who can say "I noticed roofs on this street are getting up around the twenty-year mark, including yours" sounds like a veteran without ever climbing a ladder. This is how you onboard new reps fast and keep them.
  3. Lead with observation, not a pitch. "Hi, I'm with [Company], we're working on a few roofs on this street. I noticed yours is showing some age at the edges, are you the homeowner?" You're not selling; you're noticing. That outperforms "do you need a new roof?" every time.
  4. Offer a free inspection, set the appointment. The ask is a no-pressure look, not a quote. Get on the calendar or get on the roof right then.
  5. Leave a branded door hanger on the no-answers. Half your target list won't be home. A door hanger with a roof-specific note ("we were on your street looking at roofs around the 20-year mark") plus a QR code to a short homeowner report converts no-answers into inbound calls.
  6. Log every door. Knocked, not-home, not-interested, appointment. This becomes a re-knock list and feeds your CRM. The door you knocked today that said "not yet" is a warm follow-up in six months.

Run the numbers against the lead-buyer. A targeted canvasser working a ranked list can comfortably set one appointment for every 20 to 30 quality doors, and on a tight age-plus-storm list that ratio gets better. If your fully loaded canvasser cost is $30 an hour and they knock 20 doors an hour, that's a few dollars per door and well under $100 per appointment, on a homeowner nobody else bought, who isn't price-shopping three other quotes. Compare that to $1,800 per shared-lead sale. The math isn't close.

Canvassing edge cases pros run into

The workflow above is the happy path. Here's what trips crews up in the field and how to handle it:

  • No-soliciting signs and permit rules. Many cities require a solicitor's permit, and some HOAs ban door-to-door outright. Check the local ordinance before you deploy a crew; a fine or a viral neighbor complaint costs more than the permit. Where knocking is restricted, lean harder on targeted mail and door hangers (which are often treated differently than live soliciting, but verify locally).
  • The "I already had someone look" brush-off. This is constant in storm areas where the swarm got there first. Your counter is specificity: "Did they show you what they actually found, or just hand you a number? I pulled your roof before I came, it's reading around twenty years and your north slope took the storm, mind if I show you the two spots I'd want to check?" Knowledge they didn't get from the last guy reopens the door.
  • Renters and absentee owners. A chunk of any list is rentals. The person at the door can't authorize anything. Note it, leave a hanger addressed to the owner, and pull owner-occupancy data into your list so you stop wasting knocks on rentals.
  • The brand-new roof you misjudged. Even good targeting occasionally surfaces a roof that turns out to be a recent re-roof. Own it gracefully: "Looks like yours was done recently, that's great, who'd you use?" You just gathered competitive intel and left a good impression for the referral.
  • Rep safety and weather. Dogs, ice, heat. Set a buddy system in rougher areas, pull crews in lightning, and never let a rep climb a roof on a cold call; the inspection is a scheduled return, not a door-step stunt.
  • Burnout. Knocking is hard on people, which is exactly why blunt targeting is so corrosive: a rep who hears "no, my roof's fine" forty times in a row quits. A ranked list where most doors are genuinely due roofs keeps reps hearing "yeah, actually, it has been leaking," which keeps them earning and keeps them on staff. Rep retention is a hidden ROI of good targeting.

Direct mail, done with a scalpel

Mail has the same problem as canvassing when it's blunt: a 5,000-piece blanket drop to a ZIP at $0.50 to $1.00 a piece is $2,500 to $5,000 to reach mostly roofs that don't need you. Targeted mail to only the aging-and-storm-worn homes cuts the list by 70% or more and lifts response because the message can be specific. "Roofs on your street are reaching the age where insurers and inspectors start paying attention" lands differently than "call us for a free estimate."

A practical mail cadence:

  • Piece 1 — the observation. Roof-age framing tied to the street. No hard sell.
  • Piece 2 (3 weeks later) — the social proof. "We just replaced three roofs on [nearby street]." Neighbors moving creates urgency honestly.
  • Piece 3 (3 weeks later) — the offer. Free inspection, easy scheduling, a real phone number and a QR code.

Mail and canvassing compound. The homeowner who got two postcards and then sees your rep at the door, and then sees the yard sign three houses down, has now had five honest touches. That's how you beat a single cold lead-platform text.

Channel 2: Mine your own book (the cheapest pipeline you own)

Most roofers are sitting on a goldmine they never work: their own CRM. Every past customer, every estimate that didn't close, every inspection that came back "not yet." This is the single cheapest source of new revenue you have, because these people already know you, already trust you, and cost you nothing to reach. While the lead-buyer is paying $90 to talk to a stranger, you have hundreds of warm names sitting in a spreadsheet.

Three veins to mine:

Dead estimates. Pull every estimate from the last three to five years that never closed. A chunk of those homeowners didn't say no, they said "not right now." Some have since had a storm. Some have a roof that's now three years older and finally failing. Sort that list by roof age (or run it through enrichment so you know which of those roofs is now genuinely due) and call the ripe ones. Script: "Hi [name], it's [you] from [company]. We looked at your roof back in [year]. We've been working your area again and your roof's right at the age where I'd want to take another look, no charge. Want me to swing by?"

Past customers, for the second roof and the referral. A roof you installed 12 years ago on a 20-year shingle is approaching its window, and that customer already loves you. More immediately, every past customer is a referral source. A simple twice-a-year touch ("checking in, here's a storm note for your area") keeps you top of mind. Past customers also have neighbors, and a satisfied customer is your best canvassing intro: "We did the Hendersons' roof around the corner."

Storm re-engagement. When a real storm rolls through an area where you have past customers and old estimates, that list becomes a priority call list overnight. You're not chasing strangers across town with the storm-chaser swarm; you're checking on people who already know you, on roofs you may have records for. That's a defensible, classy way to work a storm without looking like an out-of-town predator.

The enrichment angle matters here. If you can take your existing CRM export and tag every address with its current roof-age range and recent storm exposure, you instantly know which 200 of your 2,000 old contacts are worth a call this month. That turns a stale database into a ranked call list. It's the difference between dialing alphabetically and dialing the people whose roofs are actually failing right now.

A simple CRM call cadence that works

Don't just dial randomly when you feel slow. Run it as a repeatable cadence:

  1. Segment the export. Three buckets: dead estimates (1-5 years old), past customers, and prior inspections marked "not yet."
  2. Rank each bucket by current roof readiness. Age range plus any storm flags. Call the ripe ones first; let the rest age into the list naturally.
  3. Touch monthly, not annually. A short, useful message beats a sales blast. "Quick note, there was hail in your area on the 14th and your roof's at an age where it's worth a free look, want me to come by?"
  4. Log the outcome and set the next touch. "Call me in spring" goes on the spring list. Nothing falls through.
  5. Mix channels. A call, then a text with a photo of their roof, then a postcard. Three touches across two weeks outperforms one voicemail.

A reasonable rule of thumb: a roofer with a few years of history is usually sitting on enough dead estimates that working them properly fills a meaningful slice of the schedule before a single new dollar is spent on acquisition. It's the first place to look, not the last.

Channel 3: Build neighborhood reputation that generates inbound

The lead-buyer's deepest weakness is that they have no local brand. They're a phone number that races to the door. You can build something they can't buy: a reputation on the actual streets where you work, so homeowners call you directly and you never pay a platform a finder's fee.

Yard signs and the cluster effect

A yard sign isn't lawn decoration; it's the cheapest local advertising in existence. When you put three roofs on one street and three signs go up, every neighbor driving home sees that your company is the one doing roofs here. Cluster your jobs geographically when you can, finish a street, and let the signs do the canvassing for you. Pair it with a door hanger to the immediate neighbors of every job: "We're replacing your neighbor's roof this week, here's what we found, want a free look at yours?" Same-street work is the highest-converting canvassing there is.

Reviews, and how to actually get them

Google reviews are the modern referral. The contractor with 200 reviews at 4.8 stars beats the lead-buyer with 30 reviews every time a homeowner does the research the platform's customers skipped. Getting reviews is a process, not luck:

  • Ask at the moment of peak happiness: roof's done, site's clean, homeowner's standing in the driveway impressed.
  • Make it one tap. Text a direct review link the same day, while the job is fresh.
  • Train the crew lead to set it up: "My boss tracks our reviews, it really helps the crew if you'd leave a quick word."
  • Respond to every review, good and bad. Homeowners read the responses.

Thirty new reviews a year, sourced this way, compounds into a local-search position that feeds you inbound calls for free.

Local search presence

Claim and fully build your Google Business Profile: real photos of real jobs, service areas, accurate hours, weekly posts. Get your name, address, and phone consistent across the web. This is unglamorous and it's how you show up when a homeowner searches "roofer near me" instead of clicking the lead platform's ad. Every inbound call from organic search is a customer the lead-buyer paid for and you didn't.

Referral systems

A referral from a happy customer is the highest-trust, lowest-cost lead in roofing and it closes at a rate a bought lead can only dream of. Make it deliberate. A modest thank-you for any referral that turns into a job (a gift card, a discount on their next service) and a simple ask at job completion ("if you know a neighbor whose roof is looking rough, we'd take good care of them") turns one job into two. Track it like a channel, because it is one.

Your website and a few honest paid touches

You don't have to swear off all paid marketing to escape the lead trap; you have to make sure the paid dollars feed an asset you own instead of renting a stranger.

  • A site that captures, not only describes. Real job photos, your service area, reviews on the page, and a dead-simple "get a free roof check" form plus a click-to-call. The job of the site is to turn a name into a booked inspection, and to do it fast. Every form fill is yours; nobody resold it to you.
  • Speed-to-lead on web inbound. Wire the form so it texts you instantly and the homeowner gets an immediate auto-reply ("got it, we'll call within 10 minutes"). Then actually call. This is where most contractors leak the inbound they worked to create.
  • Retargeting and a small local-search budget, pointed at your own brand. If you do run ads, run them to your own site and your own booking, building your pixel and your list, rather than buying a shared lead off a marketplace. The dollar that builds your audience compounds; the dollar that buys a shared lead is gone.
  • Reviews and Google Business Profile as your paid-search alternative. Often the highest-ROI "marketing" is simply ranking in the local map pack through reviews and a complete profile, which costs labor, not media spend, and sits right beside the lead-buyer's paid ad at zero cost per click.

The rule of thumb: spend on things that leave you with an asset (a list, a pixel, reviews, signs, a reputation). Refuse to spend on things that leave you with nothing the moment the invoice stops.

Channel 4: Beat them at speed and walk in with proof

There's one place the lead-buyers genuinely win that you can beat them on directly: speed of response and quality of the first conversation. You don't have to abandon this ground; you have to take it.

Speed to lead

When any inbound comes in, from your website, a yard sign call, a referral, the homeowner is comparing you to whoever else they contacted. The contractor who responds in five minutes wins disproportionately; the one who calls back the next afternoon has often already lost. Set a hard rule: every inbound gets a call back inside ten minutes during business hours. Use a simple after-hours forwarding or answering setup so you never miss a call. This is free and most contractors don't do it, which is exactly why it's an edge.

Walk in with proof, not a clipboard

The lead-buyer shows up knowing nothing about the roof and starts from zero. You can show up already knowing the roof's approximate age and that it took hail last spring, with the imagery to show the homeowner. "Before I came out I pulled up your roof, it's reading right around 20 years and your slope took the brunt of the April storm, let me show you what I'm seeing." That's a completely different conversation than a stranger asking to climb on the roof. It builds instant credibility and it makes a green rep sound like an expert.

When a roof has genuine storm damage, the way you handle the inspection and documentation is where good contractors separate from the pack, and it's also where contractors get themselves in legal trouble. Get the documentation right and stay strictly on your side of the line.

Here's what you, the roofer, absolutely should do:

  • Inspect thoroughly and photograph everything. Date-stamped photos of every slope, hail bruising, mat fractures, granule loss in the gutters, damaged vents and flashing, soft metals (gutters, downspouts, AC fins) as corroborating impact evidence.
  • Document the storm context. The date of the storm, hail size reports, wind speeds for the address. Per-roof storm modeling helps you know where to look and supports your photo evidence.
  • Write an accurate, line-item repair estimate. Build a clean, Xactimate-aligned scope of the repair you would perform, priced honestly. This is your scope of work as the contractor doing the job.
  • Hand the documentation and estimate to the homeowner. Explain what you found, factually. Give them a complete package they can use.

And here's the line you must not cross, because crossing it is unlicensed public adjusting in most states and it will end your business:

  • Do not negotiate, adjust, or "handle" the claim for a fee. That's the homeowner's job and the carrier's job, not yours.
  • Do not interpret the homeowner's policy or coverage. You're a roofer, not an adjuster or an attorney.
  • Do not promise a specific payout, approval, or that the claim will be covered. You can't, and promising it is a violation.
  • Do not promise to waive, absorb, eat, or make the deductible disappear. Insurance fraud, full stop.
  • Do not advertise a "free roof." Same problem.
  • Do not represent the homeowner against their insurer. That's the bright legal line.

The safe and effective frame is simple: you document the damage thoroughly, you write an accurate estimate for the work you'd do, and you hand it to the homeowner. The homeowner files their own claim. The insurer decides coverage. You're the expert who gave them a rock-solid, well-documented package, which is a genuine service and a genuine differentiator, without touching the claim itself. Teach your reps this list explicitly. A rep who promises a homeowner "we'll get your deductible waived" isn't closing a deal; they're creating a liability. Knowing which roofs likely have age-plus-storm exposure tells you where to focus the documentation effort; it never tells you what a carrier will decide.

A documentation package that wins on quality, not promises

Here's what a genuinely professional inspection package contains. Build this every time and you'll out-document the lead-buyer's rep who shows up with nothing.

Element What to capture Why it matters
Roof overview photos Each slope, full-frame, plus a labeled diagram Orients anyone reading the file
Damage close-ups Hail bruises with a chalk circle and a coin/marker for scale, mat fractures, granule loss Shows the specific damage, not a vague "it's old"
Collateral evidence Dented gutters, downspouts, vents, AC fins, window screens Soft metals corroborate hail size and direction
Storm context Date, hail-size reports, wind speed for the address Ties the damage to a specific weather event
Accessories and penetrations Flashing, boots, vents, ridge, valleys Scope completeness; nothing forgotten
Line-item repair estimate Your full scope, priced honestly, Xactimate-aligned A clean, defensible scope of the work you'd do

Note what's on that list and what isn't. There's no "estimated payout," no "coverage determination," no "deductible handling." You're a roofer documenting a roof and quoting your work. That's your lane, and done well it's a real edge.

On the estimate itself: keep it itemized and grounded. Tear-off, underlayment, ice-and-water shield to code, drip edge, the actual shingle and accessories, flashing, ventilation, disposal, permits, and labor, each as a line. Itemized scopes read as professional and stand up to scrutiny; a single lump-sum number reads as a guess. Price to your real costs and margin. You're not inflating for a carrier (don't), you're building an accurate scope of work. If your local code requires something the existing roof lacks (ice-and-water shield, a second layer of underlayment, drip edge), note the code reference; you're documenting facts about the work, which is squarely allowed.

Putting it together: a 90-day plan to stop needing bought leads

You don't flip a switch. You stand up the owned channels while you wean off the bought ones, so cash flow never gaps. Here's a realistic sequence.

Days 1-30: Stand up the cheapest channels first

  • Mine the CRM. Export every dead estimate and past customer. Sort or enrich by roof age and storm exposure. Start calling the ripest 50 this week. This is free revenue and it funds everything else.
  • Fix speed to lead. Implement the ten-minute callback rule and an after-hours catch. Free, immediate edge.
  • Launch reviews. Set up the one-tap text-a-link process and start asking on every completed job.
  • Claim and build the Google Business Profile. One afternoon of work for months of inbound.
  • Keep buying leads for now, but track your true cost per sale on them so you have a baseline to beat.

Days 31-60: Turn on targeted outbound

  • Pull a ranked street list for your core service area by roof age plus storm exposure. Pick two or three neighborhoods to start, don't boil the ocean.
  • Run a canvassing pilot. One or two reps, the per-house briefing, the door-hanger-on-no-answers system, the door log. Measure doors-to-appointments and cost-per-appointment.
  • Send the first targeted mail drop to the aging-and-storm-worn list in those same neighborhoods, so mail and knocks reinforce each other.
  • Start clustering jobs by street and getting yard signs up on every one.

Days 61-90: Measure, cut, and scale what wins

  • Compare your numbers. Put cost-per-sale from canvassing, mail, CRM, and referrals next to your bought-lead cost-per-sale. The owned channels will almost always win on cost and on close rate (because nobody's price-shopping you).
  • Cut bought leads proportionally to the owned pipeline you've built. As owned volume covers your crew capacity, the bought-lead spend comes down. Some contractors keep a small bought-lead trickle for fill; many drop it entirely.
  • Reinvest the savings into more canvassers, more mail, and a referral incentive. Every dollar you pull out of the lead platform and put into owned channels compounds instead of evaporating.

A simple scoreboard

Track these five numbers monthly and you'll always know where to push:

Metric Why it matters
Cost per appointment, by channel Tells you which channel to scale
Cost per sale, by channel The true comparison to bought leads
Close rate, by channel Owned/referral closes far above shared leads
Reviews added this month Compounds your inbound
% of revenue from owned channels The number that should climb toward 100%

What pros get wrong

A few traps that sink contractors trying to make this shift:

  • Quitting bought leads cold turkey. Don't. Build the owned channels first, then taper. Gapping your cash flow to make a point helps nobody.
  • Blunt canvassing and mail. Working the whole ZIP instead of the ranked list. This is the #1 reason roofers conclude "door knocking doesn't work" when really their targeting was the problem, not the channel.
  • Ignoring the CRM. It's unglamorous, so it gets skipped. It's also the cheapest money you'll ever make. Work it first.
  • No speed-to-lead discipline. Letting inbound calls sit. You did the work to generate the call; don't lose it to a slow callback.
  • Treating a storm like a ZIP-wide event. Blanketing a whole area after hail wastes most of your effort and makes you look like the out-of-town swarm. Work the roofs the storm actually wore down.
  • Crossing the claims line. Reps promising payouts, approvals, or waived deductibles to close. It's illegal, it's a liability, and it's unnecessary when your documentation is genuinely good.
  • Not tracking by channel. If you can't compare cost-per-sale across channels, you can't make the case to cut the expensive one. Measure everything.

The bottom line

The companies buying leads aren't beating you on roofing. They're beating you on contact, speed and volume, and they're paying through the nose for it on a customer they don't own and can't keep. You take that back by refusing to stand in their auction and building work you own outright: the right doors on your own streets, the warm names already in your book, a reputation on the block that generates inbound, and a first conversation so fast and so well-informed that the homeowner stops shopping.

Knowing which roofs are actually due, by age and by what the storm did to each individual roof, is what turns canvassing and mail from a gamble into a system, and it's the one thing a bought lead never tells you. That's the leverage. RoofPredict exists to hand you that ranked list and to enrich the names you already have, so your crew walks up to the roofs that are worn out and skips the ones that aren't. Hand it a street you already know and judge it on that before you trust it anywhere else. Then go take your work back.

FAQ

Is it cheaper to buy roofing leads or generate your own?

Bought shared leads typically cost $45 to $150 each and, after dead leads and low close rates from competing against the three other contractors who bought the same lead, often net out to $1,500 to $4,000+ per actual sale. Owned channels like targeted canvassing, CRM re-engagement, and referrals usually cost far less per sale once the system is running, because the homeowner isn't being resold to anyone and isn't price-shopping you from quote one. The catch is that owned channels take a few months to ramp, so the smart move is to build them while tapering bought leads, not to quit cold turkey.

How do I find out which roofs in a neighborhood actually need replacing?

Year built from county or Zillow data is a weak signal because it misses re-roofs entirely. The better approach is estimating roof-age range from recent aerial imagery, which sees the actual current roof, then layering in per-roof storm exposure so you know which homes were genuinely worn by hail or wind rather than which ZIP it happened to hail in. Combining age and storm gives you a tight ranked list of the homes worth knocking first. Tools like RoofPredict produce that ranked list; you confirm each one with an on-roof inspection.

Why is door knocking better than buying leads if it's so much work?

The problem with door knocking isn't the channel, it's blunt targeting. Walking a whole subdivision means most doors are roofs that don't need you, which kills your hit rate and demoralizes reps. When you knock only the homes whose roofs are aging out or storm-worn, your appointments-per-door climbs and your cost-per-appointment drops well below a bought lead, on a homeowner nobody else paid for and who isn't comparing four quotes. Targeting is what makes canvassing beat bought leads.

How do I compete with the speed of companies that get instant lead notifications?

Two ways. First, match their speed on your own inbound: set a hard ten-minute callback rule during business hours and an after-hours catch so no call is missed. Second, change the conversation by walking in with proof. When you already know the roof's approximate age and storm history before you knock, you start from credibility instead of from a cold stranger asking to climb a ladder, which beats raw speed on a shared lead every time.

What's the cheapest way to get more roofing jobs right now?

Your own CRM. Every dead estimate and past customer is a warm contact who already knows you and costs nothing to reach. Pull estimates from the last three to five years, sort by which roofs are now genuinely due (by age and recent storms), and call the ripe ones. While a competitor pays $90 to talk to a stranger, you have hundreds of warm names sitting in a spreadsheet. It's the single cheapest pipeline a roofer owns.

Can RoofPredict tell me the exact age of a roof?

No, and any tool claiming an exact install date from a photo is overselling. RoofPredict returns a roof-age range, for example roughly 18 to 22 years, which is honest and is plenty to target on, because that range is exactly the window where homeowners start thinking about replacement. It also models hail and wind on each individual roof to flag storm exposure as odds, not proof. You always confirm with an on-roof inspection before committing to a scope.

How do I work a storm without looking like an out-of-town storm chaser?

Don't blanket the whole ZIP. A storm doesn't hit every roof the same; hail falls in swaths driven by track, wind, stone size, and each roof's slope and orientation. Work the roofs the storm actually wore down, and lead with your existing past customers and old estimates in the affected area, people who already know you. Per-roof storm modeling tells you which homes were genuinely impacted, so you focus your effort and present as the local expert rather than the swarm.

Can a roofer help a homeowner with their insurance claim?

A roofer can and should inspect thoroughly, document damage with dated photos, write an accurate line-item repair estimate, and hand that package to the homeowner. That's a real, valuable service. What a roofer cannot legally do is negotiate or handle the claim for a fee, interpret the homeowner's policy or coverage, promise a specific payout or approval, waive or absorb the deductible, advertise a free roof, or represent the homeowner against the insurer, all of which is unlicensed public adjusting in most states. Stay on the documentation and estimate side; the homeowner files and the insurer decides.

How long does it take to stop relying on bought leads?

Plan for about 90 days to build a self-sustaining owned pipeline. In the first month, stand up the free channels, CRM mining, speed-to-lead, reviews, and Google Business Profile, while still buying leads. In the second month, turn on targeted canvassing and mail to a ranked street list in a few neighborhoods. In the third, compare cost-per-sale across channels and start cutting bought-lead spend in proportion to the owned volume you've built. Many contractors taper bought leads to a small trickle or drop them entirely.

What yard-sign and review tactics actually generate inbound calls?

Cluster your jobs by street so several signs go up on the same block, then door-hang the immediate neighbors of every job, which is the highest-converting canvassing there is. For reviews, ask at peak happiness right after the job, text a one-tap direct link the same day, have the crew lead set it up, and respond to every review. Thirty genuine reviews a year compounds into a local-search position that feeds you inbound calls the lead platforms can't intercept.

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 Association (NRCA)nrca.net
  2. Insurance Institute for Business & Home Safety (IBHS) - Hailibhs.org
  3. NOAA National Severe Storms Laboratory - Severe Weather 101: Hailnssl.noaa.gov
  4. NOAA Storm Prediction Center (SPC)spc.noaa.gov
  5. National Weather Serviceweather.gov
  6. Federal Trade Commission - Hiring a Contractorconsumer.ftc.gov
  7. Texas Department of Insurance - Public Insurance Adjusterstdi.texas.gov
  8. U.S. Bureau of Labor Statistics - Roofers Occupational Outlookbls.gov
  9. International Code Council - International Residential Code (IRC)codes.iccsafe.org
  10. OSHA - Fall Protection in Residential Constructionosha.gov
  11. U.S. Census Bureau - American Housing Surveycensus.gov
  12. FTC - Truth in Advertisingftc.gov
  13. National Association of Public Insurance Adjusters - What is a Public Adjusternapia.com
  14. RoofPredictroofpredict.com

Related Articles