Skip to main content

How to Score Inbound Roofing Leads Before You Call Them Back

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

Two leads come in within four minutes of each other on a Tuesday in May. The first is a form fill that says "need a quote, roof is old." The second is a phone call: a homeowner three blocks from a hailstorm that rolled through eleven days ago, says shingles are in the yard, address is in a neighborhood where the houses all went up in 2003. If your callback order is "whoever came in first," you call the form fill, spend nineteen minutes leaving voicemails, and by the time you dial the second one, a competitor's truck is already in the driveway.

That is the whole problem with inbound roofing leads, and almost nobody fixes it. Roofers obsess over getting more leads and spend almost no energy deciding which lead to touch first, second, and never. The shop that wins is rarely the one with the most leads. It is the one that puts its best closer on the highest-value, highest-probability job inside the window where that homeowner is still shopping.

Scoring inbound leads before you call them back is how you do that. It is a 30-to-90-second routine that runs on every lead the moment it lands, assigns a number, and tells your team the call order. Done right, it lifts your set rate, shrinks your cost per acquired job, and stops your good reps from burning a day on tire-kickers. Below is the full system: the signals that actually predict a closed job, how to weight them, the exact intake script that captures them, how to wire it into a CRM, and the mistakes that quietly cost roofers money. No theory you can't run Monday morning.

Why callback order is the highest-leverage decision in your sales process

Think about what a lead actually costs you to work. A real callback is not one dial. It is the dial, the voicemail, the text follow-up, the second dial an hour later, the conversation, the appointment set, the windshield time to the house, the inspection, the estimate, the follow-up on the estimate. By the time a rep stands on a roof, you have spent real money and an hour or two of a person you pay.

Now multiply that across a week of inbound. If half your leads are low-intent or already committed elsewhere, and you work them in random order, your rep spends the morning on the weakest four leads and reaches the strong one at 2 p.m. — after the homeowner already signed with the company that called at 9:15.

Speed to lead is real, but speed to the right lead is the point

The "speed to lead" research is consistent across industries: the odds of reaching and qualifying a web lead drop sharply the longer you wait, and the steepest drop happens in the first hour. A lead contacted within five minutes is dramatically more likely to connect and convert than one contacted an hour later. That is true in roofing too — a homeowner who just watched water come through the ceiling is in buying mode now.

But raw speed has a trap. If you treat "call everyone in under five minutes" as the only rule, you will call your weakest leads fast and your strongest leads in whatever order the queue happens to surface them. The goal is not speed alone. It is speed weighted by value: the hottest, most valuable lead gets the fastest human callback, every time. Scoring is what lets you do both at once.

The math that should change how you staff intake

Run the numbers for your own shop. Say you get 200 inbound leads a month, your average job is worth $11,000 in revenue, and your current set-to-close path turns 8% of leads into signed jobs. That is 16 jobs, $176,000.

Now assume scoring lets you do three things: (1) reach more of your A-leads inside the hot window, (2) route them to your better closers, and (3) stop wasting your team's capacity on D-leads so they have time for the As. You do not need a miracle. If reordering and routing lifts your conversion on the top tier enough to add just three more signed jobs a month, that is $33,000 in monthly revenue from leads you already paid for. No new ad spend. The lift comes entirely from sequencing.

That is why callback order is the highest-leverage decision in the funnel. Everything upstream (ads, SEO, door knocking, mailers) is about getting the phone to ring. Scoring is about not wasting the rings you already earned.

What actually predicts a closed roofing job

Before you build a score, you have to know which signals correlate with money. Roofers tend to over-weight enthusiasm ("they sounded really interested!") and under-weight the boring structural facts that actually drive close rate and job size. Here are the categories that matter, roughly in order of predictive power for residential re-roof and storm work.

1. Intent and urgency: is something forcing a decision?

A roof is a grudge purchase. People rarely replace one because they feel like it. They replace it because something is forcing the issue: an active leak, a recent storm, a real estate transaction, a failed inspection, an insurance letter, or visible damage a neighbor pointed out. The presence of a forcing event is the single strongest predictor that a lead becomes a job, and soon.

High-intent signals:

  • Active leak ("water came in last night")
  • Storm in the area in the last 30 days plus visible damage
  • Real estate deadline ("closing in three weeks, inspection flagged the roof")
  • Insurer correspondence about the roof's condition
  • Missing/blown-off shingles after wind

