← all posts

google ads

Google Ads for Roofers: The 2026 Storm-Season Playbook

How to run Google Ads for roofers in 2026: seasonal timing, campaign structure, ad copy templates, budget framework, and the insurance-claim angle.

if you are a roofing contractor typing google ads for roofers into the search bar, you are probably tired of watching your ad budget evaporate with nothing to show for it. i get it. i have managed $2.4m+ in ad spend across home services verticals, and roofing is the one where most contractors burn the most money before they quit. the average roofing job is $8,000-$30,000. even at $30-50 cost per click, the math works — if you run the system right. here is the exact playbook i use for roofing accounts, including the seasonal timing, the insurance-claim angle, and why most roofers waste 40% of their budget.

the problem is not google ads. the problem is that most roofers hire cheap ppc management, run broad-match keywords with no negatives, send traffic to a homepage, and quit after 90 days when the algorithm has not had enough data to optimize. roofing is not a low-ticket vertical. you cannot treat it like a $50 car wash campaign. you need higher budgets, longer evaluation windows, and a completely different approach to keyword intent. this guide covers exactly how to run google ads for roofers in 2026, whether you are a solo contractor or managing ads for a multi-crew operation. before we go further, a quick tldr: run four ad groups (emergency, replacement, repair, inspection), shift budget by season (april peak + september storm spike), separate insurance from cash-pay campaigns, and expect to spend at least $3,000/month before judging results.

for a broader framework on when paid media makes sense versus hiring a full-time media buyer, see my guide on when to hire a media buyer. if you are comparing agencies versus freelancers for roofing ad management, read google ads agency vs freelancer.

234,700/mo
monthly searches for “roofers near me”
$22.37
average cpc for roofing keywords
$8k-$30k
average roofing job value
90
days to optimized campaigns

why google ads for roofers work (even if you have been burned before)

the average roofing job is $8,000-$30,000. even at $22 cost per click and a 5% conversion rate, your cost per acquisition is roughly $440. that is 1.5-5.5% of job value. the math works. roofing is one of the highest-ticket local service verticals, which means you can afford higher cpCs and still generate profitable leads. the problem is not the numbers. the problem is execution.

here is what i have seen repeatedly: a roofer spends $9.91 per click on the keyword “roofing” — 762,800 monthly searches, 3% conversion rate — and gets calls from people looking for roofing jobs, roofing supplies, and roofing tutorials. when they switch to “roof repair near me” — exact match, $18.03 cpc, 11% conversion rate — their cost per lead drops by 40% and their booked-job rate triples. the keyword was the difference between a lead gen system and a money pit.

three reasons roofing ads outperform most other local service businesses:

  1. extreme search intent: “emergency roof repair” is not a browsing query. that person has water coming into their house right now. they are not comparing options for weeks. they want someone there today.
  2. high average order value: at $8k-$30k per job, even a $150 cost per lead generates a 20-50x return. you can outbid competitors who would never be profitable at that cpc.
  3. seasonal urgency spikes: searches for “roof repair near me” and “hail damage roof” spike 40-60% above baseline during storm season. this is when your campaigns should be fully optimized and budgeted. if you are not ready by september, you are leaving money on the table.

for a complete overview of how different lead generation channels compare for home services, read my detailing lead generation playbook — the framework applies directly to roofing, just with higher cpCs and higher job values.

the seasonal roofing calendar — when to scale and when to pull back

roofing is the most seasonal home services vertical. your google ads strategy needs to reflect that. here is the seasonal framework i use for every roofing account:

april — peak hiring month. homeowners notice winter damage. ice dams, shingle curl, attic leaks. scale your budget 2x. this is when you build the pipeline that carries you through summer. if your google business profile is not fully optimized by february, you will waste april ad spend sending traffic to a profile with no reviews and incomplete information.

september — the storm spike. hurricane season in the southeast. hail damage in the plains. “hail damage roof repair” and “emergency roof tarping” keywords dominate. this is your super bowl. your campaigns should be running at full budget with aggressive bidding on emergency keywords. if you wait until the storm hits to turn on ads, you are too late. the algorithm needs 2-4 weeks to optimize.

off-season (november-february) — do not go dark. shift to roof inspection, maintenance, and planning keywords. cpCs drop 30-50% because your competitors went offline. this is when you capture homeowners who are planning spring replacements and willing to schedule now. “roof inspection near me” and “winter roof maintenance” convert at 15-20% lower cost than peak-season keywords.

