All articles

Lead Generation

How Many Roofing Leads Do I Need Per Month? 125

A $150,000 month needs 11 roofing jobs, 50 estimates and 125 qualified leads. Four gates move that number, and one of them is your crew calendar.

Om Patel 14 min read
Photo: Pawel Czerwinski / Unsplash

The short answer

Work backwards: revenue goal divided by average job value gives jobs, jobs divided by close rate gives estimates, estimates divided by lead-to-estimate rate gives leads. A $150,000 month at a $14,500 ticket and a 22% close rate needs about 125 qualified leads. Four gates then move that number: lead definition, dollar close rate, crew capacity and season.

Work backwards from revenue, not forwards from leads. A roofer targeting $150,000 a month at a $14,500 average job needs 11 jobs, which at a 22% close rate means 50 estimates presented, which at a 40% qualified-lead-to-estimate rate means about 125 qualified leads a month.

That is the arithmetic every lead calculator on the internet will give you. It is also the easy part, and on its own it will get you a number that is wrong in both directions at once.

StepCalculationResult
Revenue goalTarget$150,000
Jobs needed$150,000 ÷ $14,50011 jobs
Estimates presented11 ÷ 22% close rate50 estimates
Qualified leads50 ÷ 40% lead-to-estimate125 leads
Raw leads, Google Ads125 ÷ 95% qualified132
Raw leads, Meta125 ÷ 50% qualified250

Look at the last two rows. Same goal, same close rate, same crew, and the raw lead target nearly doubles depending on which platform the leads come from. That is the first of four gates that turn "125 leads" into a number you can actually run a business on.

The baseline math, done properly

Start with the number you actually control: how much revenue you need to sign this month. Divide by your average job sold to get jobs. Divide jobs by your close rate on presented estimates to get estimates. Divide estimates by your qualified-lead-to-estimate rate to get leads.

The inputs above are not invented. A marketer who published 18 months of a roofing company's full P&L on r/Roofing reported a $14,000 to $15,000 average job ticket and a close rate of about 22% across 404 estimates in nine months of 2025. That company sold $1.38 million over those nine months, roughly $153,000 a month, on about 45 estimates a month. The worked example above lands within a rounding error of a real operation.

The 40% lead-to-estimate rate comes from SubcontractorHub's contractor lead calculator, which uses a $12,000 job, a 40% lead-to-appointment rate and a 35% close rate to arrive at 60 leads for eight jobs and about $100,000 in revenue.

Tip

Run the chain twice: once with last quarter's actual numbers and once with the numbers you wish you had. The gap between the two answers is your improvement budget. It is almost always cheaper to close the gap than to buy the difference in leads.

Now the four gates that break this arithmetic.

Gate 1: your "lead" and my "lead" are different objects

A lead target without a channel attached is not a target. The qualification rate between channels differs by roughly 2x, which means the raw volume you have to buy differs by roughly 2x for identical revenue.

The same r/Roofing operator was specific about it: Google Ads search traffic ran about 95% qualified, and when they expanded to Meta ads for volume, qualification fell to about 50%. Their words on why: the company still had no in-house customer service rep, "the time to call back new leads is way longer than it should be, so this artificially brings down the % of qualified meta leads."

That is worth reading twice. Half the gap between channels was not the channel. It was callback speed on a colder audience that punishes delay harder.

ChannelTypical qualificationRaw leads for 125 qualifiedWhat moves it
Google Ads search~95%132Keyword and geography match
Meta ads~50%250Callback speed, offer, creative targeting
Shared marketplaceHighly variableOften 200+Number of contractors sharing the same enquiry
Referral and repeatNear 100%~130Nothing, this is the cheapest lead you own

Shared marketplace leads deserve their own warning. Independently published 2026 benchmarks put shared roofing leads, meaning the same homeowner resold to three to eight contractors, at an 8% to 20% close rate against 25% to 35% for exclusive leads (VA Horizon, citing GhostRep). Feed a 12% close rate into the chain instead of 22% and the 125-lead target becomes 229. The lead is not cheaper. It is a different unit.