Low-intent signals:

  • "Just getting a few prices" with no event
  • "Thinking about it for next year"
  • "Want to know what a new roof costs in general"

2. Roof age and condition: is the roof actually due?

Urgency tells you when; roof age tells you whether the job is real. A homeowner with a leak on a four-year-old roof is probably a flashing repair, a warranty conversation, or a workmanship issue — not a re-roof. A homeowner with general concern on a 22-year-old three-tab is a re-roof waiting to happen.

The trouble is that on a fresh inbound lead you usually do not know the roof's age, and the homeowner often does not either ("it was on the house when we bought it"). This is exactly where pre-call enrichment pays off, and we will get into how to fill that gap without a ladder later on. For scoring, what you want to know is: is this roof old enough that a full replacement is plausible? A roof in a likely 18-to-24-year range is a different lead than one likely 5-to-9 years old, even if both homeowners called with the same words.

3. Geography: storm exposure, route density, and your service area

Where the house sits changes the score three ways.

  • Storm exposure. Was this specific address in the path of a recent hail or wind event, and did that event carry enough energy to do roof damage? "It hailed in the county" is weak. "This roof took two damaging hail events and a wind event in the last three years" is a documentation-worthy, high-value lead. (More on the compliance line around storm and insurance work below — there are things you can document and things you cannot say.)
  • Route density. A lead in a ZIP where you already have three jobs this month is cheaper to serve and easier to reference-sell than one 45 minutes outside your core.
  • Service area fit. A lead outside your service area or on a roof type you don't do (slate, tile, low-slope commercial when you're a steep-slope shingle shop) should score low or route to a referral partner, not your best rep.

4. Property and ownership fundamentals

Boring, decisive:

  • Owner vs. renter. A renter cannot authorize a re-roof. Confirm the caller owns the home or is the decision-maker.
  • Single-family vs. multi-unit/HOA. HOA and condo roofs have a committee and a longer cycle — different motion, often lower close-in-30-days probability even if the work is real.
  • Decision-maker present. "I need to talk to my husband" is fine, but a lead where both deciders are reachable scores higher than one where you're getting a message relayed.

5. Budget and path-to-pay signals

You are not trying to qualify people out for being cash-pay or insurance — you are trying to understand the path. A homeowner who already knows it's an out-of-pocket replacement and is collecting bids is a clean, fast cash sale. A homeowner who believes a storm damaged their roof is a documentation-and-estimate job with a different timeline. Both can be A-leads. What scores low is no plausible path to pay at all ("I have no money but the roof is leaking") with no insurable event.

6. Source and behavior

Where the lead came from and how it behaved tells you something before you ever talk.

  • Source quality. A referral or a call from your own targeted mailer behaves differently than a shared lead-aggregator lead that five competitors also bought. (If you buy aggregator leads, score them lower by default — you are racing four other trucks.)
  • Channel. An inbound phone call generally signals higher intent than a form fill — they picked up the phone. A form fill at 2 a.m. with a full message beats a one-word form fill.
  • Specificity. "My roof is leaking over the kitchen and I have buckets out" is a hotter message than "quote."

Building your lead score: a weighted model you can run by hand

You do not need data science. You need a one-page rubric your intake person can apply in under a minute. Start simple, then tune it with your own closed-won data after 60–90 days.

Here is a starter 100-point model. Adjust weights to match your market — a storm-restoration shop in Texas weights storm exposure higher; a retail re-roof shop in a calm market weights roof age and forcing events higher.

The starter scorecard

Signal What earns points Max points
Forcing event / urgency Active leak or storm-damage claim path = full; real-estate or insurer letter = high; "soon" = mid; "someday" = 0 30
Roof likely due (age) Likely 18+ yr range = full; 12–17 = mid; under 10 = low/zero 20
Storm exposure (this address) Damaging hail/wind event(s) recently at the parcel = full; regional only = partial; none = 0 15
Owner + decision-maker reachable Owner and decider available = full; owner but co-decider out = mid; renter = 0 10
Service-area & roof-type fit Core area + you do this roof = full; edge of area = mid; out of scope = 0 10
Source quality Referral / your own mailer / direct call = full; organic web = mid; shared aggregator = low 10
Path to pay Clear cash bid or documented insurable event = full; unclear = mid; none = 0 5

Total possible: 100.

Turning the score into a callback tier

