How to Get Roofing Leads: 11 Channels Ranked by Cost Per Lead

Every roofing owner gets the same pitch from a dozen directions. Buy these leads. Rank on this map. Knock these doors. The pitch almost never includes the two numbers that decide whether a channel is worth funding: what a lead actually costs from that source, and how many days until it turns into a job on the board.
This is the full list of roofing lead channels, ranked by cost per lead and by how fast the first job shows up. It also names the one distinction that quietly controls your whole strategy, storm restoration versus retail replacement, and the one operational number, speed to lead, that decides whether paid channels ever pay back. If you want to know where your current spend is leaking, our home services page covers how we diagnose it.
The two demand types you are actually serving
Roofing is two businesses wearing one truck wrap. Storm restoration demand appears in bursts after hail and wind, it is paid through insurance claims, and it rewards the roofer who reaches the homeowner first. Retail replacement demand is steady, the homeowner pays out of pocket or finances, and it rewards trust, reviews, and a clean estimate. The channels that win one often lose the other.
A storm chaser who buys retail search ads wastes money on people who are not ready. A retail roofer who ignores canvassing after a hail event watches out of state crews take claims off their own street. Decide which mix you are running before you fund a single channel, because the ranking below shifts depending on which demand you are chasing.
The channels, ranked
The table below ranks the main roofing channels. Cost per lead is a working range for a mid sized US market. "First job in" is realistic time from turning the channel on to a signed contract. "Compounds" means the channel gets cheaper or stronger the longer you run it, rather than resetting to zero when you stop paying.
| Channel | Typical cost per lead | First job in | Compounds? |
|---|---|---|---|
| Past customer reintegration | $10 to $30 | 3 to 10 days | Yes |
| Referral program | $15 to $50 | 1 to 3 weeks | Yes |
| Google Business Profile and map pack | $20 to $60 | 2 to 6 weeks | Yes |
| Local SEO content | $25 to $70 | 3 to 6 months | Strongly |
| Google Local Services Ads | $75 to $150 | 2 to 10 days | Partly |
| Storm canvassing after an event | $40 to $120 in labor | Same week | No |
| Direct mail to storm zips | $60 to $180 | 1 to 4 weeks | No |
| Retail replacement search ads | $90 to $250 | 1 to 3 weeks | Partly |
| Facebook and Instagram lead ads | $40 to $120 | 2 to 5 weeks | No |
| Shared lead aggregators | $25 to $85 | 1 to 7 days | No |
| Yard signs and truck wraps | $5 to $25 | 4 to 12 weeks | Slowly |
The cheapest leads already know your name
The top of that table is not a trick. Your past customers and the people they refer are the lowest cost roofing leads you will ever get, and they close at rates paid channels cannot touch. A roof lasts fifteen to thirty years, but the homeowner has a gutter, a skylight, a neighbor with hail damage, and a memory of whether you showed up when you said you would.
Most roofers never work this list. Pull every job from the last five years, segment by install date and by zip code that later took a storm, and run a simple sequence: a maintenance check offer, a referral ask, and a storm specific outreach when hail hits a zip you have worked. The media cost is near zero. The only real cost is the discipline to send it. A referral program with a clear reward, paid on closed jobs, turns satisfied customers into a channel that compounds every season.
Local presence is a slow asset that pays for years
Your Google Business Profile and your position in the map pack are the closest thing roofing has to a durable free channel. Ranking in the local three pack for "roof repair near me" costs nothing per click, and it feeds you leads for years once earned. It is not fast. Expect two to six weeks of consistent review generation and profile work before movement, and months before you hold a top spot.
Local SEO content sits underneath that. Pages that answer real homeowner questions, hail damage signs, shingle versus metal cost, what insurance covers, pull in retail replacement leads that never touch an ad auction. This is the strongest compounding channel on the list and the slowest to start, three to six months before it carries weight. It is the channel storm chasers skip and steady retail roofers should never skip. If your phone still rings and no one answers, none of this matters. See what missed calls actually cost a home services company before you spend another dollar driving calls.
Paid channels buy speed, not durability
When a storm hits or capacity opens up, you buy speed. Google Local Services Ads are usually the best paid roofing channel because you pay per lead, the leads are exclusive to you, and the Google Guaranteed badge lifts close rates. You can raise the budget for a storm event and pull it back after. It partly compounds through reviews and ranking, but stop paying and the lead flow stops.
Retail replacement search ads capture people typing "roof replacement cost" or "new roof estimate." They are more expensive per lead than Local Services Ads and demand a tight landing page and fast follow up, but they reach homeowners with clear buying intent. Storm canvassing and direct mail to affected zip codes are the fastest storm channels, often producing signed contracts the same week, but both reset to zero the moment the crew stops knocking or the mail stops dropping.
Why shared aggregator leads are brutal for roofers
Angi, HomeAdvisor, and Networx sell the same roofing lead to three to five contractors at once. The homeowner submits one form and gets five phone calls. Your close rate on that lead is not a function of your pitch, it is a function of your response time. The roofer who calls within five minutes wins a disproportionate share, and everyone who calls an hour later is mostly wasting the fee.
That is why the cost per lead range on aggregators looks cheap, $25 to $85, while the cost per closed job often clears $600. You are paying to compete on speed against four other roofers who paid the same fee. Shared leads can work as a fill channel when crews have open capacity and you have a dispatcher who answers instantly. They rarely work as your primary channel, and they never build an asset you own.
What we would do with a fixed budget
If a residential and light commercial roofer handed us a fixed monthly budget and asked where to put it, this is the order we would fund, top to bottom, stopping when the money runs out.
- Fix speed to lead first. Make sure every inbound call and form is answered within five minutes, because it changes the return on every channel below.
- Work the past customer and referral list. Lowest cost, highest close rate, compounds every season.
- Fund Google Business Profile and review generation. The map pack is a durable asset for retail demand.
- Turn on Google Local Services Ads. Best paid channel for exclusive leads, easy to scale up for storms.
- Start local SEO content. Slow to pay back, but it is the channel that still produces leads three years from now.
- Reserve a storm response fund for canvassing and direct mail in affected zips, deployed only when an event actually hits.
- Test retail search ads and social lead ads with a small budget, and treat aggregator leads only as fill when crews are idle.
Find out which channels are leaking
Most roofers are not short on channels. They are short on knowing which channels already run and where the money escapes, a slow answer rate, a dead Google profile, aggregator leads called two hours late. A local marketing audit shows you exactly where your leads come from today and which channels are underfunded or bleeding. If you want a partner to run the full mix, see how we work with home services companies. Both start with the same first step: measure before you spend.
FAQ
What is the cheapest way to get roofing leads?
Your existing customer list and referrals are the cheapest, often under $30 per booked job once you count the time to run the outreach. After that, Google Local Services Ads tend to produce the lowest cost per qualified lead among paid channels because you pay per lead and only for the lead types you accept. Shared aggregator leads look cheap per lead but cost far more per closed job.
Are Angi and HomeAdvisor leads worth it for roofers?
Shared roofing leads from Angi, HomeAdvisor, and Networx are sold to three to five contractors at once, so close rates fall to the low single digits unless you call within five minutes. They can work as a fill channel when your crews have open capacity and your speed to lead is fast. They rarely work as a primary channel because you compete on response time and price against everyone else who bought the same lead.
How much does a roofing lead cost?
A shared aggregator lead runs $25 to $85, but the cost per closed job is often $600 or more because several contractors buy it. Google Local Services Ads and retail search leads typically run $75 to $250 per lead with much higher close rates. Storm canvassing has almost no per lead media cost but a high labor cost per door.
How do roofers get leads after a storm?
Storm demand is driven by insurance claims, so the fastest channels are door to door canvassing in affected zip codes, direct mail to those same zips, and Local Services Ads with the budget raised for the event. Speed matters because the first credible roofer at the door often wins the claim. The window closes within a few weeks as national storm chasers flood the area.