Skip to main content

How to Prioritize Which Roofing Leads to Call First (A Working Triage System)

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

Walk into almost any roofing office on a busy Monday and you'll find the same scene. A rep has forty-one names in a spreadsheet, a phone, and eight productive hours. By lunch they've called the ten at the top because the top is where the cursor lands. The other thirty-one cool off, get half a voicemail on Thursday, and quietly die. Nobody decided those thirty-one weren't worth calling. The spreadsheet decided, by accident of row order.

That is the real problem most shops have. It is rarely a shortage of leads. It is the absence of a deliberate order for working them. When call order is random, your best opportunity of the week might sit in row 28 while a rep burns forty minutes chasing a tire-kicker in row 3 who filled out a form to win a gift card. The fix is not working harder or buying more leads. It is building a triage system that decides, before a rep touches the phone, who gets the first dial, who gets the fifth, and who gets a text instead of a call.

What follows is that system: how to score a roofing lead, how fast to call it, how to sequence a day's list, and how to keep the whole thing honest with numbers instead of gut feel. It is written for the owner or sales manager who already has lead flow and wants more revenue out of the same flow. Nothing here requires new software you don't have, though I'll show where roof-level data changes the math. Let's get into it.

Why call order is the highest-leverage decision in your sales day

Think about what a rep actually controls. They don't control how many leads come in, what the homeowner's budget is, or whether a competitor already signed them. They control three things: who they call, when they call, and what they say. Of those, who-and-when is decided in the first ten seconds of looking at a list, and it quietly caps everything downstream. A perfect pitch delivered to the wrong fourth-priority lead at 4:50 p.m. loses to an average pitch delivered to the right lead ninety seconds after they hit submit.

Two forces make order matter more than most managers admit.

The first is decay. A lead's willingness to talk falls off a cliff with time. Someone who just filled out a form is, in that moment, thinking about their roof. Twenty minutes later they're back in a meeting. The next morning they've forgotten they ever submitted, or they've already talked to two of your competitors. Speed-to-lead research across industries has shown for years that the odds of even reaching a web lead drop sharply once you're past the first few minutes, and the odds of qualifying them drop with it. Roofing is not exempt. If anything, storm-driven urgency makes the decay faster.

The second is finite rep-hours. A rep can make maybe sixty to ninety real dial attempts in a day and have perhaps fifteen to twenty-five actual conversations. That's the budget. Every minute spent on a low-probability lead is a minute stolen from a high-probability one. So prioritization is not a nicety. It is rationing a scarce resource against opportunities of wildly different value. When you don't ration on purpose, you ration by row number, and row number correlates with nothing.

Here's the mental model I want you to hold for the rest of the page: every lead has an expected value and a perishability. Expected value is roughly how much profit you'd book if you won it, times the chance you win it. Perishability is how fast that chance is falling. You call first the leads that are both valuable and perishable. You call later the leads that are valuable but patient. You deprioritize, automate, or drop the leads that are neither. That's the whole philosophy. The rest is mechanics.

The five inputs that actually predict a roofing lead's value

Before you can rank leads you have to know what makes one better than another. Plenty of shops score on vibes ("she sounded motivated"). Vibes don't survive being handed to a new rep. You want inputs you can read off the lead record without a conversation, because the whole point of triage is to order the list before the conversation. Five inputs carry most of the predictive weight.

1. Source and intent

Where the lead came from tells you most of what you need to know about intent. A homeowner who searched "roof leak repair near me," clicked your ad, and requested a quote is a different animal from a name on a list you bought, who is a different animal again from a door-knock that gave you a number to "call sometime." Rank your sources by historical close rate, not by what they cost. The expensive source is not automatically the best source.

A rough hierarchy that holds in most markets, best to worst on intent:

  • Inbound phone call the rep didn't get to (someone called you) — highest intent, call back immediately
  • Referral from a past customer or partner — high intent, warm, trust pre-loaded
  • Quote request from your own site or Google profile — high intent, actively shopping
  • Storm/canvass appointment set in the field — medium-high, but perishable
  • Paid lead-gen form / aggregator lead — medium, often shopped to three other roofers
  • Cold purchased list / old database — low intent, long game

The practical move: tag every lead with its source on entry, and keep a running close rate per source. You'll be surprised. Plenty of shops discover their cheapest source (referrals) closes at three times the rate of their most expensive (a national aggregator), and yet reps treat the rows identically.

2. Speed-to-contact window (how fresh is it)