Numbers are useless until they map to an action. Bucket them:

  • A-lead (75–100): call within 5 minutes, best closer. This is a forcing event on a roof that's plausibly due, in your area, owner reachable. Drop what you're doing.
  • B-lead (55–74): call within the hour, any qualified rep. Real job, maybe slightly longer timeline or a missing signal. Strong appointment-set targets.
  • C-lead (35–54): call same day, then nurture. Could be real, but something's soft — early-stage, co-decider out, edge of area. Set the appointment if you can; otherwise put it on a scheduled follow-up cadence.
  • D-lead (under 35): respond, but don't burn a closer. Renter, out of area, no forcing event, four-year-old roof. Send a polite text/email, offer a referral or a self-serve resource, and don't put windshield time against it until something changes.

The tiers are the whole point. They convert a messy queue into a call list your team can run without a meeting.

A worked example

Lead comes in: phone call, homeowner, address two streets from a hail swath that hit eleven days ago, neighborhood built around 2002, says "a couple neighbors are getting their roofs looked at and ours has some spots." In your service-area core. No leak mentioned.

  • Forcing event / urgency: recent storm + visible-damage curiosity, no active leak → 22/30
  • Roof likely due: ~20-year-old neighborhood, likely 18–22 range → 20/20
  • Storm exposure at address: in the swath, damaging event → 15/15
  • Owner + decision-maker: owner called, spouse to be looped → 7/10
  • Service-area & roof-type fit: core area, asphalt shingle → 10/10
  • Source quality: direct inbound call → 9/10
  • Path to pay: plausible insurable event, to be documented → 4/5

Total: 87 → A-lead. Best closer, within five minutes, walk in ready to document and measure. Compare that to the "need a quote, roof is old" form fill from the intro: no event, unknown age, unknown owner, one-word message — maybe a 30, a C-lead at best until you reach them and learn more. Same hour, wildly different correct response.

Adapting the weights to your business model

The starter scorecard is a residential re-roof default. Three common shop types should bend it.

Storm-restoration shop in a hail belt. Push storm exposure up to 25–30 points and forcing event down a touch, because in your world the storm is the forcing event for a large block of leads at once. Add a sub-signal for "event recency" — a roof hit eleven days ago outscores the same roof hit fourteen months ago, because the homeowner's filing window and shopping urgency both fade with time. Weight route density higher too: when a storm drops 200 damaged roofs in three ZIPs, the leads that cluster near each other are far cheaper to inspect and easier to reference-sell ("we're doing four roofs on your street next week").

Retail re-roof shop in a calm market. Storm exposure barely moves the needle, so drop it to 5 points and reallocate to roof age (push to 25) and forcing event. Your bread and butter is the aging roof plus a leak or a real-estate trigger. Add weight to "home sale" as a forcing event — relocation, listing prep, and post-inspection repairs are a huge, predictable slice of calm-market re-roof demand.

Commercial / low-slope shop. The whole owner-and-decision-maker category changes: you're scoring for a property manager or facilities lead, building age and membrane type matter more than "neighborhood vintage," and the timeline is months not days. Score for budget-cycle signals ("this is a capital project for next fiscal year" is a real B-lead, not a tire-kicker) and weight referral/repeat source heavily, because commercial buys on relationship and track record.

Don't over-engineer the model

A 100-point rubric is plenty. Resist the urge to build a 40-signal model with decimal weights — your intake person has to apply it live on a phone call in under a minute, and a model nobody can run in their head is a model nobody runs. Seven categories, round numbers, clear tiers. The precision you want comes from enrichment (real roof age, real storm data) feeding a simple model, not from a baroque model fed by guesses.

The intake script that captures the signals (without sounding like a survey)

A score is only as good as the data feeding it, and most of that data comes from the first 90 seconds of the call or the form. The art is collecting it without interrogating a stressed homeowner. Weave the questions into a normal, helpful conversation.

Phone intake: the five questions hiding in a friendly call

Train whoever answers the phone — owner, CSR, answering service — to capture these five things on every inbound call. Give them a one-screen form.

  1. "So I can get you the right help fast — what's going on with the roof?" (Captures the forcing event: leak, storm, sale, inspection. This one question drives most of the score.)
  2. "And the property address?" (Geography, storm exposure, route density, area fit — and lets you enrich roof age before you call back.)
  3. "Roughly how old is the roof, if you know?" (Often "no idea," which is fine — you'll enrich it. But if they know, it's gold.)
  4. "Is this the home you own, and will you be the one making the call on the work, or is there someone else?" (Owner + decision-maker, asked warmly.)
  5. "What's the best number and a backup, and is texting okay?" (Multiple contact paths plus text consent dramatically lift your reach rate on callback.)

