Guides19 min read

Google Ads for Roofers: 2026 Guide to Setup, Keywords and Budget

Google Ads for roofers, step by step: Search vs LSA vs Performance Max, the 2026 changes, repair vs replacement vs storm campaigns, keywords, negatives, call tracking and budget.

CN
Chiran Nawalage · @chiran
··Updated Nov 1, 2026

Google Ads for roofers means paying Google to show your roofing company at the top of search results when nearby homeowners search for roof repair, a roof replacement, storm or hail damage, or a roof inspection. You either pay per click (Search ads) or per lead (Local Services Ads, which Google is moving into Performance Max). It works because roofing jobs are large and local, but the searches mix in shingle shoppers, DIY repairs and roofing jobs.

Five-step diagram of how Google Ads works for a roofer: a homeowner searches water stain on ceiling, Google runs an auction on bid and ad quality, the roofer's ad shows at the top, the searcher calls or visits a service page, and the roofer pays per click on Search ads or per lead on Local Services Ads.
The whole loop on one line: search, auction, ad, call, and what you pay for.

Key takeaways

  • Roofers have three Google ad options in 2026: Search ads (pay per click), Local Services Ads (pay per lead) and Performance Max. Roofing is named in the first phase of LSA moving into Google Ads, so check your LSA account now.
  • Our roofing benchmark is $10.70 per click on average, typically $4.00 to $22.00. Bids in your own metro can sit well above or below that, so check Keyword Planner and the roofing Google Ads cost page before you set a budget.
  • Split repairs from replacements and keep a paused storm campaign ready. They need different bids, ads and landing pages.
  • Roofing searches pull in shingle and materials shopping, roofing tools, roofing school and license, and roofing jobs. A day-one negative list matters more than any bid change.
  • 2026 brought real changes: roofing is in the first phase of LSA moving into Google Ads, some missed calls are now billable leads in pay-per-lead campaigns, call-only ads are being retired, and ads can show inside AI Overviews.

I'm Chiran Nawalage, founder of VibeAds. I built our roofing campaign templates, including the ad groups, seasonal factors and negative keyword lists below, and this guide is the sequence I'd follow for a roofing company starting from zero in 2026..

On this page: Search vs LSA vs PMax · What changed in 2026 · Click costs · Setup in 9 steps · Measuring ROI · Troubleshooting · Is it a fit? · FAQ

For the cost side in more depth (bids by city, budgets by market size, cost per lead math), see roofing Google Ads cost. For the campaign build in more detail, see roofing campaign build. If you are choosing software to run the account, I compared the options in the best AI tool for roofing Google Ads.

Show up when people search for your competitor (0:35). Watch it on its own page.
Video transcript

Someone near you just searched for your competitor by name. Your ad can show up on that search. Type their names when you build a campaign in VibeAds, and each one gets its own ad group, built around searches for their name. The ads are written for people comparing, and never spell out their full name. Each one gets a landing page for switchers, and your own name gets an ad group too. Competitor targeting. Included with Max. VibeAds. Google Ads, done.

Which Google ad type should a roofer use?

Use Search ads when you want control over which jobs you pay for (replacements, storm damage and inspections), Local Services Ads when you want to pay per lead without managing keywords, and Performance Max only after conversion tracking is solid. Roofers who spend seriously on Google usually run Search and LSA together where LSA is available, because they show in different spots on the same results page.

Two drawn phone search results. For roofers near me: Local Services Ads with a Google Verified badge at the top (pay per lead), Search ads below them (pay per click), map results from Google Business Profiles, then regular results. For missing shingles after storm: an AI Overview with a Sponsored roofing ad inside it.
Local Services Ads, Search ads and map results each take their own spot, and in 2026 ads can also show inside AI Overviews. Performance Max can show in these spots and on YouTube, Display and Gmail.
Search adsLocal Services Ads (pay-per-lead)Performance Max (standard)
How you payPer clickPer valid lead (call, message, booking)Per click or conversion, bid by Google
Where it showsSearch results, below LSATop of Search and Google MapsSearch, Maps, YouTube, Display, Gmail and more
TargetingYour keywords and negativesKeywordless: service types and areasMostly automated from your assets and signals
Landing pageAny page you chooseYour Google Business ProfileYour site, plus generated assets
Control over job typeHigh: bid more for replacements than small repairsLow: you choose service types, not searchesLow to medium
Best forReplacements, storm damage and inspections, your own trackingSteady leads without keyword workAccounts with strong conversion and revenue data