Freshness is its own input because it governs perishability. A two-minute-old web lead and a two-day-old web lead from the same source are not the same lead. The first deserves a drop-everything call. The second deserves a call, but it's now competing on equal footing with everything else and you've likely lost the speed advantage to a competitor.

Track the timestamp on every lead and compute its age the moment a rep opens the list. Age changes priority. A fresh medium-quality lead often outranks a stale high-quality one purely because you can still be first.

3. Geography and route density

This one gets ignored and it's pure margin. A lead three minutes from a job you're already running, in a neighborhood where you have four signs in yards, is worth more than an identical lead forty-five minutes away across the metro. Why? Lower drive time means more inspections per day, your crew is already mobilized there, social proof is strongest where your work is visible, and if you win it you can batch it with neighbors.

Score geography two ways: distance from your current active job clusters, and density of your existing leads in that ZIP or subdivision. Five leads in one subdivision should be worked as a cluster, not scattered across five different reps' days.

4. Roof condition and storm exposure signal

Here is where roofing prioritization gets to be smarter than generic lead scoring, and where most shops leave the most money on the table. Two leads from the same source, same freshness, same neighborhood are still not equal if one roof is twenty-two years old and sat under a confirmed hail core last spring, and the other is on a six-year-old roof that's seen nothing but sun.

A roof has a useful-life window. Asphalt shingle roofs in most climates reach the end of their service life somewhere in a range, not on a fixed date — driven by material, slope, ventilation, and weather history. A roof that's aging out of that window is a roof where a real, fundable need is more likely to exist. Layer storm exposure on top: a roof that's both old and sat under damaging wind or hail is far likelier to have a documentable, age-appropriate reason to be replaced than a young roof in a calm ZIP.

You usually can't read a roof's exact age or storm history off a lead form. That's the gap. We'll come back to how you fill it. For now, treat "likely roof age range" and "storm exposure" as a real input to ranking, because it predicts whether there's an actual job under the lead at all.

5. Reachability and contact completeness

The least glamorous input and one of the most decisive. A lead with a verified mobile number, an email, and a full address is reachable. A lead with a landline, a misspelled street, and no email is a coin flip you'll ever connect. All the intent in the world is worthless if you can't get the person on the phone.

Score completeness: mobile present, email present, address valid, name present. Penalize obviously junk entries (the "Mickey Mouse" form fills, the 555 numbers, the gibberish emails). Reachability also tells you channel: a great mobile number says call; an email-only lead says start with email and a text.

A lead-scoring model you can run on a whiteboard

You don't need a data-science team. You need a transparent point system any rep can apply in fifteen seconds, that produces a number, and that you tune every quarter against actual closes. Here's a model that works. Adjust the weights to your market, but start here.

Score each lead 0–100 across five buckets, then bucket the total into A/B/C tiers.

Factor Max points How to score
Intent / source 30 Inbound call or referral 30; own-site quote 24; field appt 18; aggregator form 12; cold list 4
Freshness 25 Under 5 min 25; under 1 hr 20; under 24 hr 14; under 3 days 8; older 3
Roof age + storm signal 20 Old roof in storm-hit area 20; old roof, no storm 14; unknown 10; young roof 4
Geography / density 15 In active cluster 15; near recent jobs 11; in service area 7; fringe/far 3
Reachability 10 Mobile+email+valid address 10; partial 6; sparse/suspect 2

Tiering the total:

  • A lead (70–100): call first, today, fast. These are your day-makers.
  • B lead (45–69): call same day after A's are worked; solid pipeline.
  • C lead (under 45): automate the first touch (text/email), call only after A and B are exhausted, or recycle into nurture.

A worked example. A referral (30) that came in 40 minutes ago (20), on a likely-old roof in a recent hail ZIP (20), three streets from a job you're running (15), with a mobile and email (10) scores 95. That's a drop-the-coffee, call-right-now lead. Compare a three-day-old aggregator form (intent 12, freshness 8) on an unknown-age roof (10), forty minutes away (3), email only (6): that's 39, a C. Same "lead" in the same spreadsheet row. One is worth interrupting a meeting for; the other is worth an automated text. The number makes that obvious, and it makes it obvious to a brand-new rep who has no instinct yet.

Two rules keep this honest. First, freshness can override tier for the call-now decision. A brand-new A-source lead that's ninety seconds old jumps the entire queue regardless of everything else, because you're racing competitors and decay. Second, recompute, don't set-and-forget. A lead's score is a snapshot. As it ages, freshness points bleed away and it should fall in the queue. A CRM can do this automatically; a spreadsheet needs a freshness column you re-sort each morning.