the 60-day rule. your seo and google business profile need to be optimized 60 days before peak season. ads alone will not save you. someone who clicks your ad and lands on a google business profile with 3 reviews and no photos will call the competitor with 47 reviews and a 4.8-star rating instead. do not scale ad spend until your organic presence can convert the traffic. for more on how seo and ads work together for home services, read my how to market a detailing business guide — the framework applies directly to roofing.

campaign structure: 4 ad groups every roofer needs

the biggest structural mistake i see is one campaign for all roofing keywords. a “hail damage emergency” searcher and a “free roof inspection” searcher have completely different intent, timeline, and budget. do not mix them.

here is the structure i use for roofing accounts spending $3,000-$8,000/month:

ad groupkeyword themebudget splittarget cpa
emergency / storm damageemergency roof repair, hail damage roof, leaking roof, storm damage35%$45-80
roof replacementroof replacement cost, new roof near me, roof replacement companies30%$80-150
roof repairroof repair near me, shingle repair, roof leak repair25%$35-65
roof inspectionroof inspection near me, free roof inspection, roof inspection cost10%$15-30

emergency / storm damage — your highest urgency tier

these keywords have the highest cpCs ($20-44) but also the highest conversion rates (8-14%). the person searching “emergency roof repair” is not price shopping. they want someone now. your ad copy must signal 24/7 availability, insurance claim help, and free inspection. if your ad says “call now for fast response” and your voicemail picks up, you just wasted $40.

roof replacement — your highest ticket tier

roof replacement keywords convert at 4-8% but generate $15,000-$30,000 jobs. your ad copy should emphasize financing options, timeline (most replacements take 1-3 days), warranty, and insurance coordination. this is where you compete with the big national roofing companies. you win on local trust, not brand recognition.

roof repair — your highest volume tier

this ad group captures the broadest range of queries. cpCs are lower ($14-30) but volume is higher. the key is separating repair from replacement intent. if someone searches “shingle repair” and your ad says “full roof replacement,” they will bounce. match the landing page to the search intent exactly.

roof inspection — your lead-in funnel

free and low-cost inspections are how you get your foot in the door. 30-40% of inspections lead to a replacement recommendation within 6 months. this ad group is not about immediate roi — it is about pipeline. track inspection-to-replacement conversion rate monthly. if it is below 25%, your inspection process or follow-up sequence needs work.

ad copy that converts: 3 templates for roofing

your ad copy needs to answer three questions in 30 characters (the headline limit): who are you, what do you offer, and why should they click. here are three templates that consistently outperform generic roofing ads by 20-35% in click-through rate.

template 1: emergency

headline 1: 24/7 roof repair — [city name]

headline 2: free storm damage inspection

headline 3: we handle your insurance claim

description: emergency roof repair in [city]. licensed, insured, 15+ years. we work directly with your insurance company. call now for same-day tarp service.

template 2: replacement

headline 1: roof replacement — [city name]

headline 2: 0% financing available

headline 3: 10-year workmanship warranty

description: full roof replacement in [city]. architectural shingles, 1-3 day installation, free estimate. financing options available. 500+ local reviews.

template 3: inspection

headline 1: free roof inspection — [city name]

headline 2: check for storm damage

headline 3: schedule in 60 seconds

description: free roof inspection in [city]. check for hail, wind, or storm damage. no obligation. schedule online in 60 seconds. licensed & insured.

the city name in the headline is non-negotiable. google ads data consistently shows a 20-35% ctr lift when the searcher’s city appears in the ad. if you serve multiple cities, use location insertion or create separate campaigns per city. also run both call extensions and form submissions — emergency searchers call, replacement searchers often prefer forms because they are researching, not reacting. for more on testing ad creatives that convert, see my creative testing guide — the same a/b testing framework applies to roofing ad copy.

the insurance claim angle — your secret weapon

this is the section that separates serious roofing content from the keyword-dump blogs that dominate the serps right now. 60%+ of roof replacements in the us are insurance-funded. that means the majority of your potential customers are not writing a check — they are filing a claim. your ads need to speak to that.

most roofing ads say “we fix roofs.” that is not what the insurance claimant needs to hear. they need to hear: “we work with your insurance company, we handle the adjuster meeting, we cover your deductible [where legal], and you pay nothing out of pocket beyond your deductible.” the insurance-claim angle is the difference between a roofer and a storm chaser in the homeowner’s mind.

