Skip to main content

Roofing Direct Mail List vs Door Knocking List: How to Build Each One So It Actually Pays

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

Most roofing companies build one list and run it two ways. They buy or pull a homeowner list, drop a postcard on the whole thing, and hand the same addresses to the canvassers. Then they wonder why the mail "doesn't work" and why the door guys burn out after three weeks. The problem usually isn't the postcard design or the door script. It's that a mailing list and a knocking list are two different tools that happen to share a database, and the moment you treat them as one, you overspend on one channel and underwork the other.

The short version: mail is cheap per touch, slow, passive, and forgiving of a loose target. It can reach 4,000 doors in a week and waits patiently for the homeowner to decide they have a problem. Knocking is expensive per touch, fast, active, and brutal on a loose target. A rep can physically reach maybe 60 to 100 doors in a productive afternoon, and every door that didn't need a roof is a few minutes of payroll you'll never get back. Those two cost structures mean the lists should be built, sorted, and sized completely differently, even when they're drawn from the same neighborhoods.

What follows is how to build each list from scratch, how to score addresses so the channel fits the door, the real cost-per-contact math on both sides, the scripts and routing that make each one convert, and the specific mistakes that quietly drain budget. The thread running through all of it: the cheaper it is to touch a door, the looser your target can be; the more expensive it is to touch a door, the tighter your target has to be. Get that one relationship right and both lists start paying.

The core difference nobody quantifies

Let's put numbers on the thing people talk about in vibes.

A direct mail piece for roofing typically runs somewhere between $0.45 and $1.20 all-in per address, depending on whether you're sending a postcard, a letter, or a heavier package, and whether you're paying for data, design, print, and postage separately or through a vendor. Call it roughly $0.70 for a decent 6x9 or 6x11 postcard at volume. At that price, mailing a marginal address you're not sure about costs you about seventy cents. If you mail 1,000 borderline homes, you spent $700 to find out. That's a rounding error against a single re-roof.

A knocked door costs dramatically more, and most owners never sit down and figure out how much. If a canvasser is paid $18 to $25 an hour (or draws against commission at an equivalent effective rate), and a good rep covers 12 to 18 productive doors an hour on a tight route, you're looking at roughly $1.25 to $2.00 of payroll per door touched, before you count gas, training, turnover, and the manager's time. And that's the cost to touch the door, not to get an answer. Many doors don't answer. Many that answer aren't the homeowner. The fully-loaded cost to have an actual conversation with a homeowner can easily run $4 to $8.

So a knocked door is roughly 6x to 10x the cost of a mailed one, sometimes more. That single ratio should drive every decision about which addresses go where.

Factor Direct mail Door knocking
Cost per door touched ~$0.45–$1.20 ~$1.25–$2.00 payroll only
Cost per real conversation n/a (passive) ~$4–$8 fully loaded
Doors reachable per day 1,000s 60–100
Speed to first response Days to weeks Same hour
Tolerance for a loose list High Very low
Conversation depth One-way Two-way, objection-handling
Best at Reach, repetition, staying top-of-mind Reading the roof, reading the person, same-day momentum
Punished by Bad creative, bad timing Bad list, bad reps

Read that table as a build spec. Mail forgives a loose list and punishes bad creative and bad timing. Knocking forgives mediocre creative (the rep is the creative) and punishes a loose list without mercy. That's why the lists have to be built differently. You are optimizing for opposite failure modes.

Why the same target doesn't fit both

Imagine a neighborhood of 2,000 homes. From property and imagery data you can roughly sort them: maybe 250 have roofs old enough to be genuinely due, another 400 are in a gray zone (aging but not certain), and the rest are too new to bother. A storm clipped the east side two seasons ago, so maybe 180 of those homes also carry a plausible wind or hail signal on top of their age.

For mail, you can afford to send to all 650 of the due-plus-gray-zone homes, because at seventy cents each that's $455 and you'll repeat it three times over a season. The gray zone is fine to include; mail is cheap enough that being wrong is cheap. For knocking, you cannot send a rep to 650 doors and have them spend equal time on each. You want them on the tightest possible 250 — ideally the ~180 with both age and a storm signal first — because every door that didn't need them is two dollars of payroll and a hit to the rep's morale and momentum. Same neighborhood, same database, two completely different cut lines.

Build the direct mail list: reach, repetition, and a loose-but-not-sloppy target