Speed-to-lead: the rules that decide whether scoring even matters

You can have a beautiful scoring model and still lose if you're slow. Speed and scoring work together: scoring tells you who, speed tells you when, and for the top tier the answer to when is almost always "now."

The non-negotiables:

  • A-tier and any inbound call-back: under 5 minutes. This is the single highest-ROI operational change most shops can make. The difference between calling a hot web lead in 2 minutes versus 30 is not small; it's often the difference between a conversation and a voicemail nobody returns. If your reps can't hit 5 minutes during business hours, that's a staffing or routing problem to solve before you touch anything else.
  • B-tier: same business day, ideally within the hour.
  • C-tier: first automated touch within minutes (text + email), human call within 1–2 days if they engage.

Three things make sub-5-minute response actually happen:

  1. A real-time alert, not a digest. New A-leads need to ping a phone the instant they arrive — a text, a Slack ping, a CRM push. If your reps find out about leads by checking email every couple hours, you've already lost the race on the best ones.
  2. A designated first-responder. During business hours, someone owns the inbound queue. "Everyone" owns it means no one does. Many shops run a rotation or a small inside-sales role whose only job is to make first contact fast and hand off qualified conversations.
  3. Persistence, not a single dial. Speed gets you to the front of the line; persistence wins the line. A serious cadence for an A-lead is roughly six to eight contact attempts across the first ten to fourteen days, mixing call, text, and email, front-loaded heavily in the first 48 hours. Most shops quit after one or two voicemails. The roofers who win the same leads everyone else has simply call more times.

Here's a workable A-lead cadence:

  • Minute 0–5: call. No answer → immediately text ("Hi, it's Dana from Summit Roofing, you just asked about your roof — is now a good time for a quick call?") and leave a short voicemail.
  • Hour 1–3: second call.
  • Same day evening: third call (people answer after work).
  • Day 2: call + email with a next step.
  • Day 4, Day 7, Day 11: spaced call + text.
  • After that, drop to nurture unless they've engaged.

Text matters more than most roofing shops use it. A homeowner who won't pick up an unknown number will often reply to a text within minutes. Lead with a text alongside the first call for any lead that has a mobile number.

Sequencing a day's list: the morning triage routine

Scoring and speed rules are the policy. Here's the daily operating procedure that turns them into a worked list. This is what a sales manager or rep should do every morning before the first dial, in about ten minutes.

Step 1 — Pull and tag everything new. Every overnight and early-morning lead gets a source tag and a score. If your CRM scores automatically, verify it; if you're on a spreadsheet, fill the columns.

Step 2 — Flag the perishables. Anything under an hour old, plus every missed inbound call, gets a star. These get called first regardless of score, because the clock is the enemy.

Step 3 — Sort A, then B, then C. Within A, sort by freshness (newest first), then by route cluster so geographically close calls land near each other — if you book two inspections you want them in the same part of town.

Step 4 — Block the day. A rough shape that respects both energy and homeowner availability:

Time block Focus
First 90 min Perishables + fresh A-leads (race the clock)
Mid-morning Remaining A-leads, full cadence + texts
Midday B-leads, same-day callbacks
Early afternoon Inspections / appointments booked from the morning
Late afternoon (after 4) Re-dial no-answers — people are home, answer rates jump
End of day Fire automated touches at the C-tier; log everything

Step 5 — Re-triage at noon. New leads arrived all morning. The fresh A-lead that came in at 11:40 outranks the B-lead you haven't gotten to. Re-sort. The list is alive, not a static to-do.

Step 6 — Close the loop on no-answers. Every A and B that didn't connect goes into the cadence with the next attempt scheduled, not left to memory. "I'll try them later" is where good leads go to die.

The discipline that makes this work is simple and brutal: finish the A-tier before anyone touches the C-tier. The instinct to call the easy, friendly, low-stakes lead first — because it feels productive and low-rejection — is exactly the instinct that buries your best opportunities. Manage to the tier.

The roof-data gap, and how to close it

Go back to the scoring table. Four of the five inputs you can fill from the lead record and your own history: source, freshness, geography, reachability. The fifth — roof age and storm exposure — is the one you usually can't see, and it's the one that most directly predicts whether there's a real, fundable job under the lead. That's the gap worth closing, because it's the difference between prioritizing by interest and prioritizing by actual need.