That is it. Five questions, under two minutes, and you have everything the scorecard needs. Notice you are not asking "what's your budget?" on the cold intake — it kills rapport and the path-to-pay signal comes out naturally once you understand the forcing event.

Web form: design the form to score itself

If you control your web form, make it collect scoring signals by design — but keep it short, because every extra field costs you completions. The best compromise is a short form plus smart fields:

  • Address (required). This single field lets you enrich roof age and storm exposure automatically, so you don't have to ask the homeowner things they don't know.
  • "What's prompting you to look at the roof?" as a dropdown: Active leak / Storm damage / Buying or selling / Roof looks old / Just getting prices. This is your forcing-event signal, pre-coded.
  • Phone + text-consent checkbox. Reach rate.
  • Optional free-text "anything else." Specificity signal.

Five fields. The dropdown alone does 80% of the urgency scoring for you before a human reads it.

After-hours and overflow: don't let A-leads rot overnight

A huge share of roofing calls come in evenings, weekends, and during storms — exactly when your office is closed. If your after-hours plan is "voicemail," your A-leads are aging into your competitor's set rate. Options, cheapest to best:

  • Instant auto-text on missed call: "This is [Company] — we got your call and we'll reach you first thing. If it's an active leak, reply LEAK and we'll prioritize you." The reply itself is a scoring signal.
  • A live answering service trained on your five intake questions, scoring the lead into your CRM so the morning call list is already ranked.
  • An on-call rep for storm season who works A-leads same-night.

The callback cadence: a score is wasted on a single dial

The sharpest scoring in the world fails if you only try once. Reach rates on a single dial are low; most contacts happen on the second, third, or fourth touch. Build a real multi-touch cadence and run it by tier.

Here is a 48-hour A-lead cadence that works:

  1. Minute 0: Auto-text acknowledgment fires the instant the lead lands.
  2. Minute 0–5: First live dial from your best available closer.
  3. No answer → minute 5: Personal text — "Hi [name], it's [rep] with [company], just tried you about your roof. When's a good time today?" Texts get read; voicemails don't.
  4. Minute 60: Second dial, different time of day if possible.
  5. End of day: Email with a one-line value note and a click-to-schedule link.
  6. Next morning: Third dial.
  7. 48 hours: Final dial + "closing the loop" text. If still no contact, drop to long-term nurture rather than disqualifying.

B-leads run the same cadence on a slower clock (touches over 4–5 days). C/D-leads get the auto-text plus an email sequence and one human dial. The rule of thumb: the higher the score, the faster and more human the cadence; the lower the score, the more automated and patient it gets.

Reach mechanics that quietly double your contact rate

Four cheap habits move the needle more than most reps expect:

  • Always capture a backup number and ask "is texting okay?" Text consent alone can lift your effective contact rate substantially, because a homeowner who ignores an unknown call will read a text.
  • Call from a local number, not a toll-free or blocked line — answer rates on recognizably local numbers are meaningfully higher.
  • Vary the time of day across touches. A homeowner who never answers at 10 a.m. may pick up at 6 p.m. Same lead, different window.
  • Lead the voicemail and text with the address, not your pitch. "Calling about your roof at 412 Maple" gets a callback; "calling about your free estimate" gets deleted.

Pre-call enrichment: knowing the roof before the homeowner picks up

Here is the move that separates a sharp shop from an average one. Between the moment the lead lands and the moment you call back, you can already know more about the roof than the homeowner does. That changes both the score and the script of the callback.

What you can learn before you dial

For any address, before you call back, you can pull together:

  • A roof-age range estimated from aerial imagery — not an exact install date, but a tight enough window (say, "likely 18–24 years") to know whether this is a repair conversation or a replacement.
  • Storm exposure history for that specific parcel — which hail and wind events actually passed over and carried enough energy to matter, rather than a vague "it stormed in the county."
  • Property fundamentals — owner-occupied vs. rental, structure type, neighborhood vintage.

With that in hand, your A/B/C/D tiering gets far more accurate, and your callback opens completely differently. Instead of "Hi, you filled out a form," your rep can say, "I pulled up your address before I called — looks like your neighborhood's roofs are getting into the range where we see a lot of replacements, and you've had a couple of significant storms come through. I'd like to come document the actual condition." That is a rep who sounds like a veteran on their first week.

