A hailstorm rolls through a metro on a Tuesday afternoon. By Thursday, three things are true: every homeowner with a dented gutter is searching 'hail damage roof inspection,' every roofer in a 40-mile radius is bidding on those searches, and the click prices have doubled. The roofer who wins that week is not the one with the biggest budget. It is the one who already built the storm campaign, wrote the ad copy, and staged the landing page weeks earlier, then flipped it live in an hour.
Roofing is one of the most valuable trades you can advertise on Google. A single job runs $8,000 to $25,000, most of it insurance-backed, and a homeowner rarely shops five estimates when their ceiling is leaking. That value is exactly why the auction is brutal, and why a lazy one-campaign-runs-forever setup quietly bleeds cash. This is your playbook for running roofing Google Ads the way the top contractors actually run them.
What a roofing lead actually costs on Google
Cost per lead is the number every roofing owner asks about first, and the honest answer is a range, not a single figure. Where you land inside that range is a choice you control through targeting, keywords, and landing page quality. Broad keywords and a generic homepage put you at the top of the range. Tight geo-targeting, high-intent search terms, and a dedicated landing page pull you toward the bottom.
Run the math against the job value before you flinch at those numbers. If you pay $250 for a lead, close one in four, and the average job is $12,000, your acquisition cost is $1,000 on a five-figure ticket. That is a strong return in almost any market. The trap is not the cost per lead. The trap is paying storm-season prices for steady-state leads because you never separated the two.
The split that separates pros from amateurs
Most roofers run a single Google Ads account with one budget, one set of keywords, and one landing page, all year long. That is the core mistake. Roofing demand has two completely different shapes, and each needs its own strategy, its own creative, and its own budget lane.
- Runs every day of the year at a steady budget
- Targets aging-roof and replacement intent: 'roof replacement cost', 'new roof estimate'
- Longer consideration window, homeowner is comparing quotes
- Landing page sells credibility, financing, and warranty
- Predictable, plannable, the base of your lead flow
- Sits paused until severe weather hits your service area
- Targets urgent insurance intent: 'hail damage inspection', 'storm roof repair near me'
- 48 to 72 hour window before competitors saturate the auction
- Landing page shows hail-damage photos and a claim-flow CTA
- Chaotic, high-volume, wins or loses on speed
When you blend these into one campaign, both suffer. Your steady-state ads inherit storm-season click prices they do not need to pay. Your storm response is too slow because you are editing a live campaign instead of unpausing a pre-built one. Splitting them is the single highest-leverage change most roofing accounts can make.
The 72-hour storm window
The storm play only works if the campaign already exists before the clouds do. You cannot write ad copy, design a landing page, and configure geo-targeting in the middle of a rush. Build it once, park it, and keep it ready to fire. Here is what 'ready' means in practice.
- A dedicated storm campaign sits paused in your account with its own budget line, separate from steady-state.
- Ad copy leads with urgency and insurance: 'Free Hail Damage Inspection', 'We Handle Your Claim', '24/7 Storm Roof Repair'.
- A storm landing page is pre-published with a hail-damage photo gallery, a deductible and claim-flow explainer, and a single strong CTA.
- Geo-targeting is drawn to the storm path, not your whole service area, so budget concentrates where the damage is.
- You have a weather-alert trigger and a person who can flip the campaign live within a couple of hours, not the next business day.
How to split your roofing Google Ads budget
There is no universal percentage, because your split depends on your market. A roofer in a hail-prone metro in Texas or Colorado should hold more budget in reserve for storm response than a roofer in a mild coastal market who lives on steady replacement demand. The principle is the same everywhere: fund a steady base that runs all year, then keep a reserve you can pour into storm response the moment the trigger fires.
Do not overlook Local Services Ads. They appear above the regular search ads, you pay per lead instead of per click, and the Google Guaranteed badge does real work for a trust-heavy purchase like a roof. For many roofers, LSAs deliver the lowest cost per lead of any paid channel, so they belong in the mix alongside search, not as an afterthought.
“The roofer who wins the storm is not the one with the biggest budget. It is the one whose campaign was already built and waiting when the hail hit.”
The landing page is where leads are won or lost
You can run a flawless campaign and still waste your budget on a weak landing page. Clicks are not leads. The page is where an interested click becomes a booked inspection, and for roofing the bar is higher than most trades because the homeowner is often mid-crisis and thinking about an insurance claim.
- One clear job for the page: book a free inspection. Not browse services, not read your company history.
- Proof that matches the ad: hail-damage photos for storm pages, finished-roof galleries for replacement pages.
- Insurance and financing addressed head-on, including how deductibles and claims work.
- A phone number that is tappable on mobile and a short form, because storm traffic is overwhelmingly mobile.
- Fast load and no clutter, since a slow page during a storm rush hands the lead to the next roofer.
Storm-response and steady-state, built and managed for home-service contractors.
See how we build roofing Google Ads campaignsCommon ways roofers waste their ad budget
The organic foundation that makes your paid roofing ads convert.
Read: Local SEO for roofersBecause the best campaign in the world dies on a weak landing page.
Read: Get your roofing website convertingWhere to start
You do not have to build all of this at once. Start with a tightly targeted steady-state search campaign pointed at a dedicated replacement landing page, add Local Services Ads to capture the cheapest leads, then pre-build your storm campaign so it is ready before the next hail season. Get those three pieces in place and you will be running roofing Google Ads the way the market leaders do, capturing high-value leads on your terms instead of overpaying in the rush.
We will map your steady-state, storm, and LSA plan for your market.
Book a free strategy callGoogle Ads, local SEO, and websites built for home-service pros.
See our contractor marketing services