Before you set a number, write the definition down: a lead is an inbound contact in our service area, for work we actually perform, with a decision maker reachable by phone. Everything else is traffic.

Gate 2: your close rate is two different numbers and only one of them pays

This is the gate almost nobody publishes, and it is the one most likely to make your lead target too small.

There are two ways to compute a close rate. By count: jobs sold divided by estimates presented. By value: revenue signed divided by the dollar value of estimates presented. Every calculator on the internet uses the first. Your revenue goal is denominated in the second.

For the r/Roofing operator, 2025 looked like this: 404 estimates worth $14,857,432 presented, 91 jobs sold worth $1.38 million.

By the numbers

22.5% by job count. 9.3% by dollar value. Same company, same year, same estimates. The operator's own summary: "only 9.3% of estimate value converts," with the count-based close rate "highly propped up by small residential repair jobs" while the high-ticket work lost.

The 2.4x gap between those two numbers is a mix problem, not a sales problem. Small repairs are easy to win and contribute almost nothing to a revenue target. Large replacements and commercial work are hard to win and are the entire target. Blend them and your close rate flatters you exactly where it costs the most.

The fix is to stop running one funnel. Split the math by job type and run the chain separately for each:

SegmentAvg jobClose rateJobs for $150kEstimates needed
Repairs$1,20045%Track separatelyNot counted toward the goal
Retail replacement$14,50022%1150
Commercial or steep-slope$45,00010%3 to 430 to 40

If your revenue goal depends on replacements, your lead target has to be built from replacement leads only. Counting repair enquiries toward it is how roofers end up hitting their lead number and missing their revenue number by 40%.

Most roofers cannot split close rate by job type because the data lives in three places: a spreadsheet, the estimating tool and someone's phone. A CRM built around your actual pipeline stages makes the dollar close rate a report instead of an evening of arithmetic.

Get a lead plan

Gate 3: capacity, or the number nobody wants to hear

Asked on r/Roofing how many extra quality leads a month a roofing owner would be happy with, the highest-signal reply was not a number. It was a question: "I don't understand the question? Enough to fill my schedule?" The top-voted comment on the same thread was blunter, calling out "the amount of scammy lead generation bullshit people try to sell me."

Both reactions are correct. Lead volume above production capacity is not growth, it is a longer backlog and a worse reputation. On the thread documenting that $2.2 million ramp, a commenter went straight at it: "how tf did they have the resources and connections to handle that amount of work?"

Published roofing crew productivity benchmarks put elite operations at 4 to 5 completed jobs per crew per week and average companies at 2 to 3. The same source recommends planning at 70% to 80% of theoretical maximum to absorb rain delays, equipment failures and complex valley work.

Crew tierJobs per weekTheoretical per monthPlanned at 80%
Average2 to 39 to 137 to 10
Elite4 to 517 to 2214 to 17

Our worked example needs 11 jobs a month. One average crew sustainably delivers 7 to 10. The demand math and the production math disagree, and the production math wins every time.

So the real formula is not a division. It is a minimum:

Jobs you can sell = MIN(what your lead flow produces, what your crews can complete)

Set your lead target off whichever is smaller, then fix the binding constraint. If capacity is the constraint, the highest-return spend this month is a second crew or a scheduling system, not more leads. Same logic applies to your calendar: see roofing scheduling and dispatch software for the operational side of that ceiling.

Gate 4: one number for twelve months is wrong twelve times

Roofing demand is not flat, so a flat lead target is guaranteed to be wrong in both directions. It overspends when leads are cheap and underspends when they are expensive.

SearchLight's Q1 2026 roofing data, covered in our breakdown of what roofing leads actually cost, showed non-branded lead volume rising 52% from January to March while cost per lead fell 23%, from $145 to $111. Demand and price moved in opposite directions inside a single quarter.

