Roofing lead generation works when you stack three things in order. First, show up where homeowners already search: your Google Business Profile, Local Services Ads, and Google Search ads. Second, answer every call and form fast. Third, track which leads turn into signed jobs, not just which ones rang the phone. The ads usually get blamed for what a slow callback broke.
A roof is a purchase most homeowners make rarely and under some stress. A leak shows up, an insurance letter arrives, or a neighbor's crew is tearing off shingles down the street. Whatever the trigger, they grab their phone and search. That is good news, because it means you are mostly capturing demand that already exists, not creating it. It is also why the money gets wasted so easily. A click is cheap to buy and expensive to waste.
What actually works for roofing lead generation?
Four things, and they are not equal. We would build them in this order for a typical local roofer.
- Google Business Profile. Free, and it feeds the local map results. A neglected profile is the cheapest leak to fix.
- Local Services Ads (LSA). The pay per lead ads at the very top of the results with a verified badge. Roofers are on Google's eligible list.
- Google Search ads. You choose the searches, the service area, and the page they land on. More control, more ways to waste money.
- Reviews, referrals, and your website. These do not generate demand on their own, but they decide whether the lead you paid for picks you or the next name on the list.
Notice what is not on the list: buying a pile of leads and hoping. We will get to that.
What is a roofing lead actually worth?
Before you compare channels, you need one number. The break even version is simple: your close rate times your gross profit per job. That is the most you can pay for a lead and still not lose money.
Break even cost per lead
Break even cost per lead = close rate × gross profit per job. Illustrative math, not a benchmark: if you close 1 in 5 leads and make $3,000 gross profit on an average job, a lead is worth $600 to you. Pay more than that and you are underwater, whatever the dashboard says.
Here is why we care about this more than the price tag on any lead. Say lead A costs $60 and closes 1 in 15. That is $900 for every signed job. Lead B costs $150 and closes 1 in 4. That is $600 per signed job. The "expensive" lead is the cheaper job. Same arithmetic, opposite conclusion from the cost per lead column. Those closing rates are made up to show the math, so plug in yours. If you don't know your close rate by source, that is the first thing to fix, and our good ROAS breakdown uses the same margin math from the revenue side.
Are Local Services Ads worth it for roofers?
Often yes, with a catch that changed this fall. LSA charges you when a customer gets in touch, not for clicks, and Google's help page says you pay for leads related to your business and the services you offer. To get the Google Verified badge you go through Google's screening, and for these categories that includes a license, or business registration if you are not required to submit a license, plus headshots and reviews. Ads without the badge can run before verification, but Google says they appear below providers who finished onboarding.
Now the catch. Google's own LSA page says that if you regularly fail to answer calls or respond to messages, your ad ranking may be affected. And according to a report from PPC Land on a notice from the Local Services Ads Team, from October 1, 2026 a missed call during business hours can be charged as a valid lead if the caller stays on the line more than 20 seconds, with a few exceptions. The same report says follow up calls from the same customer may be charged too, and that the notice did not explain how to dispute a charge. PPC Land also reports the change sits inside Google's move of Local Services Ads into Google Ads as a pay per lead campaign type. We could not find that policy on a Google help page we could read, so check what applies to your own account before you rely on any of it.
Our take, whatever the final fine print says: answering the phone is now a line in your ad budget. Every call you miss is either a lost job, a charge, or both. Make sure the business hours in your account match when a real person can pick up, and put a live human or a decent answering service behind the number that is on your ads.
Should a roofer run Google Search ads too?
Usually, once the phone is covered. Search ads let you pick the exact searches and send people to a page built for the job, which LSA does not. They also let you waste money faster, so a few settings matter.
Start with repair and replacement searches in the cities you actually serve. Build a negative keyword list on day one: jobs, hiring, salary, training, supplies, DIY, and any city you do not work in. Review the search terms report weekly for the first month and add negatives as junk shows up. Junk searches are the most common early leak on a new contractor account, and the fix is boring and free.
Track calls properly. Google Ads call conversion tracking counts a call as a conversion when it lasts longer than a minimum length you set. Set that bar high enough that a four second hang up does not count as a win, or your campaign will learn to chase wrong numbers. Our Google Ads for contractors guide covers budgets and bids in more depth, and our Google Ads management page shows how we run it.
How does your Google Business Profile bring in roofing leads?
It decides whether you show up in the map results at all. Google says local results are mainly based on relevance, distance, and popularity, and that there is no way to request or pay for a better local ranking. So you cannot buy your way up. You earn it by being a clear match for the search.
That means the right primary category, your real service area, every service listed, photos of actual jobs instead of stock shingles, and review replies that sound like a person. It also means asking every happy customer for a review while the new roof is still the best thing in their week. We lay out the whole system in our local SEO for home services guide.
What wastes money in roofing lead generation?
These are the leaks we would check first on any roofing account, roughly in the order we would check them.
- No call tracking and no lead to job tracking. If you cannot say which source produced signed roofs, you are managing by feel.
- Slow follow up. A homeowner who waits for a callback is probably calling the next roofer. It is the quiet thing that makes good ads look bad.
- Shared leads. If a lead is sold to several contractors, you are paying to join a race. Ask any vendor how many other companies get the same lead.
- Everything lands on the homepage. Someone searching for storm damage repair should land on a page about exactly that, with the phone number big and a short form.
- Service area set too wide. You pay for clicks from towns you will not drive to.
- Ads without your license number. The Oregon Construction Contractors Board lists failing to display a CCB license number on most advertising as a violation it investigates. Check the current rule with the CCB before you launch anything.
What would we actually do in the first 30 days?
Here is the plan we would run for a roofer spending a few thousand a month, in plain order.
Week 1. Work out your break even cost per lead from the formula above. Clean up the Google Business Profile. Fix the phone situation so every ad call reaches a person during business hours, and set up call tracking that records call length.
Week 2. Get verified for Local Services Ads if you are not already, and set your hours and service area honestly. Build one landing page per core service (repair, replacement, storm or insurance work) with the phone number above the fold.
Week 3. Launch Search ads on repair and replacement terms in your real service area, with the negative list loaded. Start a simple sheet that tracks each lead from source to quote to signed job.
Week 4. Read the search terms and the call log. Cut what produced junk, keep what produced quotes, and compare cost per signed job by source, not cost per lead. That comparison is the whole game. If you want more on how we approach the trade, see our roofing marketing and Salem roofer marketing pages. We report from platform data and we do not publish numbers we cannot back up, which is how we handle every account, including the NUDE Envie case study (not a roofer, same reporting standard).
One more opinion, since you asked what wastes money. Chasing the cheapest cost per lead is the most expensive habit in this business. Chase the cheapest signed job.
Want a second set of eyes on your roofing leads?
Send us your last month of ad spend, calls, and signed jobs. We will tell you your break even cost per lead, where the leaks are, and what we would fix first. Free, no pitch deck.
Get the free audit →FAQ
How do roofers get more leads?
By showing up on Google where homeowners search: a complete Google Business Profile, Local Services Ads, and Search ads aimed at repair and replacement terms in your service area. Then answer every call fast and track which leads become signed jobs.
How much should a roofing lead cost?
There is no single right price, because it depends on your market and your close rate. The number that matters is your break even: close rate times gross profit per job. Pay less than that per lead and you are profitable on average.
Are Local Services Ads worth it for roofers?
They can be. You pay when a customer contacts you rather than per click, and roofers are on Google's eligible category list. Verification takes some paperwork, and Google says failing to answer calls can hurt your ad ranking, so only run them if someone will pick up the phone.
Does Google charge roofers for missed Local Services Ads calls?
PPC Land reports that from October 1, 2026, missed calls during business hours can be billed as valid leads when the caller stays on the line more than 20 seconds, with exceptions. We could not confirm the policy on a Google help page, so check the lead charge settings in your own account.
Sources
- Google Local Services Ads Help, Getting started with Local Services Ads (roofers on the eligible list, pay when a customer gets in touch, verification and the Google Verified badge, license or business registration, ad ranking and unanswered calls)
- PPC Land, Google charges Local Services advertisers for missed calls over 20 seconds (August 25, 2026; secondary report of a Google Local Services Ads Team notice, not a Google help page)
- Google Ads Help, Tracking calls to a phone number on a website (a call counts as a conversion when it lasts longer than a minimum length you set)
- Google Business Profile Help, Tips to improve your local ranking on Google (relevance, distance, popularity; no way to pay for a better local ranking)
- Oregon Construction Contractors Board, Contractor Compliance (failing to display a CCB license number on most advertising is listed as a violation CCB investigates)
- The break even cost per lead formula is arithmetic, and every dollar figure and close rate in the examples is illustrative, not a benchmark. Search volume data was not available for this post.