Where RoofPredict fits in the callback workflow

This is the gap RoofPredict is built to close. You hand it the addresses coming off your inbound — or point it at your service area and your old CRM list — and it returns, per address: a roof-age range read from aerial imagery, and a storm history modeled on that specific roof, rather than a regional hail map. The difference matters: a hail map tells you where it hailed; modeling the storm per roof tells you which roofs likely got worn out. Pair that with the homeowner's stated forcing event and your scorecard suddenly has its two hardest-to-get inputs — roof age and real storm exposure — filled in before the callback.

Used this way, RoofPredict does two jobs in the intake flow. First, it enriches inbound leads so your A/B/C/D scoring is grounded in the roof's actual likely age and storm history instead of a guess. Second — and this is where a lot of roofers find money they forgot they had — it can score your existing CRM and mailing list the same way, so the 600 old estimates and past customers sitting in your book get ranked by which roofs are now plausibly due. That turns a dead list into a call list.

Honest limits, because a tight trade compares notes: a roof-age estimate is a range, not a birth certificate — it tells you a roof is likely 18–22 years old, not that it was installed on a Tuesday in 2003. A storm model gives you odds that a roof was affected, not courtroom proof that it was damaged; only a physical inspection establishes actual damage. RoofPredict tells you which roofs to look at first and which to skip — it does not replace getting on the roof, and it is not a lead-buying service handing you the same homeowner five competitors also bought. It sharpens the leads and lists you already have.

Wiring scoring into your CRM so it runs without you

A scorecard on a clipboard works for a one-truck shop. To make scoring survive growth, it has to live in your CRM and fire automatically.

The automation backbone

Most roofing-capable CRMs (and general platforms with automation) can do the following. Build it once:

  1. Lead lands → instant acknowledgment. Auto-text/email within seconds so the homeowner knows you exist. This buys you time without losing speed-to-lead.
  2. Enrichment fires. The address triggers a roof-age + storm-exposure lookup; results write back to the lead record as fields.
  3. Score calculates. Your weighted model runs on the captured + enriched fields and stamps a 0–100 score and an A/B/C/D tier on the record.
  4. Routing + tasks. A-leads ping your best closer's phone immediately and create a "call now" task; B/C/D drop into the right cadence and queue.
  5. SLA timers. If an A-lead isn't contacted in 5 minutes, escalate to a manager. If a B isn't touched in an hour, reassign.

Fields every roofing lead record needs

If your CRM doesn't have these, add them. They're the spine of any real scoring system:

  • Forcing event (picklist: leak / storm / sale / inspection / old / pricing)
  • Roof age range (enriched)
  • Storm exposure (enriched: events + severity)
  • Owner-occupied (yes/no)
  • Decision-maker reachable (yes/no)
  • Service-area fit (core / edge / out)
  • Lead source (referral / mailer / organic / aggregator / repeat)
  • Text consent (yes/no)
  • Lead score (number)
  • Lead tier (A/B/C/D)
  • Disposition (set / not reached / nurture / disqualified — with reason)

Don't let the model rot: feed it your outcomes

A scoring model is a hypothesis until your own results confirm it. Every 60–90 days, pull your closed-won and closed-lost jobs and check: did A-leads actually close at a higher rate and bigger ticket than B-leads? If your "storm exposure" weight isn't separating winners from losers in your market, lower it. If "forcing event" is doing all the work, lean into it. The model should be a living thing tuned to your close data, not a static rubric you copied off a blog.

The compliance line on storm, insurance, and "free roof" leads

A big share of inbound roofing leads — especially the high-scoring ones — arrive wrapped in insurance and storm language. "My neighbor said insurance will cover it." "Is my deductible waived?" "Can you get me a new roof for free?" How you handle the callback on these leads is more than a sales question. It is a legal one, and getting it wrong can put your license and your reputation at risk. Score the lead by the roof and the storm — but be disciplined about what you say.

What you can do (and should, well)

A roofing contractor can absolutely:

  • Inspect the roof and thoroughly document its condition with photos, measurements, and dated notes.
  • Write an accurate, line-item repair estimate, aligned to standard estimating practice, for the scope of work you would perform.
  • State facts about your own scope of work to the carrier if asked.
  • Hand the homeowner clear documentation — photos and the estimate — that they can use when they decide whether to file.

