Google Ads should be the most reliable lead source available to a UK roofing contractor. When a homeowner searches "roofer near me" or "emergency roof repair Sheffield," they are in active buying mode — they need someone today. If your ad appears, they click, they call. Simple in theory.
In practice, most roofing Google Ads campaigns are quietly haemorrhaging money. Clicks are happening. Budget is being spent. But the leads are either not coming through at all, or they are poor quality — wrong area, wrong job type, uncontactable. The campaign is technically running, and technically failing.
The good news: almost every underperforming roofing campaign fails for one of the same nine reasons. None of them require starting from scratch. Most can be fixed in an afternoon if you know what to look for. This guide walks through each problem, how to diagnose it in your own account, and the specific fix to apply.
First: A Quick Self-Diagnosis
Before going through the nine problems, check where your campaign actually sits right now. Log into your Google Ads account and scan for the following. If you tick three or more of these, your campaign has structural problems — not just cosmetic ones.
Don't want to dig through this yourself?Alternatively, let us audit and rebuild your campaigns — we'll identify every leak, fix the structure, and show you what a properly managed roofing campaign should be delivering.
Get a Free Campaign Audit →The 9 Reasons Your Roofing Google Ads Are Failing
This is the single most common and most expensive problem in roofing Google Ads accounts. Without a negative keyword list, Google's broad and phrase match keywords will trigger your ads for searches that have absolutely nothing to do with hiring a roofer — and you pay for every click.
Here is what the Search Terms Report of a roofing campaign with no negatives typically looks like after 30 days:
❌ Wasted spend — irrelevant searches triggering your ads
- roofing apprenticeship near me
- how much does a roof cost uk
- roofing tiles for sale b&q
- roofing jobs sheffield
- diy flat roof repair kit
- roofing felt screwfix
- roofing training course manchester
- roofing company for sale uk
- how to fix a leaking roof yourself
- roofing materials wholesale
✅ Profitable searches — what you actually want to pay for
- roofer near me
- emergency roof repair sheffield
- roof leaking urgently
- local roofer sheffield
- flat roof replacement cost
- roof repair quote sheffield
- roofers in s10
- storm damage roof repair
- new roof quote sheffield
- emergency roofer near me
In a newly set up campaign with no negatives, as much as 60% of spend can go to irrelevant searches like these — every single month. If your campaign has been running for three months with no negative keyword management, you may have spent £600–£1,500+ on clicks from people who were never going to call you.
Go to your campaign → Keywords → Search Terms. Sort by Cost. Add every irrelevant search term as a negative keyword at the campaign level. Build a starter negative list before any campaign goes live that includes: DIY, how to, materials, tiles for sale, felt, training, apprenticeship, course, jobs, careers, wholesale, supplier, for sale, cost guide, calculator. Review the Search Terms Report every two weeks and add new negatives continuously. This single action often reduces wasted spend by 40–60% within the first month.
A homeowner searches "emergency roof repair Leeds," clicks your ad, and lands on your homepage — a page that says "We Do All Types of Roofing Work" with a contact form buried at the bottom. They leave without calling. You paid £6.50 for that click.
Your homepage is designed to give an overview of your whole business to someone with general curiosity. A homeowner who just searched for emergency roof repair does not have general curiosity — they have a specific, urgent need. Sending them to a generic page that doesn't immediately address that need loses 60–70% of your potential conversions before they even read your phone number.
Research consistently shows that dedicated landing pages matched to the specific ad keyword generate 2–4× more conversions from the same number of clicks. That means the same budget, the same clicks — but 2–4× the calls.
Create a separate landing page for each campaign type: one for emergency repairs, one for roof replacement, one for flat roofing. Each page should have your main keyword in the H1 heading, your phone number as a clickable link in the top 20% of the page, a short form above the fold, two to three trust signals (years experience, reviews, accreditations), and nothing else. No navigation menu. No footer links. No distractions. A single focused page converts paid traffic. A busy website does not.
Many roofing contractors run a single campaign with keywords for every service lumped together: emergency repairs, roof replacement, flat roofing, guttering, commercial roofing — all in one ad group, all served by one generic ad. The result is that Google shows the same ad for a homeowner searching for an emergency repair as it does for someone looking for a commercial flat roof quote. The ad is relevant to neither. Quality Score suffers. Cost per click rises. Conversions fall.
Google's algorithm assigns a Quality Score to every keyword based on three factors: expected click-through rate, ad relevance, and landing page experience. When your keywords, ad copy, and landing page are tightly matched — all about emergency roof repairs, for example — Quality Score is high, and you pay less per click while appearing higher in results. When everything is mixed together, Quality Score suffers across the board.
| Quality Score | What It Means | Impact on CPC |
|---|---|---|
| 8–10 / 10 | Highly relevant — keyword, ad, and landing page tightly matched | Pay up to 50% less per click |
| 5–7 / 10 | Moderate relevance — some mismatch between components | Pay market rate CPC |
| 1–4 / 10 | Poor relevance — keywords, ads, and page not aligned | Pay up to 400% more per click |
Separate your campaign into at least three distinct campaigns: Emergency Repairs, Roof Replacement, and Flat Roofing. Each campaign gets its own keywords, its own ad copy, and its own landing page — all tightly themed. Emergency Repair keywords go to an Emergency Repair ad that sends traffic to an Emergency Repair landing page. This tight alignment lifts Quality Scores, reduces your cost per click, and increases conversions simultaneously. It is the highest-leverage structural fix available in Google Ads.
When a homeowner searches "roofer Manchester" and sees five ads, all of which say "Professional Roofing Services — Free Quotes — Call Today," they have no basis for choosing one over another except price. Generic ad copy forces the homeowner to assume all contractors are equivalent — which turns your ad into a race to the bottom on price before anyone has even spoken to you.
Your ad is the first impression of your business. It needs to answer the homeowner's unspoken questions within the 3 seconds they spend looking at it: Are you local? Are you available? Can I trust you? Are you better than the other ads?
The difference is specificity. The second ad answers: Are you local? (Sheffield-based.) Are you available? (Today.) Can I trust you? (NFRC accredited, 143 reviews.) Are you better? (Speak directly to the roofer — a genuine differentiator from most competitors who route calls through an office or answering service.)
Rewrite every ad with these four elements: (1) your city or postcode area in the headline, (2) a specific availability or speed promise ("same-day inspection," "available today"), (3) one credibility signal — review count, years of experience, or an accreditation, and (4) one genuine differentiator that your competitors can't easily copy. Run two ad variations per ad group simultaneously and pause whichever generates fewer conversions after 200 clicks.
A contractor based in Wolverhampton targeting the entire West Midlands region is paying to reach homeowners in Coventry, Telford, and Walsall — a 40-mile radius covering areas they may not serve or would charge significantly more to travel to. Every click from outside your actual service area is wasted spend, and there is no way to recover it.
The default Google Ads geographic setting includes "people interested in your target location" — which means Google can show your ad to someone in Birmingham searching for a roofer in Wolverhampton, even if they have no intention of living or working there. This setting is often left on by default and silently extends your reach far beyond your intended area.
Go to Campaign Settings → Locations → change the targeting option from "Presence or interest" to "Presence: People in or regularly in your targeted locations" only. This ensures your ads only show to people physically located in your service area. Then tighten your radius to match your actual coverage — typically 10–20 miles from your base for a sole trader, or specific postcodes/towns if you cover defined areas. Check your location report monthly to identify which areas are spending budget without generating calls, and exclude them.
This is perhaps the most consequential omission in any Google Ads campaign. Without call tracking, you are making every optimisation decision blind. You cannot see which keywords generated calls. You cannot see which ads drove bookings. You cannot calculate your actual cost per lead. You are spending money on a campaign you cannot measure and therefore cannot improve.
Google Ads reports on clicks and impressions as standard. But a roofing contractor's conversion is a phone call — not a click. A keyword can generate 200 clicks and zero calls, or 40 clicks and 20 calls. Without call tracking, both keywords look similar in the dashboard. You will almost certainly keep the wasteful one and pause the profitable one at some point — because you are optimising on the wrong signal.
Set up Google Ads call conversion tracking. In your Google Ads account, go to Tools → Conversions → New Conversion → Phone Calls. Choose "Calls from ads using call extensions" to track calls that come directly from your ad's phone number, and "Calls to a number on your website" using a Google forwarding number on your landing page. Both are free. Once call tracking is active, every keyword, every ad, and every time of day can be evaluated on actual calls generated — not just clicks. This single change transforms your ability to optimise the campaign.
Emergency roofing calls peak between 8am and 11am — when homeowners have discovered overnight storm damage, woken up to a leak, or noticed a problem before leaving for work. If your daily budget runs out by 10am, you are completely invisible for the highest-converting search window of the entire day.
This happens most often when the budget is set too low for the target area's competition level, or when the campaign is not using ad scheduling to concentrate spend during peak hours. Google will spend your budget as fast as it can unless you tell it otherwise — which means if you have a £15/day budget in a competitive city like Birmingham, it may be exhausted within 90 minutes of your ads starting in the morning.
Check your campaign's Impression Share — specifically "Lost IS (budget)." If this figure is above 20%, your budget is regularly running out before the day ends. You have two options: increase the daily budget, or use ad scheduling to concentrate your budget during peak hours. Go to Campaign Settings → Ad Schedule and set your ads to run from 7am–7pm Monday to Saturday, with higher bid adjustments (15–25% increase) between 7am–11am and 4pm–7pm. Reducing the hours your ads run concentrates the same budget into the windows when homeowners are most likely to call — dramatically improving cost efficiency without increasing spend.
Google Ads extensions are additional pieces of information shown below your main ad — phone numbers, sitelinks, callouts, location details, review ratings. They are free to add and they significantly increase the size and clickability of your ad on the results page. Ads with full extensions take up nearly twice the screen space of a basic ad, increasing click-through rates by 10–15% without any additional cost per click.
Most roofing contractors are running bare-minimum ads with no extensions because Google Ads doesn't force you to set them up. Competitors who have configured extensions correctly appear as larger, more authoritative listings — and capture a disproportionate share of clicks as a result.
Add all of the following extensions to every campaign: Call extension — your direct phone number, shown as a clickable call button on mobile. Sitelink extensions — four links below your ad pointing to key pages: Emergency Repairs, Free Quote, Reviews, About Us. Callout extensions — short benefit statements: "NFRC Accredited," "Same-Day Response," "Free Inspections," "143 Five-Star Reviews." Location extension — links your Google Business Profile to show your address and distance from the searcher. Image extension — upload a strong before/after job photo to appear alongside your ad. These take 30 minutes to set up and improve campaign performance from the moment they are approved.
Google's Smart Bidding algorithm — which underpins most modern campaign types — requires a minimum of 30–50 conversion events before it can optimise effectively. For a roofing campaign generating 5–10 calls per month, that means 3–6 months of data before the algorithm knows enough about who is converting to spend your budget efficiently. Most contractors pause campaigns after 3 weeks, having seen clicks but few calls, concluding that "Google Ads doesn't work."
The first 4–6 weeks of any Google Ads campaign is a learning period. Cost per lead is almost always higher in this period than it will be after optimisation. Campaigns paused during the learning phase never reach the efficient CPC and conversion rates that sustained campaigns achieve. Every restart resets the learning period.
Commit to a minimum 60-day evaluation window before making any major structural changes to a new campaign. Use manual CPC bidding for the first 30 days — do not use Target CPA or Maximise Conversions until you have at least 20 recorded call conversions in the account. Monitor the Search Terms Report weekly and add negatives, but do not pause campaigns, change budgets dramatically, or restructure ad groups during the learning phase. Judge performance after 60 days of uninterrupted running, with call tracking active for the entire period. Only then do the numbers tell you anything reliable.
How to Prioritise These Fixes
If your campaign has multiple problems — which most underperforming accounts do — fix them in this order. Each tier addresses a more fundamental issue and unlocks the value of the fixes below it.
What a Well-Managed Roofing Campaign Actually Looks Like
For reference: here is what a properly structured roofing Google Ads campaign delivers for a UK contractor in a mid-sized city (population 200,000–500,000) with a monthly budget of £600–£800.
- 3 separate campaigns — Emergency Repairs, Roof Replacement, Flat Roofing — each with their own keywords, ads, and landing pages
- Negative keyword list of 50+ terms, reviewed and updated every two weeks from the Search Terms Report
- Phrase and exact match keywords only — no broad match without tight SKAG structure
- Call tracking active — every call recorded as a conversion against the keyword that triggered it
- Ads running 7am–7pm Monday to Saturday with +20% bid adjustment from 7am–11am
- All six ad extensions active — call, sitelink, callout, location, image, and structured snippet
- Dedicated landing pages for each campaign, with phone number above fold and short enquiry form
- Two ad variations per ad group running simultaneously for ongoing split testing
- Monthly review of geographic performance — excluding postcode areas with high spend and zero calls
- Outcome: 12–22 exclusive inbound calls per month at £30–£65 per call, with cost per booked job of £80–£180
When to Fix It Yourself vs When to Get Help
The fixes in this guide are all implementable without an agency. If you have time and patience, working through problems 1–9 in the order above will meaningfully improve most underperforming campaigns.
There are three situations where bringing in external help is the more cost-effective choice:
- Your campaign has been running for 6+ months with poor results. Accumulated bad data — irrelevant clicks, wrong conversion signals, distorted Quality Scores — can be harder to clean than starting fresh with a properly structured new account.
- You don't have 3–4 hours per month for ongoing management. Google Ads is not a set-and-forget system. Negative keyword maintenance, bid adjustments, landing page testing, and Search Terms Review all require regular attention. A campaign that runs unmanaged deteriorates over time.
- Your competitors are consistently appearing above you. If you can see your competitors' ads every time you search your target keywords but rarely see your own, there is a structural or Quality Score problem that experienced hands will identify faster than trial and error.
Rather let us handle it?We'll audit your current campaigns, identify every problem from this list that applies to your account, rebuild the structure from scratch, and manage ongoing optimisation — so you get the calls, not the complexity.
Audit and Rebuild My Campaigns →For the full picture of how Google Ads fits into a roofing marketing strategy alongside local SEO and Meta, read our Google Ads vs Meta guide for UK roofers. For budget benchmarks and expected returns at different spend levels, see our roofing marketing budget guide.
Want to Know Exactly What's Wrong With Your Campaigns?
We audit roofing Google Ads accounts and produce a written report covering every problem, every fix, and what a properly managed campaign should be delivering for your city and budget.
Get Your Free Campaign Audit