Kansas City sits in the heart of Tornado Alley. Spring and summer storms drop hail in 5-7 qualifying events per year — and for roofers, gutter installers, restoration contractors, and siding companies, those storms are revenue. The contractors who win storm cycles win because they're prepared before the storm hits, not because they scramble after.
What pre-built storm marketing looks like
The core insight: storm response is a logistics problem disguised as a marketing problem. You can't write Google Ad copy at 2pm Friday and have it competitive Saturday morning when the storm cleanup begins. Everything has to be paused-and-ready, deployable in hours.
Pre-built Google Ads campaigns
Storm-specific campaigns sit in your Google Ads account, paused. Each campaign has 5-8 ad groups for specific storm-related keyword themes: 'hail damage roof inspection [city],' 'wind damage gutter repair [city],' 'storm damage roof replacement [city],' 'emergency roof tarping [city]' — each with city variants for your primary service area.
Each ad group has 3-5 RSA variants written in advance. Each variant has a corresponding dedicated landing page (we'll cover landing pages next). Negative keyword libraries already include 400+ pre-loaded exclusions. Budgets are pre-set per ad group with bid multipliers ready to apply.
Storm landing pages
Per primary service area city (Kansas City, Overland Park, Olathe, Lee's Summit, Independence, Lenexa, Shawnee, Blue Springs), you should have a 'Storm Damage Inspection [City]' landing page pre-built and indexed. Page includes: trust signals (Google review count, BBB rating, insurance certs), urgency framing ('Free 30-minute storm damage assessment'), 3-field form, sticky click-to-call, and FAQ specifically for insurance claim questions.
GBP post templates
GBP Post templates sit in a Notion library, ready to publish. Post types: 'Storm response active in [area]' (educational + service callout), 'How to document storm damage for your insurance company' (educational, builds trust), 'Free inspections this week in [area]' (promo, time-bound). Each is written to publish within 4 hours of storm activation.
LSA bid multipliers
Local Services Ads bid is normally set to compete in non-storm conditions. During an active storm cycle, LSA bid multiplies 1.5-2× to capture above-average demand. This adjustment is pre-set in your LSA dashboard and activated manually within the first 24 hours of storm response.
Past-customer outreach
Customers who've used you in the past are the warmest possible leads for storm work. Pre-written SMS template: 'Hi [Name], wanted to reach out after this morning's storm. Free storm-damage inspection if you're in [zip code] — text back if you want one scheduled. -[Company Name].' Pre-written email template for customers who prefer email. Both fire within 24 hours of storm activation, segmented by service-area zip.
The 4-hour activation SOP
- Hour 0 — Verify storm qualifies (NOAA + radar + on-the-ground reports). Confirm service-area cities affected.
- Hour 1 — Unpause Google Ads storm campaigns. Verify conversion tracking firing.
- Hour 2 — Publish GBP Post per affected service-area city. Update LSA bid multipliers.
- Hour 3 — Trigger past-customer SMS + email outreach for affected zip codes.
- Hour 4 — Activate storm landing pages in nav (or homepage banner). Monitor inbound call volume.
- Day 1-2 — Daily campaign monitoring. Search-term mining for emerging keywords. Bid adjustments.
- Day 3-7 — Schedule additional GBP Posts. Add new SMS follow-up if response rate strong.
- Day 8-14 — Continue ad campaigns at elevated bid. Begin tapering to baseline rates as demand normalizes.
- Day 15-30 — Return to baseline campaigns. Document what worked for next storm cycle.
Common mistakes
- Trying to write everything from scratch when the storm hits — by hour 24, you've already lost share to faster competitors.
- Sending all customers (including non-affected zips) the same storm message — destroys trust.
- Increasing ad spend without increasing crew capacity — leads go cold while you scramble for installers.
- Forgetting to taper ad spend back to baseline — burning storm budget on month 2 demand that isn't there.
- Ignoring insurance claim documentation in your landing pages — buyers fail to capture the value of the claim.
What KC contractors miss most
The biggest mistake we see: contractors who skip the pre-build entirely and try to 'wing it' on each storm. That works once or twice. By storm #3 of the season, every Tulsa, Wichita, and Springfield roofer is running ads in KC, lead costs have doubled, and the contractor with no pre-built system is losing market share by the day. The next-biggest mistake: pre-building campaigns but never updating them year over year as Google's algorithm and ad costs evolve.