your landing page must include three elements for insurance campaigns:

  1. “we work with your insurance” — above the fold. not buried in the footer. the first thing they see after clicking your ad should confirm you handle insurance claims.
  2. a process explainer. step 1: free inspection. step 2: we meet the adjuster. step 3: we handle paperwork. step 4: you get a new roof. remove the mystery and you remove the objection.
  3. social proof from insurance claims. “helped 200+ homeowners in [city] file storm damage claims in 2025” is worth more than any certification logo.

create separate campaigns for insurance versus cash-pay. insurance keywords include “insurance roof claim,” “hail damage insurance,” “storm roof insurance.” cash-pay keywords include “roof replacement cost,” “cheap roof repair,” “roof financing.” the messaging, landing pages, and follow-up sequences are completely different.

this is the most common question i get from roofers: should i run local service ads (lsas) or google search ads? the answer is both. they capture different demand.

lsas pay per qualified lead (a call or message, not a click). in most us markets, roofing lsas cost $50-100 per lead. you get the google screened badge, which converts at 2.4x the rate of unbadged competitors. lsas appear at the very top of search results, above standard search ads. the downside is limited keyword control — google matches your business category, not specific queries.

search ads give you full keyword control, custom messaging, and dedicated landing pages. you can target “hail damage repair fort worth” specifically, with an ad that says “hail damage repair in fort worth” and a landing page that reinforces it. search ads also let you run on the broader google partner network if you choose.

for roofers, lsas capture “roofers near me” demand — the highest-intent, highest-volume queries. search ads capture “roof replacement [city],” “hail damage repair,” and “emergency roof tarping” demand — the queries where specific messaging matters.

budget split i recommend: 40% lsa, 60% search. adjust based on your market. in smaller metros where lsa competition is low, shift more budget to lsas. in urban markets where lsa leads cost $100+, shift toward search ads with aggressive negatives. for a deeper dive into how performance max campaigns fit into this split, see my performance max lead gen guide.

budget framework — what to spend and what to expect

google recommends 30 conversions/month for target cpa and 50 for target roas before judging results. for roofing, that means you need enough budget to generate at least 30 qualified leads per month before the algorithm can optimize effectively. here is the framework i use:

tiermonthly budgetmarket typeexpected leadsexpected booked jobs
starter$2,000-3,000small market, testing40-756-12
growth$5,000-8,000suburban, competitive100-18015-30
aggressive$10,000-15,000urban, multi-crew200-35030-55

realistic cost per lead by campaign type:

  • emergency: $45-80 (highest cpc, highest conversion)
  • replacement: $80-150 (highest ticket, longest consideration)
  • repair: $35-65 (highest volume, moderate conversion)
  • inspection: $15-30 (lowest cost, pipeline play)

reality check: if you are spending less than $2,000/month on google ads for roofers, you do not have enough data for smart bidding to optimize. you are flying blind. start with at least $2,000 or wait until you can. roofing keywords are too expensive and conversion cycles too long for micro-budgets. for a full breakdown of campaign types and how to set up ai-driven bidding, see my google ai max 2026 guide.

when to scale: after 90 days with consistent conversion data, increase budget by 20% every 2 weeks. do not double budget overnight — google’s algorithm treats sudden budget changes like a new campaign and resets optimization. when to cut: if after 90 days your cost per lead is 2x the target and conversion rate is below 3%, pause and rebuild the campaign structure. do not keep pouring money into a broken setup.

for a deeper dive into google ad budget planning for home services, see my guide on google ai max 2026 — it covers how ai-driven campaigns change budget allocation and bidding strategy.

6 mistakes that waste 40% of roofing ad budgets

1. targeting “roofing” instead of intent-specific keywords

”roofing” has 762,800 monthly searches and a 3% conversion rate. “roof repair near me” has lower volume but 8-11% conversion rate. broad keywords without intent filters drain budgets on tire-kickers, job seekers, and diy researchers. use the four ad group structure above. no exceptions.

2. sending traffic to your homepage

your homepage is for everyone. your landing page is for one person with one roofing problem. if your ad says “emergency roof repair,” the landing page headline must say “emergency roof repair in [city].” not “welcome to [company name].” match the page to the ad. period.

3. no call tracking

if you cannot attribute a phone call to a specific ad and keyword, you cannot optimize. set up call tracking on day one. i use callrail or google forwarding numbers. without this, you are guessing which campaigns work.

4. going dark in november

off-season is when cpCs drop and competition disappears. shift to inspection and maintenance keywords. do not pause campaigns entirely. the homeowners who plan in winter are your spring replacements.

