Google Ads and Local Services Ads for roofers: what works in 2026
Roofing has some of the most expensive keywords in Google Ads: leads can run into the hundreds. LSA vs. Search PPC, Google Verified eligibility for roofers, storm vs. re-roof vs. repair campaign structure, seasonal budgets, and how to buy booked inspections instead of tire-kickers.
Szabó Viktor · PexelsA homeowner with a ceiling stain, or one who just watched hail chew up the neighbor’s roof, goes to Google before they call anyone. The paid results sit above everything, and roofing is one of the most expensive categories on the entire platform. “Run some Google Ads” is how a roofer lights $5,000 on fire in a month with nothing booked to show for it. There are two different products, they cost wildly different amounts per lead, and the winning play uses both on purpose. Here’s the 2026 version for roofing.
LSA vs. PPC: they are not the same thing
Local Services Ads (LSA) sit at the very top, above the regular ads, show your rating and a verified badge, and, critically, you pay per lead, not per click. A tire-kicker who clicks costs you nothing; you’re charged when someone actually calls or messages. Reported roofing LSA cost-per-lead lands in the rough range of ~$40-120 (BaaDigi, 99Calls), and leads convert better because the homeowner is choosing you off a short list of verified locals. The catch: Google decides who gets matched, and there’s a lead cap. You can’t just pour money in and get more.
Traditional Search PPC charges per click whether or not the lead ever materializes. Roofing clicks are brutal: sources put roofing CPC anywhere from ~$10 up to $65+ per click, with major metros at the high end (ClicksGeek, PPC Chief). That rolls up to a cost-per-lead that commonly runs ~$120 on a well-run campaign to $235-310+ in competitive markets, and past $600 in the worst metros at peak storm season (Searchlight, 99Calls). More expensive and more work, but far more controllable: you pick the keywords, write the ad, and send traffic to a page you own. It scales past the LSA cap.
| Local Services Ads (LSA) | Search PPC | |
|---|---|---|
| You pay for | A lead (call/message) | A click |
| Roofing cost/lead (ballpark) | ~$40-120 | ~$120-310+ (non-branded) |
| Control | Low (Google matches you) | High (keywords, ad, landing page) |
| Scales past a cap? | No. Google throttles | Yes |
| Best for | Repair/leak, fast start, trust badge | Re-roofs, scale, branded defense |
(Treat every figure here as a ballpark from published 2026 benchmarks. Roofing CPC and CPL swing hard by metro, storm activity, and season. Watch your own dashboard numbers and let those set your budget, not a national average.)
LSA eligibility: what a roofer has to clear
LSA isn’t a credit card and a logo. Google screens and verifies every provider before you can run, and for roofing the bar is real:
- License: Google verifies applicable state/provincial and local roofing or contractor licenses. (See our licensing and certification guide. This is where roofers most often stall.)
- Insurance: you upload proof of general liability, typically $1M+, and Google may require being listed as additional insured.
- Background check: on the business, the owner, and in some cases employees: identity and criminal history, plus civil litigation history on the business.
- Reviews: a minimum review count/rating to qualify and to rank once live.
The badge itself changed. Google discontinued the “Google Guaranteed” consumer money-back program (Nov 7, 2025) and merged Guaranteed and Screened into a single Google Verified blue checkmark (Oct 2025). The badge still shows and still builds trust, but the formal money-back guarantee is gone, so drop it from your pitch. Budget ~2-5 weeks for end-to-end verification; start the paperwork before you need the leads, not the week a storm hits.
Canada parallel: LSA and Google Verified operate in Canada too. Licensing is provincial rather than state-level, and verification/insurance specifics differ. Confirm current requirements for your province before you budget.
Structure your Search campaigns by job type: never mix them
This is where most roofing PPC money dies. A leak call and a full re-roof are completely different searches with different urgency, close rates, and job values. Bidding on them in one campaign wrecks your optimization. Split them:
- Storm / emergency / leak: “roof leak repair,” “emergency roof repair,” “roof leaking now,” storm-name and hail queries. Highest urgency, fastest close, and the surge is spiky and seasonal. This is where speed-to-lead wins.
- Re-roof / replacement: “roof replacement cost,” “new roof [city],” “asphalt shingle replacement,” “metal roof installation.” Highest ticket, longest consideration window, most competitive (and most expensive) keywords. Expect multiple touches before it books.
- Repair / maintenance: “roof repair,” “missing shingles,” “flashing repair.” Mid-urgency, lower ticket, a good feeder for future re-roofs.
- Branded: always run a campaign on your own name. It’s the cheapest lead you’ll buy and it keeps competitors from poaching homeowners already looking for you.
Give each its own budget, ad copy, and landing page. An “emergency roof leak” ad pointing at your generic homepage converts terribly; it needs a page that says emergency roof leak, shows the phone number, your rating, service area, and a “we can inspect today” line above the fold.
The high-CPC reality, and how to not get eaten alive
Roofing keywords are expensive because the jobs are big and every roofer in the metro is bidding. You cannot out-spend a national franchise, so don’t try. Protect margin instead:
- Geo-target tight. Bid only in the ZIPs/postal codes you actually service profitably. Wide targeting is where re-roof budgets evaporate.
- Dayparting. Concentrate spend when your phone is staffed. A $200 lead that rings an unanswered phone at 7pm is pure waste. See call handling and set rate.
- Negative keywords, aggressively. Block “roofing jobs,” “DIY,” “roofing salary,” “roof cost calculator,” “free,” “cheap,” “how to”: these are researchers and job-seekers, not buyers. This one list is the single biggest waste-killer in a roofing account.
- Lead the ad with intent. Say “inspection,” “free estimate,” “licensed & insured,” and your city. You want to scare off the bargain-hunter before they cost you a click.
- Don’t under-fund Search. Below roughly $1,500-3,000/month on Search, the algorithm never gets enough conversions to learn and you waste what you do spend. If you can’t fund that, stay on LSA until you can.
Match spend to the season and the storm
A roofer who spends the same in February as in June is either wasting money in the slow months or starving ads during peak. Roofing demand is weather-driven: pour budget in during and right after storm season and the summer replacement rush, pull back in the dead of winter. Matching spend to demand is one of the highest-return adjustments a roofer can make, and when a real hailstorm hits your area, being ready to ramp LSA and Search that week beats any clever bid strategy.
Track booked inspections, not clicks
The number that tells you if any of this works is cost per booked inspection, and then cost per signed job, not cost per click or even per lead. A $250 Search lead that closes a $22,000 re-roof crushes a $50 lead that never sets an appointment.
- Turn on call tracking and record calls. Most roofing “leads” are phone calls, and if you don’t measure the call you’re flying blind.
- Track lead → booked inspection → signed contract by campaign, so you can tell which job type and keyword group actually pays.
- Watch your set rate on the paid calls; a great cost-per-lead with a terrible set rate is a front-desk problem, not an ad problem. (Call handling and set rate covers this.)
Rollout checklist
- Apply for Google Verified / LSA first: line up license, $1M+ insurance, and background check early (2-5 weeks).
- Respond to LSA leads in minutes. Speed-to-lead drives both ranking and close rate.
- Add Search PPC once you cap out on LSA; fund it at ≥ $1,500/mo so it can optimize.
- Separate storm/leak, re-roof, repair, and branded campaigns. Never mix intent.
- Build a negative-keyword list (jobs, DIY, salary, cheap, calculator) and grow it weekly.
- Send every ad to a dedicated landing page, never the homepage.
- Geo-target tight and daypart to staffed hours.
- Flex budget with season and storms.
- Measure cost per booked inspection and cost per signed job with call tracking.
The bottom line
Start with LSA if you can pass verification. It’s per-lead, high-trust, and beginner-friendly. Scale with segmented Search PPC when you hit the cap, always defend your brand name, and treat roofing’s high CPC as a reason to be disciplined, not a reason to avoid it. Send clicks to real landing pages, move your budget with the weather, and measure everything against cost per booked inspection. Ignore anyone still selling the old “Google Guaranteed” money-back badge, and pair this with the channels that don’t cost per click at all in marketing beyond Google, Google reviews, and lead generation for roofers.
General information for roofing business owners in the US and Canada. Ad platforms, LSA verification rules, and costs change. Verify current LSA/Google Ads programs and pricing before you budget.
This guide is general information for independent roofing contractors, not legal or financial advice. Some outbound links may be affiliate or sponsored links, which are disclosed and never affect our recommendations.
Related guides
Get guides like this weekly
Join The Roofing Bench Weekly. One useful email a week, free.
Subscribe free