That documentation workflow is where a high-scoring storm lead turns into a signed job the right way. Your callback pitch on a storm A-lead is: "I'd like to come out, get on the roof, and document exactly what's going on with photos and measurements, then write you a detailed estimate. You'll have a clear record of the roof's condition either way." Clean, valuable, and entirely on the right side of the line.

What you must not say or do

Unless you hold the proper license, a roofer may not, for a fee, do the homeowner's claim for them. The do-not-say list — train every rep and CSR on it cold:

  • Do not negotiate, adjust, or "handle" the insurance claim on the homeowner's behalf.
  • Do not interpret the policy or tell the homeowner what is or isn't covered.
  • Do not promise a specific payout, approval, or that the claim will go through.
  • Do not promise the deductible is waived, absorbed, or "taken care of." Offering to eat or rebate a deductible is illegal in many states and is insurance fraud.
  • Do not advertise or promise a "free roof."
  • Do not represent the homeowner against their insurer — that is unlicensed public adjusting.

The clean division of labor: you document and estimate; the homeowner files; the insurer decides coverage. Capture every storm and insurance lead — they're often your best-scoring jobs — but answer only on the documentation-and-estimate side. A rep who says "we'll handle your whole claim and get your deductible waived" might feel like a closer; they're a liability. Make compliance part of your callback training, not an afterthought.

Metrics that tell you the system is working

If you can't see it, you can't tune it. Track these by lead tier, not only in aggregate, because the whole point of scoring is that the tiers should behave differently. If your As and Cs convert the same, your model isn't separating anything and needs work.

Metric What it tells you What good looks like
Speed to first contact (by tier) Whether your routing/SLA is actually firing A-leads contacted in minutes, not hours
Contact rate (by tier) Whether your cadence and reach mechanics work Higher on As than Ds (intent + effort)
Set rate (appointments / contacted) Whether your reps convert conversations A-leads set markedly higher than C-leads
Close rate (signed / set) Whether scoring predicts real jobs A-tier closes higher and bigger ticket
Average job value (by tier) Whether high scores mean bigger jobs A-leads carry higher revenue
Cost per acquired job The bottom line of the whole system Falls as you stop wasting capacity on Ds
Speed-to-lead SLA breaches Operational discipline Near zero on A-leads

The single most diagnostic chart is close rate by tier. If A-leads don't close better than B-leads, either your model is weighting the wrong things or your reps aren't getting to the As fast enough — and the contact-rate-by-tier metric tells you which. That's the difference between a model problem and an execution problem, and you fix them differently.

A quick read on lead-source ROI

Scoring also turns your marketing spend honest. Tag every lead with its source, then look at average score and cost per acquired job by source. A channel that floods you with D-leads at a low cost-per-lead can be more expensive per job than a referral channel with a higher cost-per-lead but a stack of As. Most roofers buy more of the cheap channel because the cost-per-lead looks great; scoring shows you the cost that actually matters is per signed roof. Cut or renegotiate the sources that consistently deliver low-scoring leads.

Common mistakes that quietly cost roofers money

After watching how shops actually run their intake, the same expensive errors show up again and again.

Calling back in the order leads arrived

The default. FIFO (first in, first out) feels fair and is almost always wrong. Your queue should be ordered by score, not timestamp. A 90-point lead that came in at 11 a.m. should jump the 35-point lead that came in at 9.

Putting your best closer on every lead

Your A-player's time is your scarcest resource. Spending it on D-leads is like running your best crew on a gutter cleaning. Route A-leads to A-closers and let a junior rep or a nurture sequence handle the long tail. Scoring is what makes that routing decision objective instead of a fight.

Treating a form fill and a phone call the same

They are not the same lead. A phone call is someone who picked up the phone — usually higher intent. Score the channel.

No after-hours plan during storm season

The single most damaging gap. Storm leads spike exactly when offices close. If a damaging hail event rolls through Saturday afternoon and your phone goes to voicemail until Monday, you have donated your best week of A-leads to whichever competitor answered. An auto-text and a same-day callback plan for storm windows pays for itself in one event.

Disqualifying too hard, too early

Scoring is for sequencing, not for throwing leads away. A C-lead is not a dead lead — it's a "don't burn a closer yet" lead. A roof that's only 10 years old today is an A-lead in eight years if you keep the record warm. The nurture cadence on your B/C/D tiers is where a surprising amount of long-run revenue hides.

Never closing the loop on the model

Shops build a scorecard, use it for a month, and never check whether the As actually closed better than the Cs. Without feeding outcomes back in, you're guessing with extra steps. Review quarterly.