5. ignoring google business profile

your ads and google business profile work together. someone clicks your ad, then checks your gbp reviews before calling. if your profile has 3 reviews and no photos, you are burning ad spend. complete your profile. post weekly. respond to every review. aim for 50+ reviews at 4.7+ stars.

6. not separating insurance from cash-pay campaigns

insurance claimants and cash-pay customers have completely different objections, timelines, and messaging needs. mixing them in one campaign means your ad copy speaks to neither. separate campaigns, separate landing pages, separate follow-up sequences.

what a media buyer brings that diy cannot

if you are a roofer doing your own google ads, you are competing against media buyers who manage 20+ accounts across verticals. here is what they bring:

cross-vertical pattern recognition. what works in roofing works in other home services — and vice versa. i tested the local service vertical pattern with car detailing first. it ranked on page 1 in 6 weeks. the same framework applied to roofing with higher cpCs and higher job values. a diy roofer does not have that cross-vertical data.

budget allocation based on real conversion data. most roofers test 2 ad variants and call it a day. a media buyer tests 20+ variants across 4 ad groups, with real conversion data from multiple accounts. the optimization curve is 5-10x faster.

seasonal budget pacing. a media buyer knows when to scale, when to pull back, and when to shift keywords based on search volume trends. they have seen 3-4 seasonal cycles and know what is coming. a first-time advertiser is always reacting.

landing page optimization for conversion rate. most roofers build a landing page once and never touch it. a media buyer tests headlines, ctas, form fields, and page layouts monthly. a 1% improvement in conversion rate on a $5,000/month campaign is $50/month saved — or 5 extra leads per month.

if you are spending $3,000+/month on google ads for roofers and not getting results, you are probably leaving 30-40% of potential revenue on the table. that is the cost of not having a media buyer who understands the vertical.

frequently asked questions

how much should a roofer spend on google ads?

minimum $2,000/month for small markets, $5,000+ for competitive suburban markets. below $2,000, you do not generate enough data for smart bidding to optimize. google recommends 30 conversions/month for target cpa. roofing keywords are expensive ($14-44 cpc), so micro-budgets do not work. the roofers who commit to $5,000+/month consistently see 5-8% conversion rates from click to qualified lead.

what is the best time of year to run roofing ads?

april and september are the two peak months. april captures winter damage awareness. september captures hurricane and hail storm demand. do not go dark in off-season — shift to inspection and maintenance keywords when cpCs drop 30-50%. the roofers who run year-round with seasonal keyword shifts outperform those who turn campaigns on and off.

should i run google ads or local service ads for my roofing company?

run both — they capture different demand. lsas capture “roofers near me” queries with a trust badge that converts at 2.4x. search ads capture specific queries like “hail damage repair” and “roof replacement cost” with custom messaging. budget split: 40% lsa, 60% search. adjust based on your market’s lsa competition and lead costs.

how long before google ads start working for a roofing company?

expect 60-90 days to optimize. google needs 30 conversions/month for target cpa to work effectively. the first 30 days are data collection. days 30-60 are optimization. by day 90, you should have a clear picture of which campaigns convert and where to shift budget. do not judge results before day 60 — roofing has a longer consideration cycle than most local services.

what keywords should i target for roofing google ads?

four ad groups: emergency/storm damage, replacement, repair, inspection. emergency keywords (hail damage, leaking roof, emergency repair) have highest cpCs but highest conversion. replacement keywords (roof replacement cost, new roof near me) have highest ticket value. repair keywords (roof repair near me, shingle repair) have highest volume. inspection keywords (free roof inspection) are your pipeline play. do not target “roofing” as a standalone keyword — it is too broad and wastes budget.

for a complete overview of lead generation channels for home services, read my detailing lead generation playbook — the framework applies directly to roofing. for help deciding whether to hire a media buyer or manage ads yourself, see my guide on when to hire a media buyer. for a broader view of google ads management for lead gen, see my google ads management for lead generation guide. and if you want to understand how ai-driven campaigns change roofing ad strategy, read my google ai max 2026 breakdown.

need a media buyer who actually understands roofing lead generation? let’s talk. i have managed $2.4m+ in ad spend across home services verticals, and roofing is where the biggest waste — and the biggest opportunity — lives. or see my services page for the full engagement framework.

affiliate disclosure. some links here are affiliate links. if you buy through them, i may earn a commission at no extra cost to you.