The practical version: build a seasonal index off your own last two years of signed jobs by month, then distribute the annual lead requirement against it rather than dividing by twelve.

  1. Total last year's signed revenue by month.
  2. Divide each month by the monthly average to get an index. A month at 1.4 carries 40% more than average.
  3. Multiply your baseline lead target by each month's index.
  4. Shift spend forward by your sales cycle. Retail replacement typically runs 5 to 14 days from lead to signature, so leads bought in the last week of a month largely land in the next one.

A roofer needing 125 leads a month on average is really looking at something closer to 175 in peak months and 70 in deep winter, with the winter budget spent on the cheap leads that will close in spring.

The leads you already own, subtracted first

Every lead target should be net of reactivation, and almost none are.

The question gets asked on r/Roofing in almost exactly these words: "We've got years of old roofing leads in our CRM, inspections, estimates, insurance lookups that never turned into jobs. Feels like half our CRM is people who said 'later,' 'next year,' or disappeared after an inspection."

A lead generation practitioner who works with roofing companies describes the same stock and what it produces when worked: most companies sit on 200 to 500 unclosed leads from the last three to six months, and a monthly reactivation text recovers 3 to 5 deals a month from leads already paid for.

Run that through the chain. If reactivation covers 3 of the 11 jobs, you need 8 net new jobs, which is 36 estimates, which is 91 qualified leads instead of 125. A 27% cut in the lead requirement at essentially zero media cost.

Watch out

Reactivation only works if the records exist. If your "old leads" are a shoebox of estimate PDFs and a call log, there is nothing to reactivate. The stock of contactable dormant leads is an asset your CRM either preserves or destroys, and most roofers do not find out which until they try this.

Close rate is a lever, not an input

The calculators treat close rate as something you type in. Treat it as something you move and the lead requirement collapses.

Close rate on estimatesEstimates needed for 11 jobsQualified leads neededChange vs baseline
12% (shared leads, slow callback)92229+83%
22% (baseline)50125baseline
30%3792-26%
40% (exclusive, fast callback, financing)2869-45%

Going from 22% to 30% removes 33 leads a month from your requirement. At published roofing lead costs of roughly $105 to $228 each, that is $3,500 to $7,500 a month you stop spending while signing the same revenue.

The cheapest lever is response time. The r/Roofing practitioner reports the average roofing company calls a new lead back in three to six hours, and describes one company that committed to calling every lead within 60 seconds: close rate went from 12% to 23% in 30 days, same leads, same team, same market. Broader data supports the direction, with a five-minute response roughly 100 times more likely to convert than a thirty-minute one, though only 54.9% of firms with a formal response-time standard actually hit a 15-minute target (Kixie, GreetNow).

The second cheapest is follow-up count. It takes five to seven contacts to book an appointment, and most roofing companies stop after one or two. Companies running an automated seven to fourteen day sequence book 30% to 40% more appointments from the same pool.

Both of those levers are systems, not training. A 60-second callback happens because something fires the moment a form lands, and a seven-touch sequence happens because it runs without anyone remembering. That is a build, and it is usually cheaper than the leads it replaces.

Get a lead plan

The five-line worksheet

Do this once a quarter with your own numbers. It takes fifteen minutes and replaces every generic calculator.

  1. Jobs. Monthly revenue goal ÷ average job sold, for replacement work only. Track repairs separately.
  2. Capacity check. Crews × jobs per crew per week × 4.3 × 0.8. If this is below line 1, stop. Your problem is production, not leads.
  3. Estimates. Jobs ÷ your close rate for that job type, measured in dollars as well as counts. Use the lower of the two.
  4. Qualified leads. Estimates ÷ your qualified-lead-to-estimate rate, per channel.
  5. Net new leads. Subtract the jobs you expect from reactivation and referral, then divide the remainder by each channel's qualification rate to get raw volume to buy.