Sources: Google's Local Services Ads page, Google Ads Help, LSA transition to Performance Max. Eligibility, verification and pricing vary by country and service type.

How I'd decide:

  • Run LSA if you can pass verification and want leads without managing keywords.
  • Run Search ads to steer budget toward replacements, storm damage and inspections, each with its own page.
  • Run both in competitive metros. More in LSA vs Google Ads.
  • Keep insurance claims language careful. Don't promise a free roof or that insurance will pay.
  • Hold off on standard Performance Max until you have a steady flow of tracked leads. Without that data it spends across channels you can't easily judge.

The setup steps below are about Search ads, because that is where the service and bid decisions make or lose money.

What changed in Google Ads for roofers in 2026?

Five changes matter for roofing accounts this year: Local Services Ads are moving into Google Ads as Performance Max with pay-per-lead goals (roofing is named in the first phase), unanswered calls can count as billable leads in pay-per-lead campaigns, call-only ads are being retired, AI Max is reshaping keyword matching, and ads can appear inside AI Overviews. Each one is below with the Google document it comes from.

Timeline of 2026 Google Ads changes for roofers: no new call-only ads from early 2026, Local Services Ads moving into Performance Max from August 2026 with roofing in the first phase, existing call-only ads stopping in February 2027, and three already in effect: billable missed calls over 20 seconds, AI Max for Search, and ads in AI Overviews.
The four dated changes and the three already in effect, each with what to do about it.

Local Services Ads are moving into Performance Max

Google is migrating existing LSA campaigns into a Performance Max campaign type with pay-per-lead goals, managed inside Google Ads. You still pay per lead, the campaign stays keywordless, and the ads keep showing on Search and Maps in the same positions. Weekly LSA budgets become daily average budgets, manual bidding is no longer supported, and your verified status carries over. Google lists roofing in the first phase for select US home service advertisers starting August 2026, with service-area businesses without a storefront in a later 2026 phase. Many roofers run as service-area businesses, so check which phase applies to you. Source: Google Ads Help, LSA transition to Performance Max. Our LSA migration checklist covers what to check before and after the move.

Some missed calls are now charged as leads

Under Google's current lead rules for pay-per-lead campaigns, a call you miss during your business hours counts as a valid lead if the caller stays on the line for more than 20 seconds. Calls outside your business hours or outside your ad schedule are not charged, and if your phone system asks callers to press a key, the 20-second timer starts after they press it. Source: Google Ads Help, how leads work with pay-per-lead goals. Roofers are usually on a job, so set your Business Profile hours to the hours someone really answers, or use an answering service.

Call-only ads are being retired

Google is deprecating call ads (call-only ads). The option to create new ones was removed in early 2026, and existing call-only ads stop receiving impressions in February 2027. Google's replacement is a Responsive Search Ad with a call asset. Source: Google Ads Help, transition from call ads to call assets. If your roof repair ad group still uses call-only ads, rebuild it now with a call asset.

AI Max for Search campaigns

AI Max is an optional layer on Search campaigns that expands matching beyond your keywords using broad match and keywordless technology, and can tailor ad text and landing page choices. It comes with controls such as brand inclusions and exclusions and URL controls, and it reports headlines and URLs in the search terms report. Source: Google Ads Help, how AI Max for Search campaigns works. For roofing the risk is shingle and materials shopping, roofing tools, roofing school and license, and roofing jobs. Turn it on only after call tracking works, and keep the negative list below in place.

Ads in AI Overviews and AI Mode