Ignoring reach mechanics

A perfect score is worthless if you never reach the person. Capture a backup number and text consent on every lead, and build a real multi-touch callback cadence (call, text, call, email over the first 48 hours). The best lead in the world doesn't convert from a single unanswered dial.

Edge cases the rubric doesn't cover (and how pros handle them)

Every scoring system meets reality, and reality is messy. Train your team on these so they don't freeze when a lead doesn't fit a clean bucket.

The repeat-shopper. A homeowner who calls every spring for three years "just to check prices" but never buys. The naive score keeps tagging them an A on intent. Override with a behavioral flag: after two no-sale cycles, cap them at a C and put them on automated nurture until a real forcing event shows up. Don't burn a closer on a chronic price-checker.

The referral with a weak roof story. Your best customer refers their cousin, but the cousin's roof is six years old with no leak and no storm. The relationship pressure says A; the roof says C. Honor the referral with a fast, warm callback (relationships are the lifeblood of this business) but be honest on the inspection — "good news, your roof has plenty of life left" builds a referrer for life and protects your reputation. A referral earns the callback speed, not a fake job.

The wrong-roof-type lead in your core area. A tile or slate roof when you're a shingle shop, or a flat commercial roof when you do steep-slope. Don't ghost it and don't force it. Route to a vetted referral partner and take a finder relationship — a lead you can't serve well is worth more handed to someone who can than worked badly by you.

The "my neighbor's roofer is doing the whole street" lead. Storm clusters produce these. They score high on every axis and they're time-sensitive because an out-of-town storm crew is already on the block. Treat the cluster as one opportunity: an A-lead that also tells you the rest of that street is worth scoring and door-knocking now, before the swarm finishes.

The vague form fill you can't read. "quote" and nothing else, no phone, bad email. Don't spend a closer on a riddle. Auto-respond asking for the address and what's prompting the call; the ones who reply with a real story re-enter the funnel scored properly, and the ones who don't were never going to convert.

The renter who's actually the decision influencer. Sometimes the caller is an adult child or tenant managing things for an elderly owner. They can't sign, but they drive the decision. Score the job on its merits and capture the real decision-maker's contact — don't disqualify on "renter" when the renter is the gateway to a legitimate owner.

A 30-day rollout plan

You don't need to boil the ocean. Here is how to get scoring live in a month.

Week 1 — Define and capture. Write your one-page scorecard using the starter model above, adjusted for your market. Build the five-question phone intake form and the five-field web form. Train whoever answers the phone. Add the scoring fields to your CRM.

Week 2 — Tier and route. Set your A/B/C/D thresholds and the action for each tier (who calls, how fast, what cadence). Build the SLA timers and the routing rules. Decide your after-hours plan and turn on the missed-call auto-text.

Week 3 — Enrich. Add pre-call enrichment so roof age and storm exposure populate automatically from the address. Run your existing CRM/old-estimate list through the same enrichment and score it — you'll likely surface a stack of forgotten A-leads to work immediately.

Week 4 — Measure and tune. Track set rate and contact rate by tier. At day 30, compare: are A-leads connecting and setting at a higher rate? Adjust weights. Then put a recurring quarterly review on the calendar to re-tune against closed-won data.

The bottom line

More leads is the expensive way to grow. Working the leads you already have in the right order is the cheap way, and almost nobody does it. Score every inbound the moment it lands — on forcing event, roof age, storm exposure, ownership, area fit, source, and path to pay — bucket it into A/B/C/D, and route your fastest, best callbacks to the roofs most likely to become real jobs. Enrich the address before you dial so you know whether the roof is even due and whether a storm actually wore it out. Stay clean on the claims line: document and estimate, let the homeowner file, let the insurer decide. Do that, and your existing lead flow quietly turns into more signed jobs without a dollar of new ad spend.

If you want the two hardest scoring inputs — a roof-age range and a per-roof storm history — filled in automatically for your inbound and for the old list already sitting in your CRM, that is exactly the data RoofPredict hands you. It won't replace getting on the roof, and it won't tell you a job is guaranteed. It will tell you which doors to call back first.

FAQ

What's the fastest way to score an inbound roofing lead?

Capture five things on intake — what's prompting the call (the forcing event), the property address, rough roof age if known, whether the caller owns and decides, and the best contact number with text consent. The forcing event plus an enriched roof-age range and storm-exposure lookup off the address give you 80% of an accurate score in under a minute, which buckets the lead into an A/B/C/D callback tier.