Think about what "roof age + storm signal" actually does to your day. If you knew, for each address on your list, an estimated roof-age range and whether that roof sat under damaging wind or hail, you could push the genuinely due roofs to the top and stop spending A-tier urgency on young roofs that won't need work for a decade. You'd also know which storm-hit, aging-out neighborhoods deserve a concentrated canvass instead of a scattered one. Right now most shops fly blind on this and let it default to "unknown" — which is why the scoring model gives unknown a middle value rather than a high one.

This is the specific gap RoofPredict is built to fill. It estimates a roof-age range per address from aerial imagery and models storm physics — wind and hail exposure — per individual roof, then ranks addresses by how likely they are to be due. You can enrich your own lead list, CRM, or canvass territory with those two signals, so the "roof age + storm" row in your scoring model stops being a guess and starts being data. Practically, that means an aging roof in a confirmed hail footprint gets pushed up your call order, and a young roof in a calm area stops eating your reps' best hours.

Honest limits, because anyone who tells you otherwise is selling you something. A roof-age estimate is a range, not a birth certificate — aerial imagery infers, it doesn't read a permit. Storm modeling gives you odds of meaningful exposure, not proof of damage; only a physical inspection confirms what's actually on the roof. RoofPredict tells you which roofs are likely due and likely exposed so your reps point their finite hours at the highest-probability doors. It does not file claims, doesn't promise any roof qualifies for anything, and is not a substitute for getting on the roof. Used right, it's a prioritization input — it makes your triage smarter, it doesn't replace your inspection. That's the honest scope, and it's exactly where it earns its keep: turning the one input you couldn't see into one you can sort on.

Handling storm and insurance-driven leads without crossing the line

A large share of roofing leads — especially the perishable, high-urgency ones — come after weather. "My neighbor's getting their roof done from the hail, do I qualify?" is a common first sentence. How you prioritize and talk to these leads matters, and there's a compliance line you do not want to cross. Prioritize them aggressively (they're perishable and often genuinely due), but keep your role on the right side of the law.

What a roofing contractor can do, cleanly: inspect the roof, document conditions thoroughly with photos and measurements, and prepare an accurate, Xactimate-aligned repair estimate for the work you would perform. You can state facts about your scope. You then hand that documentation and estimate to the homeowner. The homeowner files their own claim; the insurer decides coverage. That's the lane.

What a contractor may not do — the do-not-say list, worth teaching every rep so it never slips out on a call:

  • Don't offer to negotiate, adjust, or "handle" the claim for the homeowner. For a fee, that's unlicensed public adjusting in most states.
  • Don't interpret the policy or tell a homeowner what their coverage means.
  • Don't promise a specific payout, approval, or that the claim will go through.
  • Don't promise the deductible is waived, absorbed, eaten, or "taken care of." Waiving or rebating a deductible is illegal in many states and is insurance fraud.
  • Don't advertise a "free roof" or imply the homeowner pays nothing.
  • Don't position yourself as representing the homeowner against the insurer.

The safe script when a storm lead asks the inevitable "will my insurance cover it": "What I can do is get up there, document everything thoroughly, and write you an accurate estimate for the repair. You'd file the claim with your carrier, and they decide coverage — I can't promise what they'll approve, but I can make sure the damage is documented properly so nothing gets missed." That captures the lead's real need, it's honest, and it keeps you out of trouble.

For prioritization purposes: storm leads with a documentable, age-appropriate basis (older roof + confirmed storm exposure) are high-value and perishable — exactly the leads to push to the top. Storm leads on young roofs in areas that didn't actually get hit are low-probability and a frequent source of wasted inspections; an honest roof-age and exposure signal keeps you from over-prioritizing them.

Different lead types need different triage rules

The single scoring model gets you 80% of the way, but the best shops layer a few lead-type-specific rules on top, because a referral and a six-month-old database record don't just score differently — they behave differently and respond to different handling. Here's how to think about the main types you'll actually see.

Inbound phone calls you missed

Treat a missed inbound call as the highest-priority object in your entire operation. This person picked up a phone and dialed you. They are mid-decision, often standing under a visible problem, and they will call the next roofer on Google within minutes if you don't call back. The rule is brutal and simple: a missed inbound call gets a callback before any other activity, ideally within a couple of minutes, and it gets a text immediately if the callback doesn't connect. Most shops let these sit in a voicemail box checked twice a day, which is the equivalent of lighting money on fire. If you do one thing after reading this, instrument missed-call alerts so a human dials back fast.