Search, Shopping and Performance Max ads can now show inside AI Overviews and AI Mode in the US in English, labeled "Sponsored," with no separate campaign or budget. Exact and phrase match keywords only qualify when the query itself has clear commercial intent; broad match, AI Max and Performance Max can also match on the AI answer's context. You cannot opt out separately, but negative keywords still apply. Source: Google Ads Help, ads in AI-powered experiences. Questions like "how do I know if my roof needs replacing" or "does insurance cover hail damage" are where this shows up for roofers.

What do roofing clicks cost in 2026?

Our roofing benchmark is $10.70 per click on average, with a typical range of $4.00 to $22.00 (VibeAds planning estimates; the roofing Google Ads cost page shows bids by city and how the numbers are built). Average cost per click and the top-of-page bids you see in Keyword Planner are different numbers: the planner shows what advertisers bid to appear first, which is usually higher than what a click ends up costing.

At $10.70, a $70/day budget, our recommended start for a mid-size city, buys about 7 clicks a day before local bids move it. One replacement can be worth many repairs, so the account should spend most where a lead becomes an inspection and a replacement quote.

When is roofing demand highest?

Our roofing factors sit at 0.7x from December to February, climb to 1.3x in April and May, and stay at 1.1x to 1.2x through October. Spring and storm season drive the peaks. Lift budgets into spring and keep fall steady.

JanFebMarAprMayJunJulAugSepOctNovDec
0.7x0.7x1.1x1.3x1.3x1.2x1.1x1.1x1.2x1.2x0.9x0.7x
Roofing month-by-month plan: demand factors from 0.7x in December to February to 1.3x in April and May, so a $70 a day mid-size baseline becomes $49 a day in December to February and $91 in April and May. Each month shows how far to raise or lower the budget, and the slow months are lowered, never paused.
Raise the budget in the busy months and lower it, rather than pause, in the slow ones, so Smart Bidding keeps its history.

How do you set up Google Ads for a roofing company?

Set up roofing Google Ads in nine steps: split campaigns by urgency and value, build one ad group per service, add negatives on day one, target by Presence, write ads with assets, send each ad group to its own page, track calls and booked jobs, set budget and schedule, and avoid the usual mistakes. Each step is below.

Step 1: Split campaigns by job size, with storm on standby

Run one Search campaign for replacements and inspections, one for repairs, and keep a storm and hail campaign built but paused so you can turn it on the day a storm hits your area.

Diagram of a roofing Google Ads account with a repair campaign (the Roof Repair ad group) and a replacement campaign (Roof Replacement, Roof Inspection, Metal and Flat Roofing), each ad group with its own keywords and landing page, the five ad groups to start with, and a reminder to keep a storm and hail campaign built but paused until a storm hits.
Replacements and repairs get their own campaigns, and a storm campaign waits paused for the day a storm hits.

Step 2: Build one ad group per service

VibeAds' roofing template has more service ad groups than most accounts need; start with the five below and add others as budget allows.

Ad groupExample keywords (phrase or exact)Notes
Roof Replacementroof replacement, new roof cost, reroofHighest value; inspection is the conversion
Roof Repairroof repair, roof leak repair, roof repair near meUrgent; smaller tickets
Storm & Hail Damagehail damage roof repair, storm damage roofPaused until a storm; careful insurance copy
Roof Inspectionroof inspection, free roof inspectionLead in to replacement
Metal & Flat Roofingmetal roof installation, flat roof repairSpecialty; only if you do it

Homeowners also search by problem, not service name: "roof leaking", "missing shingles", "water stain on ceiling", "roof sagging", "mold on roof". Those searches are worth a few phrase match keywords in the matching ad group, with ad text that names the problem back to them.

Step 3: Add negative keywords on day one

Roofing pulls searches for shingle and materials shopping, roofing tools, roofing school and license, and roofing jobs, and they look close to your keywords. These are the negatives VibeAds starts every roofing campaign with:

"buy shingles", "shingles price per square", "roofing supply store", "roofing supply", "roofing materials", "tar paper", "roofing felt", "roof underlayment", "roofing nails", "roofing nail gun", "roofing tools", "metal roofing panels", "roof coating buy", "roof sealant buy", "roofer salary", "roofing license", "roofing school", "roof blueprint", "roofing diagram", "roof pitch calculator", "roofing square calculator", "cheap", "cheapest", "storm chaser".

Add them as phrase match at the campaign level, then review the search terms report weekly for the first two months and add anything that is clearly not a customer. Our free negative keyword generator builds a longer starter list for roofing and other trades.

The 24 roofing negative keywords VibeAds adds to new campaigns, in four groups: buying shingles and materials (buy shingles, shingles price per square), tools, diagrams and calculators (roofing nail gun, roofing tools), job seekers and licensing (roofer salary, roofing license) and bargains and storm chasers (cheap, cheapest).
Put these in one shared negative keyword list so every roofing campaign uses it, then keep adding from the search terms report.

Step 4: Set location targeting to Presence

In location options, choose "Presence: people in or regularly in your targeted locations" instead of the default that also includes people who show interest in the area. Draw your service area around where you really install, and widen it only after a storm if you have the crews.

Two maps comparing location options. With Presence, the ad reaches people in or regularly in the service area, including someone who commutes in, and not someone two states away searching roofers in Nashville. With Presence or interest, Google's default, that searcher sees the ad too and the roofer pays for the click. The setting is under Campaign settings, Locations, Location options.
Change Presence or interest to Presence before launch, and widen the area only after a storm if you have the crews.

Step 5: Write ads and add assets

Write one Responsive Search Ad per ad group with up to 15 headlines and 4 descriptions, and pin nothing at first so Google can test combinations. Put the service name in at least two headlines and your city in one. Headline ideas that fit roofing:

  • Roof Replacement in [City]
  • Roof Leak Repair, Fast Response
  • Free Roof Inspection
  • Storm and Hail Damage Repair
  • Financing Options Available
  • Licensed, Insured Roofers

Add a call asset, a location asset if you have a verified Business Profile, structured snippets for your services, sitelinks to your top service pages and callouts. Don't promise a free roof or that insurance will pay. Only claim warranties and certifications you really hold.

A drawn phone showing a roofing search ad with five labeled parts: headlines (up to 15, 30 characters each), descriptions (up to 4, 90 characters each), a call asset that adds a Call button and replaces call-only ads, a location asset from the Business Profile, and sitelinks to roof replacement, roof repair, roof inspection and metal roofing.
One Responsive Search Ad per ad group, with call, location and sitelink assets. Phone numbers and ALL CAPS in ad text get disapproved.

Step 6: Send each ad group to its own landing page

Clicks sent to a homepage leak away through the navigation and blog links. Give each main ad group a page whose headline repeats the search. A roofing landing page should have:

  • A headline that matches the ad group (for example "Roof Replacement in [City]")
  • Tap-to-call and an inspection request form
  • What an inspection includes and what happens next
  • Warranties and certifications you really hold
  • Photos of real jobs and reviews
  • Service area and financing if you offer it
Two drawn roofing landing pages on phones. A repair page puts the call button first, then photos of real repairs. A replacement page adds what an inspection includes, warranties and certifications you hold and financing if offered. Between them, the seven things every page needs, from a headline that matches the ad to a fast load on a phone.
One page per ad group: the call button for repairs, the inspection and what happens next for replacements.

If you don't have pages like these yet, VibeAds builds one per ad group; more on that in Google Ads landing pages.

Step 7: Track calls, forms and booked jobs

Track three conversion types: calls from ads (call assets and calls from the website, counted after a minimum duration), form submissions, and booked jobs sent back as offline conversions. Count calls and inspection requests as leads, track inspections booked, and send signed replacements back to Google Ads with their value. Without call tracking you will optimize on forms alone and miss most of your leads.

