Google Ads for roofing contractors
By Ahmed Imran · Updated August 2026 · 8 min read
Roofing has the widest spread of any home services trade, close to ten times between the best and worst performing accounts. Most of that gap is not skill. It is whether your market runs on storm damage and insurance claims or on elective replacement, and knowing which one you are in should change how you run the account.
The number, and why it is so unreliable
| Channel | Cost per lead | Notes |
|---|---|---|
| Non branded search | $124 | The average across a near 10x spread |
| Branded search | $44 | People searching your company name |
| Local Services Ads | $53 average, $25 to $90 | Per lead billing, separate model |
That $124 average is the least useful number in this article. Roofing cost per lead has close to a tenfold spread between top and bottom performers, and the dominant variable is market type rather than account quality. A storm hit market with live insurance claims looks nothing like a market running on planned replacement, and no amount of bid management closes that gap.
Before you judge your cost per lead against a benchmark, work out which market you are in. Comparing a storm market number to an elective replacement number tells you nothing.
Storm markets and elective markets need different accounts
If you are in a storm market
Demand arrives in bursts and disappears. Your problem is speed and capacity, not lead generation. The account needs to be able to scale from near zero to full spend within a day of a hail event, which means budgets, ad schedules and approvals set up in advance rather than improvised.
It also means the competition arrives at the same time, including out of area chasers with no local presence and a large budget. Your advantage is that you are still going to be here in two years. Say so in the ad copy, because it is the one thing they cannot claim.
If you are in an elective replacement market
Demand is steady, considered, and slow. Somebody researching a roof replacement in March may sign in July. That changes what a conversion is worth and how long you have to wait before judging the account, and it makes offline conversion tracking close to essential, because the sale happens far from the click.
The traps particular to roofing
- ›Lead sellers bidding on your brand. Roofing is one of the most aggressively resold verticals in local search. Check whether you are paying to appear against your own company name because somebody is arbitraging it.
- ›Repair and replacement in one campaign. A repair enquiry is worth a few hundred dollars and a replacement is worth five figures. Sharing a budget means bidding chases the cheap one.
- ›Insurance intent going unqualified. Searches about insurance claims convert well and waste enormous amounts of sales time when the claim is never going to be approved. Qualify in the form, not on the roof.
- ›Chasing storms outside your service area. Easy to justify in the moment, expensive when the crew is three hours away and the follow up never happens.
- ›Judging the account inside 30 days in an elective market. The sales cycle is longer than the reporting window, so early numbers describe lead volume rather than revenue.
What actually moves the number
The same thing that moves it in every trade. Before touching a budget, make the account count something real. In most home services accounts a tap on the phone number, a directions click and a submitted form are all recorded as the same conversion, so automated bidding optimises toward whichever is cheapest to produce.
On a foundation repair account this year, fixing the definition of a lead and moving budget out of untargeted reach took quoted work from $93,078 to $312,390 in six weeks, on 11 percent more spend, while impressions fell 61 percent. Roofing is a different trade with the same engine underneath: local search that has to become qualified calls at a cost the business can live with.
What to check this week
Search your own company name and see who is bidding on it. Then split your reporting between repair and replacement and look at where the budget actually went last month. In most roofing accounts I open, the cheap work is quietly eating the campaign that pays the bills.
The 2026 average is around $124 on non branded search, but roofing has close to a tenfold spread between the best and worst accounts, and market type explains most of it. A storm market with live insurance claims and an elective replacement market are not comparable. Work out which you are in before judging your number.
Set it up before the storm. Budgets, ad schedules, approvals and creative should already exist so you can scale within a day of an event rather than a week. The contractors who win storm demand are the ones who were ready, not the ones who reacted fastest.
No. A repair is worth a few hundred dollars and a replacement is worth five figures. If they share a budget, automated bidding will find you more repairs, because they are cheaper to convert. Split them, budget them separately, and feed job values back into the account.
Almost always a lead seller. Roofing is heavily resold, and buying your brand name is a cheap way to intercept customers who already chose you. Running your own brand campaign is usually far cheaper than the leads they will sell back to you, and it is the fastest way to stop paying twice for the same customer.
Want this run on your account?
Book a call. I look at your account live and tell you what I would change first.