A roof is a big decision. Homeowners often compare several quotes and take time to choose, so a low cost per lead means little if those leads never sign.
I run Google Ads, Local Services Ads, the Google Maps profile and service pages for a UK carpet cleaning company, with booked jobs sent back to Google Ads. A roofing account would use the same system.
What I'd change first for a roofing company
Repairs and replacements kept apart
A leak needs someone quickly, while a full replacement is a high-value job with a longer decision. Each gets its own campaign, landing page and budget so one can't quietly eat the other's money.
Your own enquiries, not shared lists
Bought roofing leads can be sold to several companies at once, which turns the job into a race on price. Your own ads and pages bring the homeowner to you first.
Trust on the page where they decide
Real photos of your jobs, reviews, accreditations and clear service areas matter for a purchase this size. A generic template page wastes the click you paid for.
Google Maps and Local Services Ads
A strong Business Profile and pay-per-lead ads put you in front of people ready to call. I have hands-on experience with both, including setting up and running Local Services Ads for a UK carpet cleaning company.
Tracking past the first call
Long sales cycles need more than a lead count. Signed jobs and their value can be sent back to Google Ads, so it learns which searches lead to real roofs and not just quote requests.
What roofing clicks cost
| Search | UK searches/month | UK top-of-page bid | US searches/month | US top-of-page bid |
|---|---|---|---|---|
| roof repair | 6 600 | £3.61 to £14.22 | 90 500 | £10.85 to £53.85 |
| roofer near me | 33 100 | £2.98 to £12.65 | 165 000 | £10.32 to £56.13 |
| roof replacement | 1 000 | £2.58 to £13.51 | 33 100 | £10.78 to £52.94 |
Source: Google Ads Keyword Planner, checked 30 October 2026, average monthly searches for October 2025 to September 2026. Bids are Google's low and high estimates in pounds, because that is the account's currency. They are estimates and not what you would actually pay.
When a single click can carry an estimate like these, judging the account on cost per lead alone isn't enough. What matters is what a signed job earns against what it cost to win.
What I can show you
Mr Expert Carpet Cleaning, Slough UK
I don't have a roofing client to show you. I can show you the system I run for a UK carpet cleaning company: the website, service and area pages, Google Ads, Local Services Ads, the Business Profile and server-side tracking, plus a custom plugin that sends booked job values back to Google Ads.
The mechanics carry over directly. The difference with roofing is job value and decision time, so I'd judge the account on signed work and not on the number of leads.
What to ask a roofing marketing agency
- Are these leads exclusive?Ask directly whether any other roofer receives the same enquiry.
- Do you report on signed jobs?A report that stops at leads can't tell you whether the ads are profitable.
- Who owns the ad account and website?If you leave, your history and pages should stay with you.
- Will the page show my real work?Stock photos and shared templates don't build trust for a job this size.
Common questions
Have you worked with roofers before?
Not yet. I run the same Google Ads, Maps, website and tracking system for a UK carpet cleaning company. The call-led journey is the same, and I'm telling you upfront so you can judge the fit.
Should roofers buy leads?
Bought leads can fill gaps quickly, but they may be shared and they stop when you stop paying. Your own ads and pages take longer to build, but the enquiries come to you alone. Many roofers use both at first.
How does working with you start?
With a free audit of your ads, Maps listing and website. You get the findings in plain language before you decide anything.
Are your leads turning into signed roofs?
Send me your website and service area. I'll check your ads, Maps listing and tracking, and tell you the first things I'd fix.
Get my free roofing marketing audit →