Circular diagram of roofing conversion tracking: a search, a click or call, a tracked lead, a booked job in the CRM or field service software, an offline conversion sent to Google Ads by click ID, and Smart Bidding learning which searches book. Without the booked jobs, a full replacement and a small repair count the same.
Track calls and inspection requests as leads, then send signed replacements back with their value so Smart Bidding learns what a new roof is worth.

Step 8: Set budget, bidding and schedule

These are the daily budgets VibeAds starts roofing campaigns on:

MarketMinimumRecommendedUpper end
Small town$15/day$35/day$70/day
Mid-size city$35/day$70/day$140/day
Large metro$70/day$140/day$280/day

At our $10.70 benchmark, $70/day buys about 7 clicks a day before you account for local bids. If your budget is near the minimum, put it behind one or two services you most want rather than spreading it across all of them. Start with Manual CPC or Maximize Clicks with a bid cap while you collect data, and move to Maximize Conversions or Target CPA once conversion tracking has a steady flow of real leads.

Lift budgets from March through October per our factors, pull back in December to February, and turn the storm campaign on only when a storm hits your area.

Step 9: Avoid the common mistakes

  1. No negative keywords. Irrelevant searches eat budgets fast.
  2. One ad group for everything. You can't bid more for the jobs that matter.
  3. Sending clicks to the homepage. Navigation and blog links are escape routes.
  4. Not tracking calls. You will optimize on forms and miss most leads.
  5. Promising insurance will pay. It invites complaints and disapprovals.
  6. A radius bigger than your crews can serve. Long drives erase the margin.
  7. Spreading a small budget across every service. Focus it on the jobs you most want.
  8. Still relying on call-only ads. They stop serving in February 2027.

How do roofers measure Google Ads ROI?

Measure ROI by connecting three things: what each click cost, which lead it produced, and what the job paid. Use Google Ads conversion tracking for calls and forms, call tracking that ties each call to a keyword, and offline conversions that send booked job revenue back to Google Ads. Without the last step, you only know cost per lead, not which keywords make money.

Diagram of the three numbers needed to measure Google Ads ROI for a roofer: what each click cost (Google Ads), which lead it produced (conversion and call tracking) and what the job paid (offline conversions). A worked month: $2,000 buys about 187 clicks at $10.70, about 19 leads if 10% call or fill in a form, about $107 per lead, and only the third link shows which became paying jobs.
Planning numbers, not a promise. Cost per lead is what you can see without booked jobs; revenue per keyword needs offline conversions.

A worked example with our planning numbers, not a promise: at $10.70 a click, a $2,000 month buys about 187 clicks. If 10% of those become leads (an assumption; your landing page and offer decide the real rate), that is about 19 leads at about $107 each. Whether that month pays depends on your close rate and your real job values. One replacement can pay for months of spend, so judge the account on signed jobs over a quarter, not one month's lead count. Plug your own numbers into the Google Ads ROI calculator rather than trusting any industry average, including ours.

Why is my roofing Google Ads campaign not getting calls?

Usually it is one of five things: the ads are not showing (budget, bids or disapprovals), they show for the wrong searches, the landing page loses people, calls are not being answered, or calls happen but are not tracked. Match your symptom to the likely cause below before changing bids.

Funnel for a roofing campaign that gets no calls, from impressions to clicks, calls and forms, tracked conversions and booked jobs, with the likely cause at each step: budget too low for local bids, or ads disapproved; the page doesn't match the ad, or is slow on a phone; missing negatives or loose match types; call tracking not set up; and budget going to generic roofer near me searches.
Start at the top and fix the first step that breaks before changing bids.
SymptomLikely causeWhat to check first
Few impressionsBudget too low for local bids, or ads disapprovedAd status, "Limited by budget," your metro's bid range
Clicks but no calls or formsLanding page mismatch or slow mobile pageDoes the page headline match the ad? Is tap-to-call at the top?
Calls from people wanting materials, tools or jobsMissing negatives or loose match typesSearch terms report, then add negatives
Mostly small repair callsBudget going to generic "roofer near me" termsSpend by ad group; raise bids on replacement and inspection groups
LSA charges for calls you never spoke onMissed calls during business hoursBusiness Profile hours and answer coverage
Clicks from outside your area"Presence or interest" left onLocation options
Calls but Google shows 0 conversionsCall tracking not set upConversion actions and their status

