Referral work closes far more often than paid leads in the numbers roofers post. One roofer whose work is all referrals reports a close rate around 85%, while an owner running Google Ads closed around 8% of his inspections. Each rate also depends on what that person divided by, so the comparison that helps you is between your own sources, counted the same way.
These rates come from owners and reps reporting on their own work, and I found no government agency, licensing board, manufacturer or insurer that publishes close rates by lead source. If your jobs aren’t tagged by source yet, start with How to Track Which Marketing Brings In Your Roofing Jobs.
The same two signed jobs can be an 11% or a 25% close rate
A roofing owner in northeast Florida posted his first month on Local Services Ads and Meta ads combined. From 19 qualified leads he ran 8 inspections and signed 2 jobs.
Divided by qualified leads that is about 11%, and divided by inspections it is 25%, for the same jobs in the same month.
Other rates posted online make the same choice without saying so. A consultant on r/RoofingSales said the roofing company he was helping had fallen to about 18% of all prospects, half the roughly 35% it closed in 2023. The owner wanted to spend more on marketing instead of working on sales.
A rep replied that the rate was horrible, since he closes 65% of his own appointments the same day. He counts from appointments he ran and the consultant counts from every prospect, so the two numbers measure different things.
Screening changes the count as well. An owner on r/Roofing said his close rate was 20% before he stopped driving out to every lead. Dropping weak leads before the inspection lifts the rate even when the number of signed jobs stays the same, so track signed jobs beside it.
Pick one starting point and use it for every source. I’d call a lead qualified when it could plausibly turn into a full replacement or an insurance claim job, and keep repairs and small jobs on the sheet as plain leads. Then divide signed jobs by qualified leads each month, and by inspections as a second rate.
Referrals and door-knocked leads carry the highest rates roofers report
An estimator at a Canadian roofing company said they switch on Google advertising when the schedule needs filling. The closing ratio on referral and word-of-mouth customers against ad customers, he said, is “night and day,” and he didn’t put the gap down to pricing.
Keep referrals on their own row. Mixed in with paid leads, they lift the average and make the paid sources look better than they are.
A door-knocking rep on r/RoofingSales said he gets 4 leads a day and closes a little better than 50% of them, with someone else working the leads and the deal split. His “lead” is a homeowner who already agreed to an inspection, while an ad lead can be nothing more than a filled-in form. When you compare canvassing with ads, start both counts at the inspection.
Divide what a lead costs by your close rate to price a signed job
The Google Ads owner at the top of this page counted from inspections, so his close rate per lead was lower still. Whether a low rate pays depends on what each lead costs.
A commenter on r/PPC who runs roofing ad campaigns wrote, “my average cpa is $50 with a 20% close rate.” Read as a cost per lead, that is about $250 in ad spend per sold job.
He added, “Nobody is making money on $200+ leads unless the close rates are near 100%.”
A roofing owner on r/PPC worked out that a $200 to $300 lead closing 1 in 4 comes to about $800 per sold job.
Google Ads won’t give you this number on its own. It counts a call as a conversion once the call passes a minimum length you set, so a call conversion is still a count of calls. Sold jobs can be sent back to Google Ads only within 90 days of the last click, so a job that signs later never shows up there.
Work out the cost per signed job for each source from your own sheet before you buy more leads.
Decide how to count credited Local Services Ads leads, and export the old reports
On one roofer’s Local Services Ads account, leads cost about $109 each in late September 2026, at the lowest weekly budget Google allowed.
Close 1 in 10 of those leads and each signed job costs about $1,090.
Raise that to 1 in 4 and it drops to about $436, with no change in ad spend.
Google says it doesn’t charge for leads it judges invalid or low quality when contact is made, and it reassesses charged leads later, issuing credits automatically. Decide once whether a credited lead stays in your count, and keep to that every month.
As of October 2026, Google is moving roofers’ Local Services Ads into Google Ads as Performance Max campaigns with pay-per-lead goals, in a phase that began in August. Past leads and older call recordings move to a new Leads page, but the old performance reports don’t transfer, so export them before your account moves.
A HomeAdvisor lead goes to you and up to three other pros
HomeAdvisor’s page for pros says Market Match leads “are sent to you and up to three other pros.” With Exact Match, the homeowner views your profile and chooses to connect with you and up to three others. Give these leads their own row, apart from leads only you received.
A rep on r/RoofingSales with a 34% close rate said many of his customers had contacted 10 or more roofers to get 3 who would answer, call back or show up for an estimate. Some of the roofers who did show up never followed up.
On a lead other roofers also got, answer first and follow up after the inspection. Missed Calls Cost Roofing Jobs: How Fast to Answer and How to Follow Up covers the answering side, and Angi and HomeAdvisor Leads for Roofers: What They Cost and Why Owners Quit covers what the leads cost.
Google’s Calls figure on your profile counts taps on the call button
Google defines the Calls figure on a Business Profile as the number of times a customer clicked the call button. A tap counts whether or not the call connected, so start your profile close rate from the calls your office answered.
One marketing coach says most of his contractor clients, not all of them roofers, close about 60% of the calls and messages that come in from their Google profile. Give profile calls their own row so you can see where yours sits against that.
One blended close rate hides the job type and the season
One rep said his net roofing close rate was around 40-45% from January to May 2024 and then fell, while gutters still closed at 40-50%.
Another roofer said his closing rate dropped once he started taking storm customers through insurance claims, where retail was easier and faster. Give retail and insurance work separate rows under each source.
For retail, one salesperson described a proper program as about 4 booked meetings a week per rep at a 35% close rate, with a minimum of one close a week.
A salesperson who closed 53% in his first 8 months on company-provided leads worked for a firm 30 years in business that gave him solid training. A newer company should set its targets from its own first months instead of his.
Each lead source needs its own row with these numbers
- Leads, qualified leads, inspections and signed jobs, counted the same way for every source.
- Two close rates: signed jobs over qualified leads, and signed jobs over inspections.
- Cost per signed job: what the source cost that month divided by the jobs it signed, worked out from your own sheet.
- Retail and insurance jobs on separate rows.
- One rule for credited Local Services Ads leads, and the old reports exported before the account moves.
- Profile calls counted from the calls your office answered.
Profile calls depend on where your profile shows up in the map. With the free Google Maps heatmap you pick your Google profile and a search, and in a few minutes you see your rank at 49 points around your office.