Roofing
Local SEO for roofers.
A repair lead costs $40 to $90. A replacement lead costs up to $250, and the job behind it is worth around $12,000. Everything about roofing marketing follows from that gap.
- $12,000
- average ticket on a full roof replacement
- $40 to $90
- cost of a repair lead
- $80 to $250
- cost of a replacement lead
- $124
- average non-branded cost per lead on Google Ads, Q1 2026
Nobody searches for a roofer on a sunny Tuesday
6:40am, after a storm
roof leaking who can come today
The repair search is cheap and the replacement search is where the business is
Both are worth having. Only one of them changes the size of your company, and it is the one everybody is bidding on.
| Repair lead, bought | $40 to $90 | |
|---|---|---|
| Replacement lead, bought | $80 to $250 | |
| Average replacement job | ~$12,000 | |
| Cost per booked job, healthy | under $400 to $500 | |
| Cost per booked job at $150 a shared lead, 1 in 10 | $1,500+ | not sustainable |
The number that decides everything is cost per booked job, not cost per lead.
A cheap shared lead sold to three roofers is not cheap. At a one in ten close rate a $150 lead becomes a $1,500 job cost, and roofers who track only the lead price never see this happen. The reason ranking matters in this trade is that a map pack enquiry arrives with nobody else quoting on it, so the close rate is a different number entirely.
Figures are US market benchmarks for 2026. Your own close rate is the variable that matters most, and it is the one you can measure this week.
What you are paying, per channel
- Shared marketplace lead
- $40 to $90
- Google Ads, non-branded average
- $124
- Exclusive replacement lead
- up to $250
- Map pack enquiry
- no per-lead cost
Four searches, four different customers
The mistake is treating these as one audience. The person with a bucket and the person getting three quotes for a full replacement are not at the same point and should not land on the same page.
| Search type | What they type | Where their head is at | Priority |
|---|---|---|---|
| Emergency | roof leaking, emergency roof repair, roofer open now | Water is coming in. Will call the first two results. | Highest |
| Replacement research | roof replacement cost, how long does a roof last, metal vs tile | Weeks out. Building a shortlist and a budget. | High |
| Insurance and storm | storm damage roof claim, does insurance cover roof replacement | Has damage, does not yet know who pays. | High |
| Verification | roofer reviews, licensed roofer near me, roofing warranty | Has your name already. Checking whether to trust you. | Medium |
Ranking work has to be finished before the storm, not after it
This is the constraint that makes roofing different from most trades on this site. Demand arrives in a spike you cannot predict and cannot prepare for once it starts.
Before
Positions take weeks
A page published the morning after a storm ranks for nothing that week. Everything that will catch the spike has to already be in place.
During
The window is days
Emergency demand runs for roughly the first week and is captured almost entirely by whoever already holds the map pack. There is no way to buy your way in fast enough at a sensible price.
After
The replacement tail
The bigger money arrives over the following months as repairs turn into replacements and insurance decisions get made. This is the tail your content should be written for.
The first ninety days on a roofing account
- Days 1 to 30
Listing, categories and the emergency page
Primary category set to roofing contractor, service list filled in properly, and one page built for the emergency search that actually loads on a phone in a hallway. Most roofing sites make the emergency customer scroll past a hero video to find a number.
- Days 31 to 60
The replacement cluster
Cost, materials, lifespan and the insurance question, each answered on its own page. These are the searches that run all year rather than for four days, and they are where a roofer who is not currently in the map pack can still win.
- Days 61 to 90
Proof and review flow
Completed jobs written up with photos and a suburb, and a review request that goes to every customer at handover. Roofing is a trade where a homeowner is handing over a five figure sum to someone who will be on their roof, so proof does more work here than in almost any other trade.
What roofers ask us
Is it worth ranking when I can just buy storm leads?
Buy them, they work. The catch is what they cost per booked job rather than per lead. A shared lead sold to three roofers closes at a rate that can turn $150 into a $1,500 job cost, and it charges you again for every customer after that. Ranking is the part of your acquisition that does not re-invoice per job.
How do I compete with the big storm chasers after a hailstorm?
You mostly do not, on the emergency search, in the week it happens. What you can hold is the replacement tail over the following months, which is worth more anyway and which the chasers leave behind when they move on to the next market.
Should I put prices on my website?
A range, with what changes it. The replacement research search is explicitly a cost search, and a page that refuses to discuss money loses to one that gives a range honestly. You are not quoting, you are qualifying.
How long before local SEO does anything for a roofing company?
Listing and category fixes can move within weeks. The replacement content cluster is a two to three month build before it earns anything. Plan for it to be finished before your season rather than during it.
My leads are cheap but nothing closes. What is wrong?
Almost always that the leads are shared. Work out your cost per booked job rather than per lead, and the picture usually reverses: the expensive exclusive source turns out to be the cheap one.
Local SEO for nearby trades
What a customer is worth, and which searches actually convert, change by trade. These are the closest neighbours to this one.
Find out what a booked roofing job is actually costing you.
The free audit checks where you rank across your service area, what your listing is doing, and which of the four search types you are currently invisible for.