The Storm Just Hit. Someone Else Got the Call.
A hail storm ripped through town last Tuesday. Hundreds of homeowners grabbed their phones within hours and searched "hail damage roof repair [city]." Some found you. Most found somebody else. Maybe they found that out-of-state truck that rolled in two days after the storm with a magnetic sign and no local address. That company ran a storm damage Google Ads campaign they built six months ago and kept paused, ready to activate the moment a hail event hit their watch zone. You were still figuring out your budget.
That is the roofing Google Ads game in one paragraph. It is not about having the biggest ad spend. It is about being ready before the event, not after.
Roofing has the highest CPC in home services, reaching $65 or more per click during storm season. It has the highest average ticket of any residential trade, running $8,500 to $15,000 on a standard replacement and $12,000 to $20,000 or more on insurance claims. And it has some of the most time-sensitive leads in any category. When Google Ads is set up right for roofing, it genuinely prints money. When it is set up wrong, it prints money for your competitors.
This guide covers how to set it up right, from keyword structure to storm protocols to landing page conversion rates, with real numbers from real roofing accounts and no agency filler.
If you want the full Google Ads foundation first, start with the Google Ads for Contractors hub and come back here for the roofing-specific deep dive.
Why Roofing Google Ads Is a Different Beast
Every trade has its own dynamics in paid search. Roofing is genuinely in a category by itself. Here are the four dynamics that make it different from every other home service category.
1. Storm chasers inflate CPCs at exactly the worst time
When a hail event hits your market, out-of-state storm chasing contractors flood in within 48 hours. They activate aggressive Google Ads campaigns, bid $40 to $65 per click on your exact keywords, and inflate CPCs by 50 to 100 percent right at the moment when you need volume the most. A local roofer who is not prepared watches their cost per lead double overnight while a company from three states away takes the calls.
The fix is to pre-build your storm campaign and get it into the auction before storm chasers arrive. A lower Quality Score than yours means their CPCs are even higher. When your account already has conversion history and a high Quality Score on storm keywords, you can out-compete storm chasers at a lower cost per click. First-mover advantage is very real in roofing Google Ads.
2. Insurance claims completely change buyer psychology
Unlike most home services where the homeowner is price-shopping with their own money, 40 to 60 percent of roofing jobs after a storm are insurance claims. That homeowner is not comparing quotes by price. They are looking for someone they trust to guide them through the claim process and deal with the adjuster. They are overwhelmed and confused, often filing a claim for the first time in their life.
Ad copy that says "We handle your insurance claim" outperforms "Best price on roof replacement" for storm leads. The buyer has fundamentally different needs, and your ads, landing pages, and sales process need to reflect that.
3. Four completely different buyer intents in one category
Roofing search traffic includes: emergency leak repair (needs help today, will book on the first call), full replacement planning (researching over days or weeks before committing), storm damage insurance claim (overwhelmed, wants a guide through the process), and commercial reroofing (long decision cycle, different decision maker entirely). Running all four in one campaign gives Google no signal about what kind of lead you want. CPCs and CPLs that seem random usually come from this exact problem.
4. Click fraud and budget waste is severe
CPCs over $20 make roofing one of the most attractive click fraud targets in any category. Competitors clicking your ads happens in this trade. Bots, insurance adjusters researching pricing, storm chasing competitors doing competitive research, and homeowners who want to know if their insurance will cover it before calling anyone, all waste budget at the high CPCs roofing generates. Without click fraud protection and a strong negative keyword list, 20 to 30 percent of clicks may generate zero intent. Tools like ClickCease are worth evaluating for any roofing account spending over $3,000 per month.
The Roofing Keyword Universe: 4 Buckets With Very Different Economics
Roofing keywords do not all convert the same way. You can have two keywords at the same $35 CPC. One becomes a $500 repair job booked today. Another becomes a $14,000 replacement job signed in two weeks. Another sends you someone who just wanted to know if their insurance would cover it before they decide what to do next. If you treat all three identically in one campaign, you are optimizing for an average that does not exist in your actual customer base.
| Bucket | Example Keywords | CPC Range | Close Rate | Avg Ticket |
|---|---|---|---|---|
| Emergency Repair | "roof leak repair today," "emergency roof repair [city]," "roof tarping service" | $15 to $45 | 60 to 80% | $800 to $2,500 |
| Replacement / Install | "roof replacement cost [city]," "new roof installation," "asphalt shingle replacement" | $20 to $65 | 20 to 30% | $8,500 to $15,000 |
| Storm / Insurance | "hail damage roof inspection," "storm damage roof repair [city]," "roof insurance claim help" | $25 to $60 | 25 to 35% | $10,000 to $18,000+ |
| Commercial | "commercial roofing contractor [city]," "flat roof replacement," "TPO roofing installation" | $20 to $50 | 8 to 12% | $25,000 to $200,000+ |
Negative keywords: add these before spending a dollar
Roofing campaigns consistently attract irrelevant traffic from searches that will never convert. Here are the categories to add as negatives immediately when you set up or audit a roofing campaign:
- DIY and how-to terms: "how to fix roof leak," "DIY roof repair," "roof repair tutorial," "how to shingle a roof," "repair roof myself"
- Jobs and careers: "roofing jobs hiring," "roofer salary," "roofing apprenticeship," "roofing company jobs," "roofing crew wanted"
- Materials and supplies: "roofing nails," "roofing felt," "roofing tar," "home depot roofing," "lowes shingles," "roofing felt rolls," "roof underlayment"
- License lookups and research: "contractor license lookup," "how to file a roof insurance claim yourself," "roof damage calculator," "roof replacement cost estimator"
- Mobile home and specialty exclusions: "roofing company for mobile homes" (if you don't service them), "metal roof DIY kit," "roofing company reviews" (if you only want service calls, not comparison researchers)
Campaign Structure: 4 Campaigns, Not One
The single biggest structural mistake in roofing Google Ads is combining all intent types into one campaign. Emergency repair, roof replacement, storm damage, and commercial reroofing are four completely different buyer conversations. One campaign with one budget and one bid strategy cannot serve all four. Here is the setup that actually works.
Campaign 1: Emergency Repair (Always-On, 24/7)
- This is your fastest-close campaign. Someone has water coming through their ceiling right now. They are not comparing three quotes.
- Budget: 20 to 25 percent of total monthly budget
- Bidding: Maximize Conversions to start, move to Target CPA once you have 30 or more conversions per month
- Schedule: 24/7, but only if someone actually answers after-hours calls. If your calls go to voicemail after 8pm, shut off the campaign at 8pm.
- Landing page: Call-focused. Big phone number above the fold. "We answer 24/7." No navigation, no exit paths. One action only.
Campaign 2: Roof Replacement / Installation (Core Revenue)
- Your biggest ticket. Longest research cycle. Worth paying for, but it takes time to convert.
- Budget: 35 to 40 percent of monthly budget
- Bidding: Start with Manual CPC to control spend while the account learns, move to Maximize Conversion Value once you have conversion data
- Geographic adjustments: Add a 15 to 25 percent bid boost in higher-income zip codes. Replacement jobs close better where homeowners have equity and are not agonizing over the deductible.
- Landing page: Trust-heavy. Reviews, warranty info, financing options, manufacturer certifications like GAF Master Elite or Owens Corning Preferred.
Campaign 3: Storm Damage (Keep Paused, Activate on Event)
- This is the campaign most roofers do not have but should. Build it now. Keep it paused. When a storm hits, you activate in 10 minutes, not 10 days.
- When to activate: Within hours of a confirmed hail, wind, or tornado event in your service zip codes. Use Tomorrow.io, Storm Advance alerts, or NWS warnings.
- Budget when active: Increase total budget 50 to 100 percent above baseline. The window is 2 to 4 weeks. Do not wait a week to see how it goes.
- Ad copy: Insurance-claim focused. "Free hail damage inspection. We document everything for your adjuster."
- Geographic targeting: Narrow to the specific zip codes in the confirmed storm path, not your entire service area.
Campaign 4: Remarketing (Evergreen)
- Targets everyone who visited your website but did not call or submit a form. These people already know you. They are the easiest conversions you will get.
- Budget: 10 to 15 percent of total. High ROAS because the awareness work is already done.
- Messaging: Social proof or urgency. "Still need a roofer? 400+ 5-star reviews in [city]." Or post-storm: "That storm damage is not getting better. Let's get your inspection booked."
- Insurance leads specifically: Remarketing is critical for insurance prospects who got an inspection but are waiting on adjuster approval. Keep your brand in front of them through the entire claim cycle.
Roofing Google Ads Budgets: What You Actually Need
The $500 per month question. We hear it from roofers every week who want to "test Google Ads." At $500 per month in a mid-size market, roofing keywords cost $20 to $40 per click. That is 12 to 25 clicks per month. That generates maybe 1 to 2 leads at best, often zero. $500 per month in roofing Google Ads is not a test. It is a donation to Google.
Here is what actually moves the needle:
10 to 20 leads per month. Focus on emergency repair and local replacement. Not competitive for storm events in larger markets.
20 to 35 leads per month. Can run 2 to 3 campaigns. Enough budget to activate a storm campaign at meaningful scale.
35 to 60 or more leads per month. Full 4-campaign structure. Competitive in most metros for all intent types.
Applied for 2 to 4 weeks after a confirmed event. The spike is temporary. Capturing the window is permanent revenue.
What a well-managed account actually looks like on paper
ROAS Example: $5,000/Month Roofing Campaign
These numbers assume proper campaign structure, dedicated landing pages, and real conversion tracking. Mismanaged accounts in the same market often pay $350 or more per lead and close at 12 percent. That is the same $5,000 spend producing $35,000 in revenue instead of $70,000. Same market, same budget, 4x worse outcome because the account structure is wrong.
Ad Copy That Beats Storm Chasers
Storm chasers have one advantage over local roofers: they are willing to make promises they do not plan to keep. "Free roof replacement with insurance." "We guarantee your claim gets approved." You cannot and should not compete on that. What you can do is out-trust them. A local company with real reviews, a real address, and certifications wins the trust battle every time, as long as your ads actually communicate those things.
Emergency and urgency ad copy
- "Roof Leak? We're On It Today. [City]'s Trusted Roofer Since [Year]"
- "Emergency Roof Repair Available Now. 600+ 5-Star Reviews. Call Now."
- "Water Coming In? We Tarp Same Day. Licensed, Insured, Local."
Insurance and storm ad copy
- "Hail Damage? Free Inspection. We Work Directly With Your Insurance."
- "Storm Damage Roof Repair. We Handle Insurance Claims for You."
- "Hail Hit [City]? Free Inspection + Full Claim Documentation. Call Today."
Replacement and trust ad copy
- "New Roof From $199/mo. 50-Year Warranty. Free Quote Same Week."
- "Family-Owned Since [Year]. GAF Master Elite Certified. Free Estimate."
- "Licensed, Insured, A+ BBB. [City]'s Trusted Roofer Since [Year]."
Ad extensions that actually matter for roofing
- Call assets: Mandatory. Most roofing conversions happen by phone. If your call asset is missing, you are leaving conversions on the table every day.
- Location assets: Shows you are local, not a storm chaser. Your address in the ad is a trust signal that out-of-state competitors cannot match.
- Sitelinks: Free Inspection, Financing Options, Storm Damage, Our Work, Reviews. Give searchers the shortcut to the page that matches their specific need.
- Callouts: GAF Master Elite, 50-Year Warranty, Same-Day Response, Insurance Claim Experts, Licensed and Insured.
- Structured snippets: Services header: Roof Replacement, Storm Damage Repair, Roof Repair, Gutters, Commercial Roofing.
Storm Season Protocol: When the Hail Hits, Your Campaign Has to Be Ready
This is the most important section of this guide. Nothing in roofing Google Ads matters more than what happens in the first 48 to 72 hours after a storm event. Here is the framework that separates prepared roofers from everyone else.
Phase 1: Pre-Season Setup (February through April)
CPCs are lower in early spring before storm season heats up. Quality Scores build. This is when you get your campaigns in shape, landing pages optimized, and conversion tracking verified. A roofer who starts advertising in February versus April spends less per lead all season because their Quality Score is already established when competition spikes. Starting 4 to 6 weeks before your local peak storm season reduces CPL by 22 to 35 percent compared to accounts launched mid-season.
During pre-season, build your storm damage campaign completely. Write the ads. Set up the landing page. Configure the targeting. Then pause it. When a storm hits, you activate it in 10 minutes.
Phase 2: Active Storm Season (May through September, varies by region)
Texas sees peak hail events in May and August. The Southeast hurricane season runs June through November. The Midwest hail belt is active from May through September. During active season, even before a specific event hits, general "roof repair" volume is elevated. Increase your baseline budget 30 to 40 percent above your off-season spend just to capture the higher ambient demand.
Phase 3: Post-Storm Activation (within hours of an event)
The window is everything here. The steps, in order:
- Confirm the event via weather alert, NWS warning, or Tomorrow.io notification
- Activate your storm damage campaign immediately, not tomorrow morning
- Narrow geographic targeting to the specific zip codes in the confirmed storm path
- Increase your total daily budget 50 to 100 percent above baseline
- Switch the storm campaign to Maximize Conversions
- Monitor daily for the first week. The window is 2 to 4 weeks before storm chaser fatigue sets in.
Phase 4: Off-Season (November through February)
Reduce budget 40 to 50 percent below your peak season spend. Shift from aggressive lead gen toward brand maintenance. Keep your emergency leak repair keywords live at reduced spend, because roof leaks happen in winter and those homeowners need help urgently. Use the off-season to rebuild Quality Scores, test new landing pages, and audit your negative keyword lists.
Do not go completely dark. Fully pausing your campaigns kills Quality Score and wipes your algorithm's conversion learning. It takes 4 to 6 weeks to recover after you restart. The cost of staying minimally active during the slow season is far less than the cost of rebuilding from zero every spring.
Insurance Claim Leads: A Completely Different Buyer
The homeowner who called because they have a leak right now is ready to book. The homeowner who called because they have hail damage and have never filed an insurance claim before is not ready to book. They are scared. Confused. Wondering if they will get in trouble for filing. Worried about their premium going up. Running these two people through the same campaign, the same ad, the same landing page, and the same follow-up call script is how you lose 60 percent of your storm leads.
Why insurance leads have a longer conversion cycle
Insurance claim leads do not convert on the first call. They convert on trust built over multiple touchpoints. The typical flow looks like this: First call, inspection gets booked. Inspection visit, documentation completed and claim filed with your help. Adjuster approval, you follow up immediately. Contract signing, often 30 to 90 days after initial contact. If your Google Ads account only counts conversions from the first interaction, you are missing the actual revenue these leads generate.
What this means for your campaign setup
- Remarketing is critical for insurance leads. They saw your ad, called you, got the inspection. Then the claim process slows everything down. Your remarketing campaign keeps you in front of them while the adjuster takes three weeks to respond. "Your claim is in progress. Call us to check the status or speed up your repair."
- The landing page needs to explain the process, not just the roof. "Here is what happens when you call us: 1) Free inspection. 2) We document everything. 3) We file with your insurer. 4) We negotiate with the adjuster. 5) You pay only your deductible." That five-step process on the page immediately reduces the anxiety that kills insurance lead conversions.
- CPL for insurance leads runs higher. Expect $350 to $500 per verified insurance lead. But the job values justify it. Insurance companies pay full replacement at $12,000 to $20,000 or more. A $400 CPL on a $15,000 job is a 37x return before overhead.
Ad copy for insurance leads (not price-focused, trust and process-focused)
- "We've Helped 1,200+ Homeowners File Successful Roof Claims in [City]"
- "Storm Damage? Free Inspection. We Handle All the Insurance Paperwork."
- "We Know Insurance. We Know Roofing. Free Inspection Today."
Landing Pages: Where Most Roofing Campaigns Die
The call coming from a Google Ad is worth $0 if it lands on the wrong page. A roofer with a $40 CPC and a 2 percent converting landing page is paying $2,000 per lead. The same $40 CPC with a 10 percent converting page is paying $400. Landing pages determine whether your campaign is profitable, not your bids.
Rule 1: Message match
"Free Hail Damage Inspection" in the ad. "Free Hail Damage Inspection" as the landing page H1. Not your company name. Not "Welcome to ABC Roofing." Not "Roofing Services in Dallas." The exact promise you made in the ad, repeated at the top of the page. When the message matches, conversion rates go up because the visitor confirms they are in the right place immediately.
Rule 2: One action per page
No navigation menu. No links to your blog. No "Learn More" buttons that go somewhere else. One thing: call or fill out the form. Every exit path on a landing page is a conversion you lost. Your homepage has navigation because it serves multiple purposes. Your landing page has one purpose.
Rule 3: Mobile-first, always
Most roofing clicks come from mobile devices. Pull up your landing page on your own phone right now. Is the phone number a tap-to-call link? Does it load in under 3 seconds? Is the form 4 fields or fewer? If any of those answers are no, you are losing conversions every day. A form that asks for name, address, city, phone, email, preferred appointment time, and "describe your roofing issue in detail" will convert at 1 percent. A form that asks for name, phone, zip, and brief description converts at 6 to 10 percent.
Rule 4: Separate pages per campaign
Emergency repair, storm damage, and residential replacement are three completely different buyer conversations. One landing page cannot serve all three without failing at all three. The investment in three landing pages is small compared to what a unified page costs you in conversion rate.
What a converting roofing landing page includes
- Click-to-call phone number, massive, above the fold
- Headline matching the ad (exact language)
- Social proof: review count, star rating, two or three short testimonials
- Trust badges: GAF Master Elite, Owens Corning Preferred, BBB A+, Google Guaranteed, license number
- Short form: name, phone, zip code, describe the issue (4 fields maximum)
- For insurance campaign pages: explain the claim process step by step, offer "we handle everything"
- Warranty callout if you are targeting replacement leads
Industry average conversion rate for home services landing pages is 3.7 to 5.7 percent. An optimized roofing landing page should hit 8 to 12 percent or more. The difference between 4 percent and 10 percent on a $5,000 per month spend is 3 to 4 additional booked jobs per month. At a $10,000 average ticket, that is $30,000 to $40,000 in additional monthly revenue from the same ad spend.
9 Mistakes Bleeding Roofing Budgets
-
1Sending all traffic to the homepage Critical Homepages convert at 1 to 2 percent because they serve too many purposes. Dedicated landing pages convert at 6 to 12 percent or more. At $30 to $50 per click in roofing, the difference is the entire profit margin of the campaign.
-
2No storm campaign built and ready Critical Missing the first 48 to 72 hours after a storm is the most expensive mistake in roofing Google Ads. That window closes fast and the best leads are in it. Building a storm campaign takes hours. Not having one costs entire storm seasons.
-
3Running broad match without conversion data Critical Broad match without Smart Bidding conversion history eats budget on career searches, DIY queries, material purchases, and competitor brand names. Start with phrase match, build 30 or more conversions per month, then expand carefully.
-
4One campaign for all intent types Critical Emergency repair, replacement, insurance claims, and commercial reroofing are four completely different buyers. One combined campaign gives Google no useful signal and produces CPLs that make no sense. Separate campaigns with separate budgets.
-
5Not tracking phone calls Critical Form submissions account for 20 to 30 percent of roofing conversions. The other 70 to 80 percent pick up the phone. Without call tracking via CallRail or WhatConverts, you are optimizing on 25 percent of your actual conversion data. Smart Bidding makes poor decisions with incomplete data.
-
6Activating PMax too early Moderate Google loves pushing Performance Max. PMax needs 15 to 30 or more conversions per month per campaign to optimize. Without that data, it wastes budget on YouTube and Display inventory that produces zero roof repair calls. Build Search first.
-
7Ignoring click fraud Moderate CPCs over $20 in a high-value category make roofing a click fraud magnet. Competitors, bots, and insurance researchers all generate clicks that will never convert. ClickCease or a similar tool can reduce wasted spend by 10 to 25 percent on competitive roofing accounts.
-
8Business-hours-only ad schedule for emergency campaigns Moderate Emergency roof leaks happen at 2am after a late-night storm. If you answer after-hours calls, run your emergency campaigns 24/7. If your calls go to voicemail after hours, set the ad schedule to match your actual answer hours.
-
9Flat budget during storm season Moderate Not scaling budget 50 to 100 percent after a confirmed storm event means your daily budget caps out and your ads stop showing exactly when demand is highest. A capped budget during a storm event is opportunity handed directly to the storm chaser who scaled their spend.
Roofing Google Ads: Frequently Asked Questions
What is a good cost per lead for roofing Google Ads?
A good roofing Google Ads CPL is $100 to $175 for emergency repair leads and $200 to $350 for residential replacement leads. Storm damage and insurance claim leads run higher at $350 to $500 because the intent takes longer to confirm and the conversion cycle is longer, but the job values justify it. The industry benchmark from LocaliQ is $228 for roofing and gutters. If you are consistently paying over $350 for non-storm replacement leads, your campaign structure, landing pages, or negative keyword list likely needs a fix. See the roofing LSA cost per lead guide for additional benchmarks if you are also running Local Services Ads.
How much should a roofing company spend on Google Ads?
Small or newer operations should start at $1,500 to $2,500 per month. Most mid-size roofing companies need $3,000 to $5,000 per month to compete effectively for replacement leads in a typical market. Competitive metros like Dallas, Atlanta, Houston, and Phoenix often require $5,000 to $10,000 or more. During storm season, increase your baseline by 50 to 100 percent during the 2 to 4 week active window after a confirmed event. A $500 per month budget in roofing is not competitive in any market with meaningful search volume. See the Google Ads budget guide for contractors for the full framework.
When should I activate my storm campaign?
Within hours of a confirmed hail or significant wind event in your service area. Use weather monitoring tools like Tomorrow.io, Weather.com alerts, or National Weather Service severe weather warnings to trigger your activation. The first 48 to 72 hours after a storm event generate the highest-quality leads of the entire year. After week 2, storm chaser volume saturates the market and homeowners start receiving multiple conflicting pitches. Pre-build the campaign before storm season so you can activate it in 10 minutes rather than 10 days. A campaign you have to build from scratch after the storm means you miss the best window entirely.
Google Ads vs. LSA for roofing: which is better?
They serve different purposes and the strongest roofing companies run both. LSA handles high-urgency emergency repair calls at a lower CPL of $80 to $150 with the Google Verified badge, and Google guarantees those leads. Google Ads gives you control over storm damage, insurance claim, and replacement intent keywords that LSA does not capture well. A practical starting split is 60 percent of budget to LSA for emergency repair volume and 40 percent to Google Ads for replacement and storm damage targeting. Flip that ratio during active storm season when Google Ads storm campaigns tend to outperform. For the full comparison, see Google Ads vs. LSA for Contractors.
How do I stop storm chasers from outbidding me?
You cannot stop them from bidding, but you can beat them on Quality Score, which is what actually determines your position and your CPC. Storm chasers use generic, hastily built campaigns with low local Quality Scores because they do not have a history of conversions in your market. Your local account with an established conversion history, a locally-relevant landing page, and a real address in your location assets will have a higher Quality Score. That means you pay less per click than they do for the same ad position. The key is to pre-build and pre-optimize your storm campaign before storm season. Quality Score improvement takes weeks, not hours. You cannot build local authority after the storm arrives.
How long before roofing Google Ads start working?
Emergency repair campaigns typically produce leads in the first week if they are set up correctly. Replacement and storm campaigns take 4 to 6 weeks for Smart Bidding to optimize, so do not judge overall performance before week 6. Most roofing companies see their best CPLs in months 3 to 5 once the algorithm has sufficient conversion data to work from. If you start a new account right before storm season, expect higher CPLs for the first 6 weeks. Starting 4 to 6 weeks before your local peak season reduces CPL by 20 to 35 percent compared to accounts that launch mid-season and are learning while competing against well-established campaigns from your competitors.
Run Your Roofing Numbers Before You Spend a Dollar
Model your target CPL, monthly budget, and expected ROI based on real roofing job values and your market size.
- ✓ Roofing CPC benchmarks
- ✓ Storm vs. replacement math
- ✓ No signup required