Referrals and past-customer reactivations

Referrals close at multiples of cold lead rates because trust is pre-loaded — someone the homeowner already trusts vouched for you. They're also patient: a referral won't evaporate in twenty minutes the way a web lead will, because they're not shopping three competitors. So referrals are high value but lower perishability, which means they belong near the top of the queue but the world doesn't end if they're call number four instead of call number one. Handle them personally, reference the referrer by name in the first sentence, and never auto-blast them with the same templated text you'd send a cold list. A referral who gets treated like a number is an insult to the person who referred them.

Past customers whose roofs are aging back into the replacement window are a quietly excellent source most shops ignore entirely. You already have their trust, their address, and roughly when their roof went on. If you sold someone a roof and storm exposure or age now puts it back in play, that's a warm A-lead hiding in your own database. Reactivation campaigns against your own customer list, prioritized by which of those roofs are now aging out or sat under recent storms, often beat any paid source on cost per closed job.

Aggregator and shared leads

Leads from a national aggregator or shared lead-gen platform come with a structural problem: they're frequently sold to three or four roofers at once. Your only edge is speed. On a shared lead, the roofer who calls in the first two minutes wins disproportionately, because by the time the third competitor calls the homeowner is annoyed and committed. So aggregator leads need maximum speed-to-lead even though their intent score is only medium — freshness is doing the heavy lifting, and being first is the whole game. Track close rate per aggregator ruthlessly; some sell tired, over-shopped, or outright junk leads, and the only way you'll know is your own close-rate data, not their marketing.

Canvass and door-knock appointments

Field-set appointments are perishable in a different way: the homeowner agreed in a moment of in-person rapport that fades fast. Confirm them quickly — same day or next morning — with a text and a call, because a canvass "yes" that goes un-confirmed for three days becomes a "who are you again?" These also cluster geographically by definition, which is a gift: a street where your canvasser set three appointments is a street to work as a single route, not three scattered visits.

Aged and recycled leads

Every shop has a graveyard of old leads that never closed. Most are dead, but a meaningful slice aren't — they bought from a competitor who did a bad job, they kept putting it off, or their roof has now aged or taken storm damage that makes the need real where it wasn't before. The move is not to put a rep on the phone cold-dialing your graveyard; that's a soul-crushing use of A-tier hours. The move is to re-score the old database against current signals — especially roof age and recent storm exposure — surface the slice that's now genuinely due, and work only that slice. An old lead on a roof that's now clearly aging out under a fresh hail footprint is a different, better lead than it was eighteen months ago. The rest stay in nurture.

Matching the channel to the lead: call, text, or automate

Prioritization isn't only about order — it's also about how you make first contact, because the right channel changes your odds of connecting at all. The mistake is defaulting every lead to a phone call. Match the channel to the lead.

  • High-tier with a mobile number: call and text together. The text catches the homeowner who screens unknown numbers, and a surprising share of people who ignore a call will reply to a text within minutes. Lead with both.
  • High-tier, landline only: call, and if no answer, fall back to email with a clear next step. You've lost your fastest channel, so persistence matters more.
  • Medium-tier: call same day, text as backup, email to leave a paper trail and a booking link.
  • Low-tier: automate the first touch entirely. A templated-but-personal text and an email go out within minutes, and a human only invests time if the lead engages. This is how you serve the bottom of the list without robbing the top.

A word on texting compliance, because it bites shops that get sloppy: text the people who contacted you or whom you have a clear basis to text, identify yourself and your company in the first message, keep it relevant to their request, and honor opt-outs immediately. A homeowner who filled out your quote form expects a text back. A cold-purchased list does not, and blasting it can create real legal exposure under telemarketing and texting rules. Prioritize hard, but text clean.

The deeper point: every lead deserves a first touch fast, but not every lead deserves a human first touch. Automating the bottom of the list is what frees your reps to hit sub-5-minute response on the top of it. Shops that insist on hand-dialing every C-lead end up slow on their A-leads, which is exactly backwards.

Staffing and routing so the system actually runs

A triage system is only as good as the org structure behind it. Three structural choices decide whether sub-5-minute response and disciplined tiering are real or aspirational.

Decide who owns first contact. The cleanest setup for shops past a certain volume is a small inside-sales or intake role whose entire job is fast first contact and qualification, handing booked, qualified conversations to closers. This solves the core conflict: a closer out on an inspection physically cannot answer a fresh lead in five minutes, so if closers also own intake, your speed-to-lead collapses every time they're in someone's driveway. Splitting the roles — fast first-touch intake feeding closers — is how high-volume shops keep response times low. If you're too small for a dedicated role, use a rotation with a clearly designated "on point" person each block of the day, and make it visible who that is.

