Roofing Google Ads in 2026: The $60 CPC Auction, Storm Triggers, and the Campaigns That Book Roofs
Roofing Google Ads in 2026 require four campaign types running in parallel: a steady-state retail repair campaign, a higher-ticket replacement and roof installation campaign, an insurance-claim and storm damage campaign with pre-staged landing pages, and a storm-trigger campaign paused at $0 budget until NOAA reports a qualifying event within the service area. CPCs run $15-$50 in standard markets and $35-$95 on insurance and storm terms, with average CPL at $126 and per-booked-job CPA at $280-$520 when conversion tracking and offline imports are clean.
Key Takeaways
- Roofing carries the highest CPC in home services at $15-$50 per click in standard markets and $35-$95 per click for high-intent storm and insurance keywords in 2026 (PPC Chief, Tradie Digital)
- Average cost per roofing lead lands at $126 with most accounts running between $94 and $170 per lead, and per-booked-job CPA at $280-$520 once close rate is factored (PPC Chief)
- Storm-trigger Google Ads campaigns capture 8-10x call volume spikes in the 7 days after a tropical system and produce $18,400 average residential tickets when activated within 90 minutes (PinPoint Promote, Media Spearhead)
- Insurance-claim search volume spikes 4-6x in the 14 days after landfall, with replacement and insurance keyword CPCs running 40-70% higher than retail repair terms (PinPoint Promote)
- Negative keyword lists with 50+ roofing-specific terms (gutter cleaning, snow removal, DIY, roofing jobs) cut junk-click spend by $720-$1,400/month on a $5,000/month roofing account (Triad Media Lab, Promodo)
Roofing carries the highest CPC of any home services trade on Google Ads in 2026. Standard repair clicks run $15-$50 in most US markets per PPC Chief’s 2026 roofing data, and insurance-claim and storm-damage keywords push $35-$95 per click per Tradie Digital’s 2026 cost breakdown. Average CPL lands at $126, with most accounts between $94 and $170. Per-booked-job CPA runs $280-$520 for retail work and past $700 in non-storm months on accounts with broken tracking.
Shops winning at that spend run four campaign types in parallel, hold a storm-trigger campaign at $0 budget until NOAA fires an event, and maintain a 200+ term negative keyword list. Shops losing run one campaign aimed at the homepage and complain that Google Ads is broken for roofers.
This is the campaign structure, the storm response automation, and the negative keyword discipline that keep roofing CPL down in 2026.
The four-campaign roofing structure that actually works
The default mistake in nearly every roofing Google Ads account is one campaign called “Roofing” with 60 keywords spanning repair, replacement, insurance, and storm. The algorithm cannot allocate budget by intent when all intents share one container. A $40 click for “roof replacement quote” gets balanced against a $12 click for “patch small roof leak” inside the same daily cap.
The structure that works for roofers in 2026 runs four campaigns:
- Campaign 1: Retail repair. “Roof leak repair,” “fix shingle damage,” “roof patch near me.” Lower ticket ($400-$2,500), faster close, higher conversion rate. Call extensions, repair-specific landing page with same-week scheduling.
- Campaign 2: Replacement and installation. “Roof replacement quote,” “new roof cost,” “roof installation contractors.” Higher ticket ($11,000-$30,000), 30-90 day close cycle, much higher revenue per click. Long-form landing page with financing and warranty.
- Campaign 3: Insurance claim and storm damage. “Roof insurance claim,” “hail damage roof,” “storm damage inspection,” “wind damage repair.” Highest CPC band ($45-$95+), highest close rate (45-65% per PinPoint Promote’s 2026 storm season guide), highest revenue per booked job.
- Campaign 4: Storm-trigger campaign. Pre-built, paused at $0 budget, activated within 90 minutes of a qualifying NOAA or HailTrace event. Detailed below.
Each campaign carries its own budget cap, Smart Bidding strategy, and landing page. Ad groups split by intent variant so headlines match the searcher’s phrasing.
A storm-restoration owner on r/Roofing posted his restructure results in early 2026. One campaign with 84 keywords produced $312 blended CPL on $4,800/month spend. Four campaigns with the same keywords and same budget produced $147 blended CPL inside 60 days. Same auction, different container. The full structural framework lives in our contractor Google Ads checklist.
Storm response campaign automation: the 90-minute window that wins the season
Storm response is where roofing Google Ads stops looking like other trades. Insurance-claim search volume spikes 4-6x in the 14 days after a tropical system landfall, and call volume runs 8-10x baseline in the 7 days after a hail or wind event per PinPoint Promote’s 2026 storm marketing guide. Shops that own that window often book a quarter of annual revenue inside it.
Building the storm campaign after the storm hits is the mistake. By the time it is approved, landing page staged, and bids set, 24-48 hours of peak search volume has routed to whoever was ready.
The storm-trigger setup that works in 2026:
- Pre-build the campaign in pause. Daily budget at $0, campaign technically active, pre-written ad copy mentioning storm damage, insurance assistance, and free 48-hour inspection.
- Pre-stage the landing page. Dedicated URL like /storm-damage-roof-inspection with hero image, insurance-claim guidance, free-inspection form, and call extension already live.
- Set up the NOAA or HailTrace trigger. Subscribe to a storm alert service or watch the National Weather Service API for qualifying wind speed, hail size, or tropical system proximity.
- Pre-define activation rules. Most shops use 60 mph sustained winds, 1-inch hail, or any tropical system passing within 60 miles.
- Activate within 90 minutes. Bump budget to the storm-season number ($300-$1,200/day depending on market), expand geo to affected zip codes, raise bids 30-50% on insurance and damage keywords, push storm-specific creative live.
Media Spearhead’s Jacksonville case study walks through a real activation: a tropical system passing within 60 miles of Jacksonville with sustained 65 mph winds. Storm-trigger campaigns activated inside 90 minutes captured 340+ qualified leads and 87 signed contracts averaging $18,400 per residential ticket across the 14-day window. Roughly $1.6M from one weather event. The roofers losing this play are emailing their PPC agency on day three asking if they should “do something.”
Insurance claim ad copy and landing pages: where the close rate hides
Insurance-claim leads close at 45-65% per PinPoint Promote’s 2026 data versus 15-25% for non-storm retail repair. The CPC is higher and click count lower, but revenue per booked job pushes $15,000-$25,000 on full replacement claims. Per-booked-job CPA on a well-run insurance-claim campaign is often the lowest in the account despite the headline CPC being the highest.
The ad copy that works on insurance-claim keywords in 2026:
- Lead with insurance experience. “We handle insurance claims start to finish” beats generic “Free roof inspection.” The searcher knows the roof is damaged, the question is whether you can run the claim for them.
- Mention the timeline. “Free inspection in 48 hours” addresses urgency. Storm searchers want to lock in a contractor before claim deadlines close.
- Use call-only ads on mobile. 70-85% of storm clicks come from mobile per LocalIQ’s 2026 home services benchmark. Call conversion beats form conversion 4:1 on storm intent.
The landing page carries six elements: hero with storm imagery and one-line offer, free-inspection form above the fold, insurance-claim process walkthrough (“we meet your adjuster, document damage, file supplements”), trust signals (GAF Master Elite, BBB rating), Google reviews specific to storm work, and a sticky call-tracking footer. Build the page once, keep it live year-round.
A storm-restoration owner on the Hook Agency roofing forum shared his 2026 rebuild numbers. Pre-rebuild: 4.2% conversion on $48 CPC, $1,143 CPL. Post-rebuild with the six elements: 9.8% conversion on the same $48 CPC, $489 CPL. Same traffic, different page.
Replacement vs repair targeting: two campaigns, two ticket sizes, two bid strategies
Treating repair and replacement as one campaign is the biggest budget-allocation error in roofing Google Ads. A $1,200 repair and a $22,000 replacement both come from a Google search, but the keywords, intent, CPCs, and close cycles are completely different. One bucket guarantees one of them is underfunded.
The split that works:
- Retail repair campaign. “Roof leak repair,” “fix shingle damage,” “emergency roof patch.” Average ticket $400-$2,500. Close cycle under 14 days. Conversion rate 12-18%. Maximize Conversions or Target CPA once at 30+ monthly conversions. Call extensions priority.
- Replacement and installation campaign. “Roof replacement quote,” “new roof cost,” “roof installation companies near me.” Average ticket $11,000-$30,000. Close cycle 30-90 days. Conversion rate 4-8% but revenue per booked job is 8-15x repair. Target CPA initially, switch to Target ROAS once offline conversion imports feed booked-job values for 60+ days. Long-form landing page with financing, warranty, and inspection scheduling.
The bid math is different too. A $40 click on a replacement keyword at 6% conversion and 22% close rate produces $3,030 CAC on a $19,000 ticket, which is fine. The same $40 click on the repair campaign produces $666 CPA on a $1,400 ticket, which is broken.
Performance Max can layer on top once both search campaigns run clean, never as a substitute. The contractor Performance Max playbook covers the asset group structure.
The negative keyword list every roofing account needs
The single most neglected element in roofing Google Ads accounts is the negative keyword list. Without it, “roofing” matches “roofing jobs,” “roofing apprentice,” “gutter cleaning near me,” “snow removal roof,” “DIY roof patch,” and “roof tarps for sale.” None of those clicks become a booked roofing job. All of them cost $15-$50.
Triad Media Lab’s 2026 PPC audit data found roofing accounts running thin negative lists waste 25-40% of monthly spend on junk clicks. On a $5,000/month account that is $1,250-$2,000/month going to clicks that cannot convert.
The starter roofing negative keyword list for 2026:
- Adjacent trades: gutter cleaning, gutter guards, snow removal, ice dam removal, solar panel install, chimney repair, siding only
- Job seekers: roofing jobs, roofer salary, roofing apprentice, hiring roofers, roofing career
- Education and DIY: roofing school, roofing certification, DIY roof repair, how to patch a roof, how to install shingles
- Material and supply: roofing material wholesale, roof tarps for sale, roofing supply, used shingles, roof rake
- Price shoppers: free roof, cheap roof, cheapest roofer, discount, coupon, used
- Reputation searches: roofing complaints, roofer lawsuit, roofing scam, reddit, review of
- Geo exclusions: every zip code outside drive-time radius
Add this as a shared negative list at the account level so all four campaigns inherit it. Pull search term reports weekly and add 15-30 new negatives every Monday. Per Promodo’s 2026 audit data, roofing accounts adding a 50+ term negative list cut junk-click spend by $720-$1,400/month on average inside 30 days. Cheapest fix in any roofing PPC account.
Performance Max for roofing: the four-condition rule
Performance Max can produce strong roofing CPLs in 2026, but follows the same conditional rule as every other trade. Run it correctly and it is the cheapest lead source in the account. Run it cold and it produces the highest-CPL leads while burning budget on irrelevant impressions.
PMax works for roofers when four conditions are all true:
- Conversion tracking is bulletproof. Call tracking, form conversions firing on actual thank-you pages, and offline conversion imports feeding booked-job data from the field service software (JobNimbus, AccuLynx, Roofr, ServiceTitan).
- Monthly PMax spend is at least $2,500. Below that the algorithm cannot learn fast enough on roofing CPCs and conversion volumes.
- Asset groups are segmented by service line. One for repair, one for replacement, one for insurance and storm. Each with its own audience signals, landing pages, and creative. One blob of generic roofing assets produces a blob of unqualified leads.
- Negative keywords and location exclusions are installed. Per Google’s PMax negative keyword docs, negatives now apply at campaign and account level. Use them.
Alta Vista’s 2026 Performance Max contractor breakdown flags the most common failure: PMax as the first campaign in a new account with no conversion data, no asset segmentation, and no negatives. Result: low-quality leads, high CPA, garbage input signal.
The order that works: build the four search campaigns first, run them 60-90 days, get conversion tracking clean, then layer PMax with the four conditions met. Most roofing accounts running this sequence see PMax CPL land 20-35% below the search-campaign average inside 60 days.
Common roofing Google Ads mistakes that show up in every audit
The same seven mistakes turn up in nearly every roofing PPC audit in 2026:
- One campaign for all services so the algorithm cannot allocate budget by ticket size or intent
- Traffic routed to the homepage instead of intent-matched landing pages
- No offline conversion import from JobNimbus, AccuLynx, or Roofr
- Empty negative keyword list letting gutter cleaning, DIY, and roofing-jobs clicks drain $700-$1,400/month
- No storm-trigger campaign pre-built before storm season opens
- Metro-level geo targeting paying for clicks 60-90 minutes outside drive-time
- Performance Max running cold without conversion data or asset segmentation
A roofing operator on r/PPC documented his audit results in early 2026. Pre-fix: $312 blended CPL on $6,400/month across one bloated campaign. Post-fix (four-campaign restructure, full negative list, offline conversion imports, storm campaign pre-built): $148 blended CPL on the same $6,400/month, plus a $0-budget storm campaign that activated twice during spring hail season and added $94,000 in booked work.
The cost of Google Ads for contractors breakdown covers what a fully optimized account produces by market size, and the roofing leads guide covers where Google Ads fits alongside Local Service Ads, SEO, and canvassing.
The honest take on roofing Google Ads in 2026
Roofing is the most expensive trade on Google Ads, and it stays that way because the unit economics support it. A $50 click converting at 6% to a lead closing at 20% on a $19,000 average ticket produces $4,170 CAC on a five-figure job. The math works. The same $50 click feeding one campaign aimed at the homepage with no negative list does not.
What separates the roofing accounts winning in 2026 from the ones burning budget is the discipline to run four campaigns instead of one, maintain a 200+ term negative list, install offline conversion imports, and pre-build a storm-trigger campaign that activates inside 90 minutes when NOAA fires. Eight to twelve hours of setup, 90 minutes per week to maintain. Cuts CPL by 40-60% and adds a storm-season revenue layer the unprepared account never captures.
Most roofing accounts never get this treatment because the owner has no time and the agency reports on clicks instead of booked roofs. Run the structure yourself, hire someone whose contract requires it, or accept that Google’s algorithm extracts whatever you fail to defend. The roofing SEO playbook covers the compounding organic layer, and Pipeline for Roofing handles the visitor identification layer that turns the 95% of paid clicks who never call into a follow-up list.
The campaigns are the work.
Written by
Pipeline Research Team