When is Google Ads not worth it for a roofing company?

Google Ads is a poor fit when your schedule is already full, when you can't answer calls during the hours your ads run, when your budget can't buy a meaningful number of clicks at your metro's bids, or when you have no way to track which calls became jobs. Fix capacity, reviews or tracking first, or start with your Google Business Profile.

It is a good fit when you have spare crew capacity, someone answering the phone, at least a few reviews, a page per main service, and a budget that covers your local bids for several weeks while the account learns. Plan on two to three months before cost per lead is predictable.

Quick-start checklist

  1. Decide Search, LSA or both, and check which LSA migration phase applies to you
  2. Check your metro's bids in Keyword Planner and pick a daily budget
  3. Repairs, replacements and a paused storm campaign; one ad group per service
  4. Phrase and exact match to start
  5. Day-one negatives, then weekly search term reviews
  6. Location set to Presence, inside the area your crews really serve
  7. One Responsive Search Ad per ad group with call, location, snippet and sitelink assets (no call-only ads)
  8. A landing page per main service with tap-to-call
  9. Call and form tracking, with booked jobs sent back as offline conversions

14-day Pro trial. No credit card. You pay Google for your clicks.

Roofing Google Ads FAQ

Is Google Ads worth it for roofers?

Usually yes, when the account is split by service and protected by negatives, because people who need roofing search locally and often want help soon. It is not worth it if you can't answer calls, can't track which calls book, or can't fund your metro's bids for a few months.

How much should a roofing company spend on Google Ads per month?

Our starting points are about $35/day in a small town, $70/day in a mid-size city and $140/day in a large metro, which is roughly $1,050 to $4,200 a month. Check your own metro's bids first, and adjust by season with the monthly factors above.

Should a roofing company use Local Services Ads or Google Ads?

Use LSA to pay per lead without managing keywords, and Search ads to steer budget toward replacements, storm damage and inspections with your own pages and tracking. In competitive metros, run both where LSA is available to you.

Is roofing part of the LSA move to Performance Max?

Yes. Google names roofing in the first phase of the migration for select US home service advertisers, starting August 2026, with service-area businesses without a storefront in a later 2026 phase.

Are call-only ads still available for roofers?

No new ones. Google removed the option to create call-only ads in early 2026, and existing ones stop serving in February 2027. Use Responsive Search Ads with a call asset instead.

What keywords should roofers avoid?

Shingle and materials shopping, roofing tools and nail guns, roofing school, license and salary searches, and DIY repair. The full starter list is in Step 3.

Can VibeAds build a roofing campaign for me?

Yes. You can see a sample campaign first, then start a 14-day free trial with no credit card.

VibeAds builds the Search side from our roofing data: replacement, repair, storm, inspection and specialty roofing ad groups, the negatives above, ads, landing pages and call tracking. It then reviews your search terms twice a day and recommends changes for you to approve.

Try the math

At $10.70 per click, how far does your roofing budget go?

Clicks
~93
/ month
Leads
6 to 7
/ month
Revenue (est)
$4,800 to $5,600
/ month

Estimates use national average CPC for roofing and a 6 to 8 percent click-to-lead conversion. Actual results vary by market, time of year, and campaign quality.

See your roofing campaign drafted

Pick your service area, and review the whole roofing campaign before anything goes to Google Ads.

14-day Pro trial. No credit card. You pay Google for your clicks.

CN

Written by Chiran Nawalage

@chiran

Founder & CEO of VibeAds

Built VibeAds to replace $1,500/mo marketing agencies with a $20/mo AI tool for plumbers, HVAC companies, electricians, dentists, roofers, and 30+ local service categories. Passionate about making Google Ads accessible to every small business owner.

Related Articles

#roofing#google-ads#keywords#budget