Route by tier and territory, not round-robin. Naive round-robin assignment hands your best A-lead to whoever's next in line, even if they're on a roof and won't see it for two hours. Route hot leads to whoever can respond now, and route by territory so the rep nearest the address gets the geographically efficient leads. A lead three minutes from a rep's current job should go to that rep, not to someone across the metro for the sake of an even count.

Give reps the data to triage at a glance. A rep should be able to open a lead and see, without digging: source, age, score/tier, contact channels available, and — the input most shops are missing — a roof-age range and storm-exposure flag for the address. The less a rep has to reconstruct, the faster and more consistently they work the right order. This is the operational reason the roof-data gap matters: beyond a better score, it's a faster decision at the moment the rep is staring at the list.

A worked half-day: triage in action

Abstractions are easy to nod along to and hard to apply, so here's a concrete half-morning at a mid-sized shop the day after a storm rolled through the north side of the metro.

It's 7:55 a.m. The overnight haul is thirty-three leads: nine web quote requests, four missed inbound calls, two referrals, fourteen aggregator leads (the storm spiked aggregator volume), three canvass appointments from yesterday evening, and one reactivation flag — a past customer whose ten-year-old roof now sits in the storm footprint.

8:00–8:10, triage. Everything gets a source tag and a score. The four missed inbound calls and the two-minute-fresh aggregator leads from this morning get starred as perishables. The roof-age and storm-exposure enrichment has already run overnight, so each address shows a range and a flag. Two of the aggregator leads are on roofs the data pegs as young and in a ZIP the storm missed — they drop to C immediately, saving an hour of wasted urgency. The reactivation flag scores an A: old roof, confirmed exposure, existing trust.

8:10–8:55, the perishables. The rep calls the four missed inbound calls first. Two connect and book inspections for early afternoon — both on the north side, so they cluster. The other two get a callback voicemail plus an immediate text. Then the fresh north-side aggregator leads, racing the other roofers who bought the same names; being first on two of them lands one booked inspection and one strong follow-up.

8:55–9:40, the A-tier proper. The two referrals get personal calls naming the person who referred them. The reactivation past-customer gets a warm "your roof's getting up there in age and we saw the storm came through your area — want me to come document it and write you an honest estimate?" — note the language: document and estimate, no promise about coverage. Inspection booked.

9:40 onward, B-tier and automation. Remaining web requests get worked down by freshness and route. The C-tier — the young-roof aggregator leads and the far-flung names — get an automated text-and-email first touch, no human time spent. At noon the rep re-triages: the 11:20 web lead on an aging north-side roof now outranks the leftover mid-morning B's, so it jumps up.

Notice what the system did. It put the rep on the four highest-intent objects of the day inside the first ten minutes, used roof data to not waste urgency on two storm leads that weren't real, clustered the booked inspections geographically, and automated the bottom so none of it stole time from the top. Same thirty-three leads a less disciplined shop would have worked in spreadsheet order, ending the morning having called the friendly easy ones and missed two of the four inbound callbacks to competitors.

Common mistakes that quietly wreck call order

After watching a lot of roofing sales operations, the same prioritization mistakes show up again and again. Most are invisible because nothing breaks loudly — you just close less than you should and never know why.

Calling newest-first instead of best-first. Recency feels like urgency, and for the top tier it is. But blindly working the freshest leads means a stale referral worth $14,000 in profit waits behind three fresh tire-kickers. Freshness is a factor inside the score, not a replacement for it.

Treating every source the same. Reps who give an aggregator form the same energy and cadence as a referral are misallocating their best hours. Different sources warrant different speed, persistence, and even who handles them.

Quitting after one or two attempts. The data is consistent across industries: most leads that eventually convert do so after the fifth-plus contact, yet most reps stop after the second. The leads you "already called" are usually still gettable. Persistence is prioritization too — it decides how much of your scarce attention each lead earns over time.

No first-responder, so speed-to-lead is a fiction. If leads land in a shared inbox everyone checks "when they can," your real response time is hours, and your scoring model never gets the chance to matter. Assign the queue.

Letting reps cherry-pick the easy leads. Left alone, reps gravitate to friendly, low-rejection, low-value leads because they feel good to call. The whiteboard score and the tiers exist precisely to remove that discretion and force the A-tier to the front.