Direct mail rewards three things: reaching enough doors to matter, hitting them more than once, and not wasting most of your spend on roofs that physically cannot become a job. Notice that precise targeting is third, not first. That's deliberate. The economics of mail mean your biggest lever is repetition and volume, with targeting as the multiplier that keeps it from being a money fire.

Step 1: Define the geography honestly

Start with where your crews can actually service profitably. Drive time matters more than most owners admit. A door 35 minutes out costs you in windshield time on every estimate, every build day, every callback. Draw your mailing radius around the zones where a second truck roll is cheap. For most residential roofers that's a cluster of ZIPs or a set of subdivisions, not a county.

Step 2: Filter to plausible owners of a re-roof

The single most expensive mistake in roofing mail is sending to people who can't or won't buy a roof from you. Two filters do most of the work:

  • Owner-occupied vs renter / absentee. A postcard to a rental doesn't reach a decision-maker. Filter for owner-occupied unless you have a specific reason to court investors (some do; it's a different message). Absentee-owner data is widely available from list vendors.
  • Single-family detached (and, where you work them, specific townhome or small-multi categories). You don't want to mail roof offers into a condo association that replaces roofs by board vote.

Those two filters alone remove a surprising amount of dead weight before you've spent on age data at all.

Step 3: Layer roof age, because year-built lies

Here's where most lists go wrong, and it's worth being precise about why. The fields you get cheaply — year built from the county assessor, or "year built" surfaced by consumer real-estate sites — describe when the house went up, not when the roof was last replaced. A 1992 house may have a four-year-old roof. A 2006 house may be on its original, end-of-life shingles right now. Year built is a decent proxy for the first roof's age and nothing after that, and re-roofs are invisible to it.

This is the gap that aerial-imagery roof-age estimation fills. By reading the actual roof surface from current overhead imagery, you can estimate how old the roof on the ground is as a range (say, 16 to 20 years) rather than guessing from the house's birth certificate. That range is the difference between mailing a street and mailing the half of the street that's actually due. For a channel where being wrong costs seventy cents a pop, even a rough age range tightens your spend meaningfully.

Practical rule for the mail list: include homes whose estimated roof age range starts at roughly 14 to 15 years and up for asphalt shingle markets, and pull the cut line by material and climate (a hot southern market ages shingles faster; a metal-heavy market needs different logic entirely). Include the gray zone here — mail is cheap, and a homeowner who's 12 years in may be exactly the right person to start warming up now so you're the name they call in two years.

Step 4: Add a storm signal where it's real

If a verified hail or high-wind event has crossed your service area, homes under that footprint are worth a distinct, timelier message and sometimes a heavier mail piece. Two cautions, and they matter:

  • A storm footprint is not a roof. A hail swath on a map tells you where it hailed, not which roofs it actually damaged. Wind shadowing, roof pitch, orientation, shingle age, and impact angle all change whether a given roof took a hit. Treat a storm overlay as a reason to prioritize and message differently, not as proof any specific roof is damaged.
  • Keep the copy clean. More on the legal line below, but for mail it comes down to this: you can offer a documented inspection and an honest estimate. You cannot promise an approval, a payout, or that the homeowner's deductible disappears.

Step 5: Size for repetition, not a one-shot blast

The most common mail failure is the one-and-done. A single drop to 5,000 homes performs far worse than three drops to the right 1,700, because direct response is a function of frequency. Plan a sequence — say three to five touches over a season — before you plan the size. Work backward: if your budget supports 5,000 total pieces this quarter and you want at least three touches, your list size is roughly 1,600, not 5,000. Tighter list, more reps, dramatically better response. This is the math owners skip and then conclude "mail doesn't work."

A worked direct-mail list example

Take a service area of 18,000 owner-occupied single-family homes across your profitable ZIPs.

  • Filter to owner-occupied SFH: 18,000 qualify.
  • Layer estimated roof age 14+ years: ~5,200 homes.
  • Of those, a recent wind event footprint covers ~1,400.
  • Budget: $6,000 this quarter at $0.72 per piece = ~8,300 pieces.

Now you choose. You could blast all 5,200 once and have nothing left. Instead: send the 1,400 storm-plus-age homes three times (4,200 pieces, ~$3,024) with a timely documentation message, and send a strong age-only segment of ~1,360 homes three times (4,080 pieces, ~$2,938). Total ~8,280 pieces, ~$5,962, every dollar on homes that are both due and reachable, each seen at least three times. That's a list, a sequence, and a budget that fit each other. Compare it to a single blast of 8,300 random homes and you can feel which one books estimates.

