About
Services
Research
Results Process Blog Schedule a Call
Roofing

Google Ads for roofers, where one storm decides the quarter

Roofing demand does not arrive evenly. It arrives in bursts, after weather, and the companies that win those weeks are the ones whose accounts were already built to scale into them. A flat budget through a year that is not flat is the most common mistake here.

14+Years running paid media
1Senior person on every account
Shell, Pontomais and TIMSome of the brands I have run paid media for
At a glance

The facts, before the copy

What it is
Google Ads for roofing companies
Delivered by
Diego Willian Zietek, independent consultant (no agency team)
Platforms
Google Ads
Who it is for
Roofers that sell storm and retail work
Markets served
United States, Canada, United Kingdom, Ireland, Portugal, remote, in English
Pricing
Fixed-price audit or month-to-month retainer, quoted on the first call. How pricing works
Proof
Houston HVAC and plumbing case, Paid Media Cost Index
Contact
Send a message or schedule a call
Last updated

What a click costs in roofing right now. Median Google Ads cost per click in the United States, from the October 2026 edition of the Paid Media Cost Index, a Diwizi dataset pulled on October 15, 2026 with the date the source last refreshed each figure.

SearchCost per clickSource refresh
roof replacement$30.63Sep 17
roofing contractor$21.08Sep 12

Home Services median, $27.09 across 6 keywords. Free to reuse with credit to the Cost Index.

The Problem

Where roofing accounts leak money

The economics are good. The pacing is what breaks.

Budget runs flat through a season that is not

Demand after a hail or wind event spikes hard and briefly. Accounts pacing evenly through the year overspend in quiet months and run out of budget in exactly the week that would have paid for the quarter.

Insurance and retail work share a campaign

A homeowner navigating a claim and a homeowner pricing a replacement out of pocket search differently, decide on different timelines and carry different margin. One campaign cannot bid correctly for both.

Leads are bought, not generated

Reseller leads arrive already sold to several contractors, so you compete on who calls back first. It is a real channel, but it caps what you can do about cost per booked job, because the price is set by someone else.

The consideration window is ignored

A roof is not bought the day it is searched. Accounts with no remarketing and no follow-up measurement judge the channel on last click and conclude it does not work, when what happened is that the sale closed three weeks later.

What You Get

What a roofing engagement includes

Built around seasonality and a decision that takes weeks, not minutes.

Measurement and tracking setup

GA4 and Google Tag Manager audited and rebuilt where needed, conversion actions deduplicated, and offline conversion import so the platform optimises toward signed contracts instead of form fills.

Call tracking down to keyword and outcome

Which search produced the call, and whether it produced an inspection and then a job. In a trade where the close happens on the roof rather than on the phone, that chain is the only honest measure.

Storm season pacing

Budgets and bids built to scale up within days of an event and pace back down after, instead of an even monthly spend that misses the window it exists for.

Insurance and retail separation

Distinct campaigns, ad copy and landing pages for claim-driven work versus out of pocket replacement, so each can be bid at what it is actually worth.

Campaign landing pages

Paid traffic dies on a bad page. I build and iterate the pages the campaigns point to, with the proof and the local signals a homeowner looks for before letting someone onto their roof. Fixed scope, tied to the campaigns.

Reporting you can actually read

A Looker Studio dashboard tied to your real conversion data, plus a written read on what changed and why, including how the season is tracking against the last one.

Local Services Ads are worth running alongside search here, measured separately, because the two behave very differently during a storm week.

Proof

A real home services engagement

HVAC and plumbing company, Houston, TX

Freelance · May 2025 to Feb 2026

The Challenge

  • Extreme keyword competition, with expensive clicks on the core terms
  • Dozens of local competitors bidding on the same terms
  • Seasonal demand swings affecting lead flow

The Strategy

  • Granular A/B testing of ad copy and landing pages
  • Negative keyword refinement to cut wasted spend
  • Audience targeting and full funnel restructuring

Google Ads and Performance Max in one of the most competitive local markets in the US, with expensive clicks, ZIP code choices and seasonal demand. The performance data is confidential by contract, so the case covers the work and the lessons, not the numbers. Read the case.

Trutek, truck suspension parts, Brazil

Google Ads · since 2020
~260Contact conversions
4.56%Conversion rate

Cumulative account history since 2020: 5,707 clicks and R$ 63.61 per conversion. Conversions are contact actions recorded by Google Ads, not sales. I also created the brand identity and built the site. Read the case.

How It Works

How it runs

1

Audit

I go through the account, the tracking and the conversion path and tell you what is actually broken. You get the findings whether or not we work together.

2

Fix the foundation

Tracking, conversion actions and structure get corrected first. Optimising on top of bad data just makes you confidently wrong.

3

Build and launch

Campaigns, ad copy, audiences and landing pages built around how your buyers actually search.

4

Iterate

Weekly optimisation against the metric that matters to your business, with a monthly written read on what moved and what is next.

Go Deeper

Related guides

Long-form writing on this topic from the blog.

Who It Is For

Who this service fits

Roofers that sell storm and retail work and can measure inspections booked.

  • Companies with a sales rep who follows up quotes within the day.
  • Regional operators competing in more than one county.

Not a fit: A roofer who wants a cheap lead list rather than customers who called them directly.

FAQ

Roofing questions

Roofing demand is driven by storms. Can paid search handle that?

It can, but not on a flat budget. Demand after a hail or wind event spikes for a short window and then collapses. The account has to be built to scale up within days and pace back down, rather than spending evenly through a year that is anything but even.

Insurance work and retail replacement are different jobs. Should they be different campaigns?

Yes. The searches are different, the sales cycle is different and the margin is different. A homeowner looking for help with a claim and a homeowner pricing a full replacement need separate bids, separate ad copy and separate pages.

I already buy leads from a reseller. How is this different?

A purchased lead is usually sold to several contractors at once, so you compete on response time and price the moment it lands. Search traffic you generate yourself is yours alone, and the cost per booked job is something you can actually work on rather than accept.

How long before a roofing account settles down?

Tracking and structure get fixed in the first weeks, but roofing has a long consideration window and a seasonal shape, so a fair read takes a full cycle rather than a month. What you should see early is waste coming out, not the whole curve bending.

Get In Touch

Tell me what you are working with

A short form beats a long discovery call. Give me the basics and I will come back with a straight read on whether I can help, usually within one business day.

  • No sales sequence. You get a reply from me, not a nurture flow.
  • If I am not the right fit, I will say so and point you somewhere better.
  • Prefer to talk live? Book a slot instead, link below.

Rather book a time directly? Schedule a call.

I read every message myself. No newsletter, no list, no follow-up sequence.