Scoring once and never re-sorting. A lead's value changes as it ages. If your list doesn't get re-triaged at least at the start of each day and again midday, you're working a stale order.

Prioritizing by interest instead of need. A homeowner who's very interested but has a six-year-old roof in a calm area is a worse use of A-tier urgency than a quieter homeowner whose roof is genuinely aging out under a storm footprint. Without a roof-condition signal, you can't tell these apart, so you default to whoever sounds most excited — which is not the same as whoever has a fundable job.

Ignoring drive time. Scattering inspections across the metro halves the number a rep can do in a day. Cluster by geography and you book more roofs with the same hours.

Measuring whether your prioritization is working

A triage system you don't measure will drift back to row-order within a month. Track a small number of metrics, review them weekly, and tune the scoring weights quarterly against what actually closed.

The metrics that tell the truth:

  • Speed-to-first-contact, by tier. Median minutes from lead-in to first dial. Your A-tier median should be under 5 minutes during business hours. If it's not, nothing else matters yet.
  • Contact rate, by source. Of leads you tried, what share did you actually reach a human? Low contact rate flags a reachability or cadence problem, not a lead-quality problem.
  • Close rate, by tier and by source. This is the scoreboard for your model. If your A-tier doesn't close meaningfully better than your C-tier, your weights are wrong — fix them.
  • Attempts-to-contact. Average dials/texts before connecting. Tells you whether your cadence is long enough.
  • Inspections per rep per day. Drive-time and clustering discipline show up here.
  • Cost per closed job, by source. The real verdict on where to spend. Cheap leads that never close are expensive; pricey leads that close are cheap.

A simple weekly review: pull close rate by tier. If A's are closing at, say, 22%, B's at 11%, and C's at 4%, your model is sorting correctly and you should feel good about pushing A's hard. If A's and B's close at the same rate, something in your scoring isn't predictive — usually the source weights or a missing roof-condition signal — and it's worth re-examining which inputs actually separate winners from losers in your market.

The quarterly tune: take the last ninety days of closed jobs, look at what they scored when they came in, and check whether your weights match reality. If half your closed jobs came from a source you'd weighted low, raise it. If "unknown roof age" leads closed far below average, that's your business case for adding a real roof-condition signal so unknowns stop diluting your A-tier.

A 30-day rollout plan

You don't install this all at once. Here's a sequence that gets you a working system in a month without blowing up your current pipeline.

Week 1 — Instrument. Make sure every lead is tagged with source and timestamp on entry. Start logging speed-to-first-contact even if it's ugly. You can't improve what you're not measuring, and you'll want a baseline.

Week 2 — Score and tier. Put the whiteboard scoring model in place. Add the columns to your CRM or sheet. Train reps on A/B/C and the call-first-finish-the-A's rule. Keep it simple; perfect weights come later.

Week 3 — Speed and cadence. Stand up real-time alerts for A-leads, assign a first-responder for business hours, and roll out the standard A-lead cadence with text included. This is where the biggest revenue lift usually shows up.

Week 4 — Close the roof-data gap and measure. Add a roof-age and storm-exposure signal so the one input you've been guessing on becomes real, enrich your incoming and existing list with it, and start your weekly metric review. Then begin the quarterly tuning loop.

None of this requires more leads. It requires deciding, on purpose, who your reps call first — and backing that decision with the few signals that actually predict which roofs are due. Do that and the same forty-one names on a Monday morning produce more booked inspections and more signed jobs, because the best opportunity of the week finally gets called at 8:05 a.m. instead of dying in row 28.

If the missing piece for you is the roof-age and storm signal — the input that tells you which doors on your list are genuinely aging out and which sat under the last hail core — that's exactly what RoofPredict scores per address so your triage runs on which roofs are actually due rather than only which homeowner filled out a form. Prioritize on need, call the due roofs first, and let the rest fall where the math puts them.

FAQ

How fast should I call a new roofing lead?

For your highest-value leads (referrals, inbound callbacks, and fresh quote requests from your own site), call within 5 minutes during business hours. The odds of reaching and qualifying a web lead drop sharply after the first few minutes, and competitors are racing you. Lower-tier leads can wait until the same day, but every missed inbound call and any lead under an hour old should jump the queue regardless of its score.

What's the single biggest mistake roofers make when prioritizing leads?

