How to Get Roofing Leads: Own the Search, Rent the Storm
Short Answer
How to Get Roofing Leads? Build channels you own first: a complete Google Business Profile, service and city pages on your own website, and a steady review flow. Then rent storm-season demand through Local Service Ads, which in our benchmarks cost about $50 per roofing lead against $65 on Google Ads. Owned channels get cheaper per lead each month; rented leads cost the same every time.
In our compiled 2026 benchmarks, a roofing lead costs about $65 on Google Ads and about $28 from organic search, against a roof replacement ticket of roughly $8,000β$15,000. Those are our estimates from aggregated campaign data, not a quote for your market. But the shape holds: roofing has the highest cost per lead of any trade we track, and the highest ticket, so the channel you pick matters more here than almost anywhere.
Most roofers we talk to are renting their pipeline. Angi, ads, a lead broker after the last hailstorm. It works until the month you stop paying, and then the phone goes quiet. Ten years in business and you still start the month at zero.
This guide covers how to get roofing leads from every source, which ones to build, which ones to rent, and what you actually keep.
Short answer: The most reliable way to get roofing leads is to build channels you own, a complete Google Business Profile, service and city pages on your website, and a steady review flow, then rent storm-season demand through Local Service Ads. Owned channels get cheaper every month. Rented ones cost the same on lead number fifty as lead number one.
What Roofing Leads Cost, by Channel
These are the roofing averages from our 2026 cost-per-lead data across 12 trades. They are our compiled estimates. Your market, season, and close rate will move them.
| Channel | Avg. CPL | Typical range | Close rate | Cost per customer | Rented or owned |
|---|---|---|---|---|---|
| Angi/HomeAdvisor | $60 | $35β$95 | 5β9% | $670β$1,900 | Rented |
| Google Ads | $65 | $35β$110 | 8β14% | $465β$1,375 | Rented |
| Google Local Service Ads | $50 | $30β$80 | 10β16% | $315β$800 | Rented |
| Thumbtack | $50 | $30β$80 | 6β10% | $500β$1,330 | Rented |
| Facebook Ads | $40 | $22β$65 | 4β8% | $500β$1,625 | Rented |
| Organic search (SEO) | $28 | $15β$45 | 15β22% | $68β$300 | Owned |
| Google Business Profile | $18 | $8β$30 | 18β28% | $29β$170 | Owned |
A note on that last row, because it is the clearest proof of the ownership argument. A Google Business Profile is free. The $18 is not a price anyone charges you. It is the management cost, your time or a fee, divided by the leads the profile produces. A rented lead has a price, and the price does not fall as you buy more. An owned channel has a management cost, and the cost per lead falls as volume grows.
An illustration, not a measurement: spend $600 a month on your profile and website. At 10 leads, that is $60 each. At 40 leads, it is $15 each. The work did not change. The asset got bigger. Buy 40 leads from a marketplace and you pay the marketplace price 40 times.
Why high CPL can still be fine in roofing. Cost per customer is CPL divided by close rate. At a $65 CPL and a 12% close rate, a customer costs about $540. On a $10,000 roof, that is roughly 5% of revenue. The problem is not the expensive lead. The problem is paying for it forever instead of also building the cheap one.
Step 1: Own Your Google Business Profile
When a homeowner searches βroof repair near meβ with water coming through the ceiling, Google shows a map pack before most of the page. Getting into it is free visibility to people ready to call.
Do this yourself:
- Primary category: βRoofing contractor.β Add secondary categories only for work you actually do, such as βRoof repair serviceβ or βGutter service.β
- Complete every field. Service area, hours, services, website, description.
- Upload real job photos weekly. Before-and-afters from the same angle, drone or ladder shots of finished roofs, crew and trucks. Skip stock photos. Our GBP photo guide has the schedule.
- Ask for a review the day the job finishes. Text the link from the driveway. Reviews attach to your profile, so they stay when you leave a lead platform.
- Answer the phone, or call back within minutes. Roofing leads shop several quotes. The first contractor to respond has an edge, which is our experience rather than a published statistic.
Time cost, our estimate: a few hours to set up, 1β2 hours a month after.
Step 2: Put Roofing Pages on a Website You Own
A page on Angi carries your reviews, but it is Angiβs page. A page on your domain is yours, and it is the only place a homeowner reads your story without three competitors next to it.
The roofing pages that earn leads are specific:
- One page per service: roof repair, roof replacement, storm damage, metal roofing, shingle roofing, leak repair, gutters if you do them.
- One page per city you really serve, with details that are true of that area: common roof types, typical storm risk, permit notes. Swapping the city name on identical pages is thin content and Google treats it that way.
- Real project pages. Address-level detail is not needed, but a neighborhood, a roof type, a scope, and photos are.
- Your license and insurance information, visible.
- A tappable phone number and a short form above the fold.
Be honest about timing. Plan on 4β6 months before organic search sends real volume, longer in a crowded metro. That is our estimate, and it is the tradeoff of owning instead of renting. The payoff is a lead that gets cheaper the longer the page stays up. More on the organic playbook in our guide to getting leads without ads.
Mid-Article Check: Can You Do This Yourself?
You can do every step above yourself, and many roofers do. The reason most do not is time. The profile, the review asks, the service and city pages, and the tracking come to roughly 6β10 hours a month, every month, and that competes with estimates and crews. If you would rather it just get done, Contractor Bear builds and runs these channels for you starting at $500/mo. The website we build is yours to keep. Not rented. Yours.
Step 3: Rent Storm Demand, On Top of What You Own
Roofing demand is lumpy. After hail or wind, search volume in an affected area can jump several hundred percent. Our benchmarks put it at 500β1,000% in the hardest-hit zones, which is a rough figure that varies a lot by event. Rank-building cannot respond that fast, so this is where renting makes sense.
Local Service Ads
In our data, LSAs beat standard Google Ads for roofing on both cost and close rate: about $50 per lead versus $65, and a 10β16% close rate versus 8β14%. You pay per lead, not per click, and the Google Guaranteed badge builds trust. If one paid channel goes first, this is it. Availability and eligibility vary by market.
Google Ads
Highest CPL, most scalable. It works best when you prepare before the storm: campaigns built, service-area targeting tight, negative keywords loaded, call tracking on. Setting it up after the hail is how you pay premium prices for sloppy clicks.
Angi, HomeAdvisor, and Thumbtack
Shared leads mean the homeowner may call several roofers at once. That is why close rates sit at 5β10% in our table and cost per customer reaches $670β$1,900 on Angi. They can fill a schedule if you are new and have no reviews or rankings. But look at what you own when the month ends: some jobs, and nothing else. Use them as scaffolding while owned channels come up.
Door knocking and storm chasers
Canvassing after a storm is a legitimate lead source, and it is also a source of complaints against roofers in general. Check your state and local rules on solicitation and on what you may say about insurance claims, which vary. Whatever you do, collect contact details so the customer ends up on a list you own.
Step 4: Work the List You Own
A roof is a once-in-a-couple-decades purchase, but the people on your customer list have neighbors, relatives, and gutters.
- Referral ask at job completion. Make it a specific ask: βDo you know anyone on your street who has been putting off a roof inspection?β
- Inspection follow-ups. If you did a free inspection and the homeowner said βnot yet,β that is a lead with a date. Put it in a CRM and follow up in 6β12 months.
- Post-storm outreach. A text to past customers after a major storm is the cheapest lead you will get.
Track It or You Are Guessing
Use a separate tracking phone number per channel, and log the source of every form. Each month, divide spend or time cost by leads for each channel, then divide by close rate for cost per customer. Our cost-per-lead guide shows the method, and how our lead generation system works shows how we apply it across a clientβs channels.
A Realistic 90-Day Plan
| Window | Owned channel work | Rented channel work |
|---|---|---|
| Week 1 | Claim and complete your Google Business Profile; set up review requests by text | Turn on call tracking |
| Weeks 2β4 | Upload 20+ real job photos; build pages for repair and replacement | Start Local Service Ads if available |
| Month 2 | City pages for your top 2β3 service areas; start a CRM list for inspection follow-ups | Adjust budgets by cost per customer |
| Month 3 | Add storm-damage and material pages; review profile insights | Pre-build storm-season Google Ads campaigns, paused |
| Month 4β6 | Expect organic traffic to build (our estimate) | Switch storm campaigns on when demand spikes |
Frequently Asked Questions
How can I get roofing leads?
Combine owned and rented sources. Rent fast leads through Local Service Ads and storm-season Google Ads. Build owned channels in parallel: a complete Google Business Profile, service and city pages on your own website, and a review habit. Add a CRM list of past customers and inspection follow-ups. Rented leads arrive in days. Owned channels take months, then cost less per lead and stay yours.
How much do roofing companies pay for leads?
In our 2026 benchmarks, roofers pay roughly $35β$110 per lead on Google Ads, $30β$80 on Local Service Ads, and $35β$95 on Angi/HomeAdvisor. Organic search runs about $15β$45. These are our compiled estimates and move with season, storm activity, and market competition. Cost per customer, not cost per lead, is the number to judge.
What is the average cost per lead for roofing leads?
Our blended roofing averages are about $65 for Google Ads, $60 for Angi/HomeAdvisor, $50 for Local Service Ads and Thumbtack, $40 for Facebook, and $28 for organic search. A Google Business Profile has no lead price, since it is free, but works out to about $18 per lead in management cost. Those are estimates, and your close rate decides what they really cost.
Where do contractors get leads?
Contractors get leads from marketplaces (Angi, Thumbtack), paid ads (Google, Facebook), Local Service Ads, and owned sources: their Google Business Profile, website rankings, reviews, referrals, and their own customer list. The first group is rented and stops when payment stops. The owned group takes longer to build, then compounds and stays with the business.
What to Do Next
Finish one thing from Step 1 this week. If your Google Business Profile is incomplete, that is usually the best hour you can spend. If you want the whole system built and run for you, Contractor Bear starts at $500/mo, with the free custom website included from the $1,500/mo tier. The pricing page has the details. Tiers move up only when we deliver more attributed leads, with no revenue share. And the point of this whole article: the website, the profile, and the rankings we build are yours. If you leave, you keep all of it.