Build the door-knocking list: tight, ranked, and routed

Now flip the cost structure. Every door a rep touches costs real money and real energy, and a rep's day is a fixed, small number of doors. The knocking list is not "who might need a roof." It's "which 60 to 100 doors, in what order, on what street, will give this rep the best shot at a conversation that turns into an inspection today." Three jobs: cut tight, rank, and route.

Step 1: Cut much tighter than the mail list

Everything you included in the mail gray zone, cut from the knock list. A rep standing on a porch costs you ~$2 in payroll whether or not the roof was due. So the knock list should skew toward the homes you're most confident about: the upper end of the roof-age range, and where available, age plus a storm signal. If the mail list was the due-and-maybe-due homes, the knock list is the due-and-probably-overdue homes, ranked.

A reasonable starting cut for knocking:

  1. Owner-occupied single-family (same as mail).
  2. Estimated roof age range whose lower bound is at or past your replacement threshold — you want "almost certainly old enough," not "possibly."
  3. Where a verified storm footprint exists, those homes float to the top.
  4. Exclude obvious recent re-roofs (a bright, clearly new roof in current imagery is a no-knock — don't spend a rep proving the roof is fine).

Step 2: Rank, don't just list

A flat list of 400 qualified addresses is not a knock plan. Rank them so the rep spends the first and best hours of the day on the highest-probability doors. A simple, defensible score:

  • Roof age signal (older, tighter range = higher).
  • Storm signal present (yes = higher).
  • Density (homes clustered so the rep walks, not drives, between doors).
  • Time-of-day fit (which streets answer in the evening vs midday).

You don't need a data-science team for this. A weighted score from 0 to 100 across those four factors, sorted descending, is enough to make a rep's day measurably better. The point is that the rep works the 86s before the 51s, every day.

Step 3: Route for walkability

Knocking is a foot game. The enemy is the rep driving three minutes between every qualified door. Build routes that cluster 40 to 80 ranked doors into a tight, walkable loop — ideally a few connected streets where the qualified homes are dense enough to walk. A rep on a dense route can touch 100 doors; the same rep on a scattered list touches 35 and quits early. Density is a force multiplier you control entirely through how you build the list and the route, and it's worth as much as the targeting itself.

Practically: when you pull the ranked list, pull it geographically so you can hand a rep a defined block, not a spreadsheet of addresses spread across four subdivisions. Many CRMs and canvassing apps will map and cluster for you; if yours doesn't, group by street and assign loops manually. The goal is that the rep's next door is almost always within sight of the last.

Step 4: Track every door so the list gets smarter

The knock list is a living thing. Every door should come back with a disposition: not home, not the owner, not interested, inspection set, callback. Two reasons this matters more than people think:

  • No-answers need a second pass at a different time. A "not home" at 2pm is a knock-again at 6pm, not a dead address. Build the callback loop into the route.
  • Dispositions feed the next pull. Over a season you learn which streets answer, which signals convert, and where the roofs really are. A disciplined disposition habit turns a static list into a sharpening tool.

A worked door-knocking list example

Same 18,000-home service area, but now you have two reps and a four-hour evening canvassing block, four nights a week.

  • Two reps x ~80 doors x 4 nights = ~640 door-touches a week, capacity.
  • From the ~5,200 age-qualified homes, cut to the tight knock list: lower-bound roof age past threshold AND/OR storm footprint = ~1,500 homes.
  • Rank 0–100; the top ~640 this week are your worklist.
  • Route them into ~8 dense loops of ~80 doors, assigned by night and rep.

Now each rep walks a tight block of the highest-probability doors in your whole market, in ranked order, with a callback plan for no-answers. Compare that to handing each rep "go knock this subdivision" and hoping. Same payroll, same hours, several times the inspections set, because the expensive resource (the rep's time) is pointed only at the doors most likely to pay.

Where the lists overlap, and the smart play in the middle

The two lists aren't separate universes. They're concentric. The knock list is a tight, ranked subset of the mail list. The smartest operators use that overlap deliberately instead of pretending the channels are independent.

Mail first, then knock the responders and the best non-responders

A postcard creates a soft impression. When the rep knocks a week later and the homeowner half-remembers the name, the door is warmer and the conversation is easier. So sequence them: mail the broad due-and-maybe-due list, then send reps to knock the tightest, highest-ranked slice of that same list a week or two into the mail sequence. The homeowner has seen you twice — once on the counter, once on the porch — and two touches across two channels beats four touches in one.

Let mail responses re-rank the knock list

If your mail piece drives any trackable response — a call, a QR scan, a website visit from a known address — those homes should jump to the top of the knock list, even ahead of the highest age score. A homeowner who responded is telling you the timing is right. Feeding mail responses back into knock-ranking is the cheapest lift available, and almost nobody does it because their mail vendor and their canvassing app don't talk to each other.

The handoff table

Signal Put on mail list? Put on knock list? Note
Roof age 12–14yr (gray zone) Yes No Warm them via mail; too speculative for a $2 door
Roof age 15+yr, no storm Yes Yes (mid-rank) Core of both lists
Roof age 15+yr + storm footprint Yes (timely msg) Yes (top-rank) Highest priority both channels
Clearly new roof in imagery No No No-mail, no-knock; don't pay to reach it
Responded to a mail piece Already there Yes (top-rank) Re-rank above raw age score
Renter / absentee owner No (usually) No Different message if you court investors

What pros get wrong (the expensive mistakes)

After the build mechanics, here's where money actually leaks. These are the patterns that separate a list that pays from one that just spends.

1. Knocking the mail list. The single most common error. The mail list is intentionally loose because mail is cheap. Hand that same loose list to a rep and you've just put your most expensive channel on your least-qualified doors. The knock list must be cut tighter, always.

2. Mailing once and judging the channel. One drop and "mail doesn't work" is a frequency failure, not a channel failure. If you can't afford to hit a list at least three times, your list is too big. Shrink it.

3. Trusting year-built as roof age. Year built misses every re-roof. A list built on year-built is a list that mails new roofs and skips overdue ones on older houses. Roof age has to come from the roof, not the house's birth year.

4. Treating a storm map as a damage map. A hail or wind footprint says where weather passed, not which roofs it wore out. Reps sent to "the storm ZIP" knock plenty of fine roofs. Pair the storm signal with roof age and per-roof modeling so you knock the roofs the storm actually had a shot at hurting, not the whole swath.

5. Scattered routes. A qualified-but-scattered knock list cuts a rep's daily door count in half through windshield time. Density is targeting. Route tightly or you're paying reps to drive.

6. No disposition discipline. Doors that come back as undifferentiated "didn't set anything" teach you nothing. No-answers don't get a second pass, converting streets don't get noticed, and the list never sharpens. Track every door.

7. Ignoring your own book. The cheapest list you own is your old estimates and past customers. A homeowner you quoted four years ago and didn't close may be exactly due now, and they already know you. Past customers refer. Mining your CRM costs zero in data and converts far above cold — yet it's the list owners forget because it isn't "new."

8. Mismatched message to channel. Mail has one shot to earn a glance, so it leads with the offer and the reason-now. The door leads with the rep and a reason the homeowner should give you ninety seconds. Copy-pasting your postcard headline into a door script (or vice versa) wastes both. Different channel, different opening.

Scripts and creative that fit each channel

The list gets them to the door or the mailbox. The message decides whether anything happens next. The two channels need genuinely different messages because they operate on different attention.

Direct mail creative that converts

Mail gets about two seconds at the recycling bin. It has to earn the glance and give a reason to act before it lands in the trash. What works for roofing:

  • Lead with the specific, not the generic. "Roofs on [Street/Neighborhood] from the early 2000s are reaching the end of their service life" beats "Need a new roof?" Specific reads as relevant; generic reads as junk.
  • One offer, one action. A free, no-obligation roof inspection with documented photos and an honest written estimate. One phone number, one QR code. Don't bury it.
  • Make it local and credible. Your truck, your real crew, a real address, a license number where your state requires it. Roofing mail competes against a pile of storm-chaser postcards; looking legitimately local is a differentiator.
  • A reason-now that's honest. "Roof age," "after the [month] storm, we're documenting roofs in your area" — timely framing without promising anything you can't deliver. Avoid manufactured deadlines; homeowners and your reputation both punish fake scarcity.

A clean roofing postcard: a relevant headline tied to the neighborhood or the storm, one or two lines on what you do and why now, a single strong offer (documented inspection + written estimate), one phone number, one QR code, your license and local proof, and a clean photo. That's it. Cleverness loses to clarity here.

Door scripts that convert

The door is a conversation, and the first ten seconds decide everything. The rep is the creative. A workable structure:

  1. Disarm and be specific (first 5 seconds). "Hi, I'm [Name] with [Company] — we're the crew working roofs here on [Street]. I'm not selling anything door to door; I just had a quick question about your roof." Naming the street and dropping the sales energy gets you past the reflexive no.
  2. Give the reason-you're-here. "From the street, roofs in this stretch look like they're from around the same era — a lot of them are getting to the age where the shingles start giving out. I wanted to offer a free look at yours, take some photos, and give you an honest read — no charge, no obligation."
  3. Lower the ask. You're not asking them to buy a roof. You're asking for a free inspection and an honest opinion. The yes is small.
  4. Read the roof out loud. This is the canvasser's edge over mail: a trained rep can point at granule loss, lifted shingles, or storm bruising they can see from the yard, and that specificity is persuasive in a way no postcard can be. "See how the edges are curling up there? That's the shingles drying out."
  5. Set the inspection, not the sale. The goal of the door is a scheduled, documented inspection — same day if you can. Closing the roof happens later, off the estimate, not on the porch.

A back-pocket tool that levels up green reps: a per-home talking point and a simple homeowner-facing report. When a new canvasser can say "the roof on this house looks to be around 18 to 20 years old, and we've had wind through here recently" and hand over a one-page report (or text a QR to it), they sound like a veteran without having climbed a single ladder. That's how you keep a new rep from washing out in week three — they knock the right doors, they sound credible, they set inspections, they make money, and they stay. Rep churn is a list problem as much as a hiring problem.

If any of your mail or door messaging touches storms, damage, or insurance, there's a bright line you cannot cross, and crossing it is a real regulatory and liability problem, not a style note. The issue is unlicensed public adjusting. In many states, a roofer who, for compensation, negotiates or "handles" a homeowner's insurance claim, interprets their policy or coverage, or advertises in a way that positions the contractor as the homeowner's claims advocate against the carrier is acting as an unlicensed public adjuster. Some states read this strictly — even labeling yourself a "claims specialist" has drawn enforcement.

Here's the clean way to think about it, and it maps directly onto what your list and your reps should and shouldn't say.

What you can do, and should:

  • Inspect the roof and document its condition thoroughly with dated photos.
  • Write an accurate, line-item repair estimate (Xactimate-aligned is the industry norm) for your own scope of work.
  • State facts about your scope and what you observed.
  • Hand that documentation and estimate to the homeowner so they can decide whether to file.

What you must never say or advertise — the do-not-say list:

  • That you'll "get the claim approved," "handle," "manage," or "negotiate" the claim.
  • That you'll "maximize the settlement," "fight the adjuster," or "recover every dollar."
  • Anything about the homeowner's deductible being waived, absorbed, covered, or eaten — in many states that's insurance fraud, full stop.
  • "Free roof."
  • Any guarantee of approval or a specific payout.
  • Holding yourself out as a public adjuster or the homeowner's claims advocate.

The safe frame, which also happens to be the honest and durable one: you document thoroughly, you write an accurate estimate, you give it to the homeowner, and the homeowner files while the insurer decides coverage. The claim stays between the homeowner and their carrier. Your mail and door scripts capture the storm-damage intent — that's a real reason a homeowner engages — by offering documentation and an honest estimate, never by promising an outcome. Put this on a one-card brief for your reps and your mail proofreader. It protects the business and, not incidentally, builds more trust than the chaser down the street promising a free roof.

Budgeting and measuring both channels

You can't improve what you don't measure, and the two channels measure differently because they fail differently.

Direct mail metrics

  • Cost per piece (data + design + print + postage, all in).
  • Response rate (calls, QR scans, attributed web visits / pieces mailed). Roofing mail to a sharp list typically lands in a low-single-digit-percent response range; a loose list runs far below that. Track yours; don't trust a benchmark over your own numbers.
  • Cost per response (total spend / responses).
  • Cost per booked inspection, then cost per signed job. This is the number that matters. A "low" response rate on a tight, age-targeted list can still produce a far lower cost-per-job than a "high" response rate on a list full of new roofs that never close.
  • Touches to conversion. Track which drop in the sequence (1st, 2nd, 3rd) the response came on. It almost always justifies the repetition.

Door knocking metrics

  • Doors per rep-hour (productivity; a routing/density signal).
  • Contact rate (conversations / doors touched).
  • Inspection set rate (inspections / conversations).
  • Cost per inspection set (rep hours x rate / inspections).
  • Close rate off inspections, and cost per signed job.
  • No-answer second-pass rate — are you actually re-knocking the no-answers? Most leakage hides here.

A unit-economics gut check

Do this once and it changes how you build lists. Suppose a signed re-roof nets you, conservatively, several thousand dollars of gross margin. If a tight mail sequence costs ~$15 in mail spend per booked inspection and you close one in three inspections, your mail cost per job is ~$45. Even if you tripled every assumption, mail to the right list is absurdly cheap per job. The reason it ever looks expensive is a loose list mailed once. The fix is never "spend more," it's "target tighter and repeat." Same logic on the door: cost per knocked door feels high until you divide total payroll by signed jobs on a tight, ranked, well-routed list — at which point a properly built knock list is one of the cheapest acquisition channels a roofer has. A badly built one is one of the most expensive. The list is the whole game.

Where roof-age and per-roof storm data fit

Everything above hinges on one input you can't get from the county or a consumer real-estate site: how old the roof actually is, and which roofs a storm actually had a shot at damaging. That's the gap RoofPredict is built to close.

The product reads current aerial imagery to estimate roof age as a range per address — not an exact install date, a range like 16 to 20 years, which is honest about what imagery can and can't tell you — and it models storm physics per roof rather than per ZIP. Instead of a hail map that shows where it hailed, it scores which roofs the hail and wind likely wore out, house by house, factoring the things a flat footprint ignores. You hand it your service area (or your own CRM and mailing list), and it ranks the homes by which roofs are due, enriching the addresses you already work with a roof-age range and a storm signal.

That ranking is exactly the cut line both lists need. For mail, it's the difference between blasting a ZIP and mailing the due-and-aging half three times. For knocking, it's the ranked, tight worklist that points your most expensive resource — a rep's afternoon — at the highest-probability doors first. And because it can enrich your existing book, it surfaces the old estimates and past customers who've quietly aged into being due.

The honest limits, because a tight trade compares notes: roof age is a range, not a date, and a storm score is odds, not proof — it tells you which roofs to prioritize, not which roofs are definitely damaged (that's what the inspection is for). It doesn't measure the roof or identify materials for you (that's a different category of tool). And it doesn't buy you leads or hand you customers — it sharpens the outbound you already run on your own streets and your own list. If you want to see whether the roof-age and storm calls hold up, the straightforward test is to hand over a few roofs you already know the answer on and check the ranges against reality before you build a season's worth of mail and knock lists on it.

Edge cases that break the simple rules

The age-and-storm framework above is the spine, but real markets have wrinkles that change the cut lines. Here are the ones that come up enough to plan for.

Markets without storms

A lot of roofing advice assumes you're working hail country. Plenty of roofers aren't. If you're in a market where verified hail and high-wind events are rare, the storm signal mostly drops out and roof age does almost all the work. That's not a weakness — it's actually where pure age targeting shines, because you're not competing with the out-of-town swarm that descends after a storm. Your edge is steady, repeatable work on the roofs aging out, year after year, while the chasers have nothing to chase. Build both lists almost entirely on roof-age range, push the cut line by your local material mix and climate, and lean harder on repetition in mail because there's no storm to create urgency for you. The homeowner's urgency is the roof itself, so your message is about wear and end-of-service-life, not weather.

High-value and steep-slope neighborhoods

In neighborhoods with large, complex, or steep roofs, a single job is worth multiples of a tract-home re-roof, which changes the economics of how far you'll go to reach a door. Here you can justify knocking a slightly looser list, because the payoff per signed job absorbs more misses. You can also justify a heavier, more premium mail piece — a letter or a small package instead of a postcard — because the audience is smaller and each one is worth more. Don't run your tract-home cost model on a custom-home neighborhood; the door is worth more, so the door budget can be bigger.

HOAs and architectural committees

Neighborhoods governed by an HOA with architectural review add a step that neither list accounts for by default. The roof may be due, the homeowner may be sold, and then color or material approval stalls for weeks. This isn't a reason to skip them, but it is a reason to flag them in your data and brief your reps: the homeowner who knows their HOA's approved shingle list is an easier, faster close than one who's about to discover a committee exists. Knowing the neighborhood's rules is itself a credibility signal at the door.

Recently re-roofed streets you can't see

Imagery-based roof age is strong, but a roof replaced last month may not show up in imagery that's a few months old. Treat the no-knock "clearly new roof" filter as catching the obvious cases, not all of them. Reps will still occasionally land on a fresh roof the data didn't catch, and that's fine — the disposition tag ("recently re-roofed") feeds back and tightens the next pull. No data source is perfectly current; the disposition loop is how you close the gap.

Mixed-age subdivisions

Some subdivisions were built in phases over a decade, so "the 2003 neighborhood" is actually 2001 to 2011 on the ground, with original roofs and re-roofs scattered together. This is exactly the case where reading the actual roof surface beats any neighborhood-level assumption. Don't mail or knock "the subdivision" as a block; let per-roof age sort the due homes from the not-yet-due ones inside the same streets.

A note on data hygiene and suppression

Both lists degrade if you don't maintain them, and a few suppression habits save real money and real headaches.

  • Do-not-contact and do-not-mail suppression. Honor opt-outs and keep a running suppression file. A homeowner who asked you to stop is a complaint risk and a reputation risk, and re-hitting them costs you twice — once in spend, once in goodwill.
  • National and state do-not-call rules. If your follow-up includes outbound calling on numbers you've appended, you're subject to telemarketing rules. Knowing where those lines are is a compliance basic, not an afterthought.
  • Address and mover hygiene. Mail to a stale list and a chunk bounces. Run standard address validation so you're not paying postage to vacant or wrong addresses, and refresh owner-occupancy periodically — homes sell, and the new owner is a different prospect with a different roof history.
  • De-duplicate across channels. When the same home sits on both lists (which is the point), make sure your tracking knows it's one home seen across two channels, not two separate prospects. Otherwise your cost-per-job math double-counts.

None of this is glamorous, and all of it quietly determines whether your reported numbers mean anything. A clean list measured honestly will teach you more in one season than a dirty list measured optimistically will in three.

Choosing where to spend first if you only have one budget

Plenty of roofers can't fund both channels at full strength at once. If you have to pick a starting point, here's a defensible way to decide.

Start with mail if: your market is broad and not storm-driven, you don't yet have reps or a canvassing system you trust, you want to build name recognition before you put people on porches, or your service area is too spread out to route reps densely. Mail is the lower-operational-overhead channel — no hiring, no training, no turnover — and it builds the soft impression that makes later knocking easier.

Start with knocking if: you have or can hire reps, your due homes cluster densely enough to route, you need cash-flow this month rather than this quarter (knocking produces same-day inspections; mail is a slower burn), or a recent storm gives you a timely, tight, high-confidence list worth working immediately by foot. Knocking turns a great list into booked inspections faster than any other channel.

And before either, mine your CRM. Your old estimates and past customers are the single highest-converting, lowest-cost list you will ever work, and standing it up costs you data you already own. Whichever paid channel you start with, start the free one first.

Putting it together: a 30-day plan

A concrete sequence to stand both lists up without boiling the ocean.

Week 1 — Define and pull.

  • Draw your profitable service geography (drive-time honest).
  • Filter to owner-occupied single-family.
  • Layer estimated roof age (from imagery, not year-built) and any verified storm footprint.
  • Output two cuts: the broad mail list (due + gray zone) and the tight, ranked knock list (probably-overdue, top-ranked).

Week 2 — Build the mail program.

  • Size the list to your budget at three-plus touches (shrink the list, not the frequency).
  • Design one clean piece: relevant headline, one offer (documented inspection + honest estimate), one phone, one QR, local proof, license where required.
  • Schedule drops two to three weeks apart.
  • Drop one.

Week 3 — Build the knock program.

  • Take the top of the ranked knock list; route it into dense, walkable loops of 40–80 doors.
  • Train reps on the door script and the read-the-roof move; give green reps the per-home talking point and homeowner report.
  • Run a disposition system from day one — every door comes back tagged.
  • Knock the slice of the mail list you just dropped to (warm doors).

Week 4 — Measure, re-rank, repeat.

  • Mail: log responses, attribute to addresses, re-rank those homes to the top of the knock list.
  • Knock: review doors-per-hour (routing), set-rate (script and list), and second-pass the no-answers.
  • Mine your CRM for aged-out past estimates and customers; fold them into both lists.
  • Drop mail piece two. Re-route knocking around what converted.

Run that loop and the two lists stop being one undifferentiated database run two ways. The mail list does what mail is good at — cheap reach and repetition that keeps you top of mind until the homeowner is ready. The knock list does what knocking is good at — pointing your most expensive, most persuasive resource at the doors most likely to pay, today. Keep them separate, keep them fed by real roof age instead of year-built, keep the storm language on the right side of the legal line, and both channels start earning their keep.

The roofs that are due are already out there on your streets and sitting in your old estimates. The only question is whether your list points you at them — or at the whole street, and hopes.

FAQ

Should I use the same list for direct mail and door knocking?

No. They share a database but should be cut differently. Mail is cheap per touch (~$0.45–$1.20), so it tolerates a loose, broad target and rewards repetition. Knocking costs roughly 6x–10x more per door in payroll, so the knock list must be a tight, ranked subset of your most confident addresses. Same neighborhoods, two different cut lines.

How big should my roofing direct mail list be?

Size it backward from frequency, not the other way around. Direct response depends on hitting a home multiple times. Decide on at least three touches per home over a season, then divide your budget by your cost-per-piece and your touch count. If your budget supports 5,000 pieces and you want three touches, your list is about 1,600 homes — not 5,000. A tighter list mailed repeatedly beats a big list mailed once.

Why isn't year built a good way to find old roofs?

Year built tells you when the house went up, not when the roof was last replaced. A 1990s house may have a four-year-old roof; a 2005 house may be on original, end-of-life shingles. Every re-roof is invisible to year-built data. To target by actual roof age you need a read of the roof surface itself — typically estimated as a range from current aerial imagery — rather than the house's birth year.

How many doors can one canvasser realistically knock per day?

On a tight, dense, walkable route, a productive rep touches roughly 60–100 doors in a four-hour block, or 12–18 per hour. On a scattered list with driving between doors, that can drop to 35 or fewer. Density is a force multiplier you control entirely through how you build and route the list, which is why routing matters as much as targeting.

What does it actually cost to knock a door?

Payroll alone runs roughly $1.25–$2.00 per door touched at typical canvasser pay and door rates. But many doors don't answer or aren't the owner, so the fully-loaded cost to have a real conversation with a homeowner often runs $4–$8 once you count no-answers, gas, training, and turnover. That cost is why the knock list has to be cut much tighter than the mail list.

Should I mail first or knock first?

Sequence them. Mail the broad list first to create a soft impression, then knock the tightest, highest-ranked slice of that same list a week or two into the mail sequence. The homeowner has now seen your name twice across two channels, which warms the door. And any home that responds to the mail should jump to the top of the knock list.

Is a hail or storm map enough to build a knock list?

No. A storm footprint shows where weather passed, not which roofs it actually wore out. Roof pitch, orientation, wind shadowing, shingle age, and impact angle all change whether a given roof took damage. Pair the storm signal with roof age and per-roof modeling so reps knock the roofs the storm likely affected, not the whole swath. The footprint is a prioritization signal, not proof of damage on any specific roof.

What can I legally say about insurance in my roofing mail and door scripts?

You can offer to inspect and document the roof with dated photos and write an accurate, honest repair estimate for your own scope, then hand that to the homeowner so they can decide whether to file. You cannot advertise that you'll handle, manage, negotiate, or get a claim approved, promise a payout, say anything about waiving or absorbing the deductible, or offer a 'free roof' — in many states that's unlicensed public adjusting or insurance fraud. The homeowner files; the insurer decides coverage.

How do I measure whether direct mail is working for roofing?

Don't stop at response rate. Track cost per piece, response rate, cost per response, and then the number that matters: cost per booked inspection and cost per signed job. A low response rate on a tight, age-targeted list can produce a far lower cost-per-job than a high response rate on a list full of new roofs that never close. Also track which drop in the sequence the response came on — it usually justifies repeating.

What's the cheapest list a roofer already owns?

Your own CRM. Past customers and old estimates you didn't close cost nothing in data and convert far above cold outreach. A homeowner you quoted four years ago may be exactly due now and already knows you. Enriching that book with current roof-age and storm signals surfaces the ones who've quietly aged into being ready — found work with zero ad spend.

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. Asphalt Shingle Roofing for Homeownersnrca.net
  2. IBHS — Hailibhs.org
  3. FORTIFIED Roof Standardsfortifiedhome.org
  4. NOAA Storm Prediction Centerspc.noaa.gov
  5. NOAA Storm Events Databasencdc.noaa.gov
  6. National Weather Serviceweather.gov
  7. OSHA — Fall Protection in Constructionosha.gov
  8. U.S. Census Bureau — American Housing Surveycensus.gov
  9. International Residential Code (IRC) — Roof Coveringscodes.iccsafe.org
  10. FTC — Advertising and Marketing Basicsftc.gov
  11. USPS — Every Door Direct Mail (EDDM)usps.com
  12. Texas Department of Insurance — Public Insurance Adjusterstdi.texas.gov
  13. Bureau of Labor Statistics — Roofersbls.gov
  14. RoofPredictroofpredict.com

Related Articles