Calling newest-first or top-of-spreadsheet-first instead of best-first. Row order correlates with nothing. A stale high-value referral ends up waiting behind fresh tire-kickers simply because of where it landed in the list. The fix is a scoring model that ranks every lead before a rep dials, plus a hard rule that the A-tier gets finished before anyone touches the C-tier.

How do I score a roofing lead without a data team?

Use a simple 0–100 whiteboard model across five factors: intent/source (30 pts), freshness (25), roof age plus storm signal (20), geography and route density (15), and reachability (10). Total the points and bucket into A (70–100, call now), B (45–69, same day), and C (under 45, automate first touch). Tune the weights each quarter against which leads actually closed.

How many times should I try to contact a lead before giving up?

For an A-tier lead, plan six to eight contact attempts across the first 10–14 days, mixing calls, texts, and email, front-loaded heavily into the first 48 hours. Most reps quit after one or two voicemails, which is why leads everyone else has are still winnable — most conversions happen after the fifth-plus touch. Persistence is part of prioritization: it decides how much attention each lead earns over time.

Should I prioritize a lead by how interested the homeowner sounds?

Interest is a weak signal on its own. A very interested homeowner with a six-year-old roof in a calm area is a worse use of your best hours than a quieter homeowner whose roof is genuinely aging out under a storm footprint. Prioritize by likely need — roof age range plus storm exposure — rather than enthusiasm alone, because need predicts whether there's a fundable job, and enthusiasm doesn't.

How does roof age data change which leads I call first?

Roof age is the input most directly tied to whether a real, fundable job exists, and it's the one you usually can't read off a lead form. Knowing an estimated roof-age range per address lets you push genuinely due roofs to the top and stop spending A-tier urgency on young roofs. Tools like RoofPredict estimate a roof-age range and model storm exposure per address so that factor in your scoring stops being a guess. Note the estimate is a range, not an exact date, and still needs a physical inspection to confirm.

How should I prioritize storm and insurance-driven leads?

Push them up the queue when there's a documentable, age-appropriate basis — an older roof plus confirmed storm exposure — because those are both high-value and perishable. Be cautious with storm leads on young roofs in areas that weren't actually hit; they're a common source of wasted inspections. An honest roof-age and storm-exposure signal keeps you from over-prioritizing leads that won't pan out.

What can I legally say to a homeowner about an insurance claim?

You can inspect the roof, document damage thoroughly, and prepare an accurate, Xactimate-aligned repair estimate for your scope, then hand it to the homeowner — they file the claim and the insurer decides coverage. You may not negotiate or 'handle' the claim for a fee, interpret their policy, promise a specific payout or approval, promise the deductible is waived or absorbed, or advertise a 'free roof.' Those cross into unlicensed public adjusting or insurance fraud in many states. Document and estimate; let the homeowner file and the carrier decide.

How do I know if my lead prioritization is actually working?

Track close rate by tier. If A-tier leads close meaningfully better than B and C (for example 22% vs 11% vs 4%), your model is sorting correctly. If the tiers close at similar rates, your scoring weights aren't predictive — usually the source weights or a missing roof-condition signal — and need re-tuning. Also watch speed-to-first-contact by tier, contact rate by source, and cost per closed job by source.

Should every lead get a phone call?

No. A-tier and B-tier leads warrant a real call (and a text alongside it). C-tier leads — old, low-intent, sparse contact info — are better served by an automated first touch via text and email, with a human call only if they engage. Reserving live calls for the leads most likely to convert is the whole point of triage: you're rationing scarce rep-hours against opportunities of very different value.

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 Roofing: Maintenance and Repairnrca.net
  2. Shingle Roof Performance and Wind Resistanceibhs.org
  3. NOAA Storm Prediction Center — Storm Reportsspc.noaa.gov
  4. National Weather Service — Hailweather.gov
  5. Insurance Information Institute — Filing a Homeowners Claimiii.org
  6. Texas Department of Insurance — Public Insurance Adjusterstdi.texas.gov
  7. Texas Department of Insurance — Roof Damage and Storm Chaserstdi.texas.gov
  8. Federal Trade Commission — Hiring a Contractorconsumer.ftc.gov
  9. OSHA — Fall Protection in Residential Constructionosha.gov
  10. Bureau of Labor Statistics — Roofers Occupational Outlookbls.gov
  11. International Residential Code — Roof Assemblies (ICC)codes.iccsafe.org
  12. U.S. Census Bureau — American Housing Surveycensus.gov
  13. National Association of Insurance Commissioners — Severe Weather Claimsnaic.org
  14. RoofPredictroofpredict.com

Related Articles