Then apply the seasonal index and check the budget against cost per acquisition, not cost per lead. A common target is 8% to 15% of average job value, so on a $14,500 job anything under about $2,175 per signed job is defensible.

What the number actually was

For our worked example, the honest answer to "how many roofing leads do I need per month" is not 125. It is:

  • 91 qualified leads after subtracting three reactivated jobs,
  • which is 96 raw leads on Google Ads or 182 on Meta,
  • distributed as roughly 130 in peak months and 55 in winter,
  • and capped at whatever your crews can install, which for a single average crew means the 11-job target was never reachable without a second crew.

Four gates, and the answer moved by more than 2x. That is why the number in a blog post cannot be your number. What travels is the method: revenue, jobs, estimates, leads, minus what you already own, capped by what you can build, spread across the season you actually work in.

Frequently asked questions

How many roofing leads do I need per month?
Work backwards from revenue. A roofer targeting $150,000 a month at a $14,500 average job needs 11 jobs. At a 22% close rate that is 50 estimates presented, and at a 40% qualified-lead-to-estimate rate that is about 125 qualified leads. Change any one of those three inputs and the answer moves by 50% or more, which is why a generic per-month number is useless.
How many leads does it take to close one roofing job?
Roughly 11 qualified leads per signed job at typical retail numbers, using a 40% lead-to-estimate rate and a 22% close rate. If you are buying shared marketplace leads that close at 8% to 20% rather than the 25% to 35% exclusive leads close at, the same job can take 20 or more. The lead source changes the count more than the sales pitch does.
What close rate should I use in the calculation?
Use your own, broken out by lead source, not a blended industry figure. RoofLink puts the blended average for the largest US roofing companies near 27%, but shared marketplace leads close at 8% to 20% while exclusive appointments close at 25% to 35%. A blended number hides which channel is failing, and plugging it into a lead calculator produces a lead target that is wrong for every channel you run.
Do I need more Facebook leads than Google leads for the same revenue?
Yes, usually about twice as many. A roofing marketer who documented 18 months of a company's numbers on r/Roofing reported roughly 95% of Google Ads leads were qualified against roughly 50% of Meta leads. Same revenue goal, same close rate, double the raw lead count. Any lead target you set has to name the channel it applies to.
How many roofing jobs can one crew handle per month?
Average companies complete 2 to 3 jobs per crew per week and elite operations hit 4 to 5, according to published crew productivity benchmarks. Planning at 80% of theoretical maximum to absorb rain days, that is roughly 7 to 10 jobs a month for one average crew and 14 to 17 for an elite one. If your demand math needs more jobs than that, more leads will not help.
Should my monthly lead target be the same every month?
No. Roofing demand is seasonal, and lead volume moves with it. SearchLight's Q1 2026 roofing data showed non-branded lead volume rising 52% from January to March while cost per lead fell 23%. A flat monthly target overspends in the cheap months and underspends in the expensive ones. Set a curve tied to your production calendar instead.
Why did I buy more leads and revenue stay flat?
Three common reasons. Your close rate counted in dollars is far below your close rate counted in jobs, so the extra estimates are on work you rarely win. Your crews were already at capacity, so extra sold jobs became backlog rather than revenue this month. Or callback speed collapsed under the new volume, and slow follow-up drops close rate on every lead including the ones you already had.
How much should I budget to get 125 roofing leads a month?
At the published roofing cost per lead range of roughly $105 to $228 on Google Ads, 125 leads is somewhere between $13,000 and $28,500 a month in media. Judge it against cost per acquisition rather than cost per lead: a common target is 8% to 15% of average job value, so on a $14,500 job that is $1,160 to $2,175 per signed job.
Done-for-you lead generation: a dedicated conversion page, a qualifying form that arrives with the answers attached, and lead-to-sale tracking, fed by targeted outreach and Meta ad campaigns we build and run.
Get a lead plan

Free tools

Find out what your site is costing you.

Enter your address and we check the real page. Scores are free and the itemised report lands in your inbox. No account, and we change nothing on your site.