Should I really call leads back out of order instead of first-come-first-served?

Yes. First-in-first-out feels fair but routinely puts your best closer on weak leads while a high-value, high-intent lead ages out and signs with a competitor. Order your callback queue by score, not timestamp. A 90-point lead that came in at 11 a.m. should be called before a 35-point lead that came in at 9 a.m.

How important is speed to lead for roofing specifically?

Very — connect and conversion rates drop sharply the longer you wait, with the steepest fall in the first hour, and a leaking-roof homeowner is in buying mode immediately. But speed alone isn't the goal. The aim is speed weighted by value: your hottest, most valuable lead (an A-lead) gets the fastest human callback, while a quick auto-text holds the lower tiers so you don't lose them either.

What signals actually predict a closed roofing job?

In rough order: a forcing event (active leak, recent storm, home sale, inspection, insurer letter); roof age old enough that replacement is plausible; real storm exposure at that specific address; owner and decision-maker reachable; service-area and roof-type fit; lead source quality; and a plausible path to pay. Enthusiasm on the phone is a weak predictor; structural facts are strong ones.

How do I score a lead's roof age when the homeowner doesn't know it?

Most homeowners can't tell you their roof's age, so don't rely on them. Enrich the address before you call back: estimate a roof-age range from aerial imagery. You won't get an exact install date, but a tight range like 'likely 18 to 24 years' is enough to know whether the callback is a repair conversation or a replacement, which is what scoring needs.

How should I weight storm exposure in my lead score?

Weight it by how specific and severe the exposure is at that exact address, not by 'it stormed in the county.' A parcel that took one or more damaging hail or wind events recently should score high; regional-only storm activity scores partial; no real exposure scores zero. Storm-restoration shops weight this category higher than calm-market retail re-roof shops.

Can I tell a storm-lead homeowner that insurance will cover their roof?

No. Don't interpret their policy, promise coverage or a payout, or say the deductible is waived — those cross into unlicensed public adjusting and, with deductibles, often into fraud. What you can and should do is inspect, thoroughly document the roof's condition with photos and measurements, and write an accurate repair estimate. The homeowner files the claim and the insurer decides coverage.

What should I do with low-scoring (C and D) leads?

Don't throw them away and don't put a closer's windshield time against them. Respond with a text or email, offer a self-serve resource or a referral if they're out of scope, and drop them into a nurture cadence. A 10-year-old roof today is a real job in a few years if you keep the record warm. Scoring is for sequencing, not for discarding.

Do I need a special CRM to run lead scoring?

No. Any CRM that supports custom fields and basic automation can run it. Add fields for forcing event, roof age, storm exposure, ownership, area fit, source, score, and tier. Then automate: instant acknowledgment text on arrival, enrichment lookup, score calculation, tier-based routing to the right rep, and SLA timers that escalate an uncontacted A-lead after five minutes.

How do I know if my scoring model is actually working?

Feed your outcomes back into it every 60 to 90 days. Pull closed-won and closed-lost jobs and check whether A-leads truly closed at a higher rate and bigger ticket than B and C leads. If a category like storm exposure isn't separating winners from losers in your market, lower its weight. A scoring model is a hypothesis until your own close data confirms it.

The Roofline by RoofPredict

Stay Ahead of Roofing Market Changes

Join The Roofline by RoofPredict for weekly roofing intelligence: material price signals, storm demand, insurance and regulatory updates, sales tactics, and local contractor opportunities.

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 Weather Service — Storm Prediction Centerspc.noaa.gov
  4. NOAA National Centers for Environmental Information — Storm Events Databasencdc.noaa.gov
  5. Federal Trade Commission — Advertising and Marketing Guidanceftc.gov
  6. Texas Department of Insurance — Public Insurance Adjusterstdi.texas.gov
  7. National Association of Insurance Commissioners (NAIC)naic.org
  8. U.S. Bureau of Labor Statistics — Roofers (Occupational Outlook)bls.gov
  9. U.S. Census Bureau — American Housing Surveycensus.gov
  10. Occupational Safety and Health Administration — Roofing Safetyosha.gov
  11. International Code Council — International Residential Code (IRC)iccsafe.org
  12. Asphalt Roofing Manufacturers Association (ARMA)asphaltroofing.org
  13. NOAA Severe Weather 101 — Hailnssl.noaa.gov
  14. RoofPredictroofpredict.com

Related Articles