Roofing PPC: What UK Contractors Should Know Before Spending a Penny

Pay-per-click advertising can fill your diary within 48 hours or drain £500 in a week with nothing to show for it. The difference is almost entirely in what you know before you start. This is the honest briefing that most PPC agencies will not give you before taking your money.

KK
Kaviraj Krishnamurthy

Roofing Lead Expert

📅 April 2026
⏱️ 11 min read
🏷️ Google Ads

Pay-per-click advertising — PPC — is the fastest way for a roofing contractor to generate inbound calls from Google. A well-built campaign can be live and generating enquiries within 48 hours. That is genuinely true, and it is the reason PPC attracts significant contractor spend every year. It is also why the downside is so painful when it goes wrong: because PPC runs fast in both directions. A misstructured campaign with the wrong keywords on broad match and traffic going to the homepage can spend £300 in three days with no calls and no feedback about what went wrong.

The contractors who consistently get good ROI from roofing PPC are not spending more than those who get bad ROI. They are spending it better — which almost entirely comes down to understanding a set of concepts before the first campaign goes live. Not technical expertise. Not Google Ads certification. A clear-headed understanding of how the auction works, what makes roofing a distinctive market within PPC, what it costs realistically, and what the eight most expensive mistakes look like so you can refuse to let them happen in your account.

This post covers all of that. By the end, you will know what to expect, what to demand, and what to walk away from — before you hand over a penny to anyone running PPC on your behalf.

£4–20
Typical CPC range for UK roofing keywords — district terms sit at the low end, city-wide at the high end
48hr
Time from campaign launch to first inbound calls when setup is correct from the start
50%
CPC reduction achievable by switching homepage traffic to matched district landing pages
£300
Minimum realistic monthly budget to generate meaningful data and calls in most UK markets

How PPC Actually Works: The Auction Behind Every Click

PPC on Google means you pay each time someone clicks your ad. You do not pay for the ad to appear — only for the click. The cost of each click is determined in a real-time auction that runs every time someone searches. Multiple advertisers bid for the same search query, and Google uses a combination of bid amount and ad quality to determine who appears, in which position, and what they pay.

The quality element — called Quality Score — is why a contractor with a lower bid but a better-structured campaign can appear above a competitor bidding more. Quality Score is Google's assessment of how relevant your ad and landing page are to the search query. A highly relevant ad pointing to a locally specific landing page scores 7–10 out of 10 and pays significantly less per click than a generic ad pointing to a homepage, which typically scores 3–5. This is not a technicality — it is a structural cost difference of 30–50% per click that compounds across every click the campaign generates for as long as it runs.

The practical consequence: two contractors in the same market, bidding similar amounts, can pay very different CPCs depending entirely on how well their campaign is structured. The contractor who understands this going in builds campaigns that are cheaper to run, generate more calls per pound, and compound their advantage over time. The contractor who does not often concludes that PPC is too expensive for roofing — when the real issue was campaign structure, not the platform.

❌ What poor PPC economics look like

  • Broad match keywords triggering irrelevant searches
  • Generic ad copy — no district, no urgency, no differentiation
  • All traffic to the homepage — Quality Score 3–5
  • CPC: £15–22 on standard roofing terms
  • Conversion rate: 1–2% — most clicks never call
  • Cost per call: £75–150 before a booking is secured

✅ What good PPC economics look like

  • Exact and phrase match only — relevant searches only
  • District-specific ad copy confirming local coverage
  • Traffic to matched district landing pages — Quality Score 7–10
  • CPC: £5–10 on district-level terms
  • Conversion rate: 6–10% — most callers are ready to book
  • Cost per call: £18–35 with a clear ROI on job value

What Roofing PPC Actually Costs in the UK

One of the most common reasons contractors get burned by PPC is unrealistic expectations about cost — set either by their own assumptions or by an agency that quoted monthly management fees without being specific about what ad spend is required on top. Here is the honest breakdown by market type.

Small market
£4–7
Average CPC
Towns under 100k population. Lower competition, lower CPC. £300–500/month ad spend generates 50–80 clicks and 4–6 calls. Sustainable from a single well-structured campaign.
Medium market
£7–12
Average CPC
Cities 100k–400k — Leeds, Sheffield, Bristol, Edinburgh. £600–900/month generates 60–100 clicks. District targeting essential to keep CPCs at lower end of range.
Large market
£10–16
Average CPC
Manchester, Birmingham, Glasgow. £900–1,400/month for meaningful volume. District-level campaigns critical — city-level terms push CPC toward £18–22.
London
£14–22
Average CPC
Most competitive PPC market in UK roofing. £1,200–2,000/month minimum for adequate coverage. District targeting (SW3, N1, SE21) reduces CPC significantly vs generic "London roofer" terms.

These figures are for ad spend — the money going directly to Google. They do not include agency management fees, which typically run from £200–600/month on top of ad spend for a specialist roofing PPC manager. When comparing providers, always ask for the split between management fee and ad spend so you know how much is going to Google and how much is going to the agency.

The all-in-one fee trap Some agencies quote a single monthly fee covering both management and ad spend — without making clear how it is allocated. A £600/month "PPC package" might include only £200 going to Google and £400 to management. At £200 ad spend in a medium market generating £8 CPCs, you receive 25 clicks per month — statistically insufficient to generate reliable call data or meaningful lead volume. Always ask: "Of the total monthly fee, how much goes directly to Google as ad spend?"

The 8 Most Expensive Roofing PPC Mistakes — and How to Prevent Them

1
Most common mistake — costs £100s before anyone notices Running Broad Match Keywords

Broad match tells Google to show your ad for any search it considers loosely related to your keyword. Set "roofer" on broad match and your ad will appear for "roof rack car," "roofer wanted" (job seekers), "roof rack B&Q," and "roofing tiles buy." None of these searches are from homeowners wanting to hire you — but every click costs exactly the same as a genuine call-generating search. Broad match is the single largest source of wasted spend in roofing PPC accounts and the first thing to check if a campaign is spending without generating calls.

The fix

Use exact match (keyword in square brackets: [roofer Sheffield]) for your highest-priority terms and phrase match (keyword in speech marks: "roof repair Sheffield") for variation capture. Never broad match. Review your Search Terms report weekly for the first month to catch any irrelevant queries phrase match may surface and add them as negatives immediately.

2
Inflates CPC by 30–50% on every click in the account Sending All Traffic to the Homepage

Google evaluates the relevance of your landing page to the keyword and ad as part of calculating your Quality Score. A homepage is relevant to everything and nothing in particular. An ad for "roofer Didsbury" that sends traffic to a generic homepage scores poorly because the page does not specifically confirm coverage of Didsbury, does not address the specific service searched, and forces the homeowner to navigate to find what they need. A Quality Score of 3–5 (typical for homepage traffic) means Google charges you significantly more per click than a competitor with a matched landing page scoring 7–10. The same bid produces a worse ad position and a higher CPC — simultaneously.

The fix

Build a dedicated landing page for each district and service type your campaigns target. Each ad group points to its matching page — district ads to the district page, emergency ads to the emergency page, flat roof ads to the flat roof page. This single structural decision reduces CPC by 30–50% within the first billing cycle and doubles conversion rate because homeowners land on a page that immediately confirms you cover their area.

3
Invisible waste — no signal that it is happening No Negative Keyword List Before Launch

A roofing campaign without a comprehensive negative keyword list will spend money on job seekers ("roofer vacancies," "roofing jobs Sheffield"), DIY researchers ("how to repair roof felt," "roof repair kit screwfix"), training searches ("roofing NVQ," "CITB roofing course"), materials buyers ("slate roof tiles buy," "roofing felt roll"), and comparison platform searches ("Checkatrade roofers," "Rated People roofing quote"). These searches generate zero calls because the person behind them has no intention of hiring a roofer. Yet without negatives, every one of them triggers an ad, and every click costs the same as a genuine enquiry. An account that launches without negatives can easily waste 20–30% of its first month's budget on irrelevant traffic before anyone checks the Search Terms report.

The fix

Build a negative keyword list of at minimum 60–80 terms across five categories — employment, DIY, training, suppliers, and competitor platforms — before the campaign generates its first impression. Add to it weekly from the Search Terms report for the first month. A thorough negative keyword list is permanent budget protection that compounds in value as long as the campaign runs.

4
Means you cannot optimise — or prove anything is working No Call Tracking

Without call tracking, you know how many clicks your ads generated. You do not know how many of those clicks became phone calls. You cannot see which campaigns, which keywords, or which districts are generating calls. You cannot identify which keywords are spending budget without converting. You cannot calculate a real cost per call or cost per booked job. You cannot make evidence-based decisions about where to increase budget or where to cut it. Running PPC without call tracking is like running a roofing business without a quote-acceptance rate — you have no idea whether your effort is converting into revenue.

The fix

Enable Google call forwarding within your Google Ads account before the campaign goes live — it is free and provides per-keyword call data. For a full view separating Maps calls, Ads calls, and organic website calls, add a third-party tracking tool like CallRail (approximately £45/month). Call tracking is not optional — it is the minimum measurement infrastructure for any PPC spend to be managed rationally.

5
Turns off when you most need it on Ad Scheduling That Misses Evening and Weekend Demand

A common cost-saving setting agencies apply to roofing campaigns is restricting ad scheduling to business hours — 9am to 5pm, Monday to Friday. The reasoning is that it reduces spend during times when no one is available to answer the phone. The problem is that roofing emergency searches peak outside business hours. A homeowner who notices a leak at 7pm on a Thursday, or who discovers storm damage on a Sunday morning, searches for a roofer immediately. If your ads are paused, your competitors' ads appear instead. Emergency demand — the highest-converting search type in roofing — is disproportionately an evenings and weekends phenomenon. Pausing during those periods to save budget costs significantly more in missed calls than it saves in spend.

The fix

Run your emergency campaign 24/7, every day of the year, with no scheduling restrictions. Use mobile bid adjustments of +40% for evening hours (6pm–10pm) when emergency searches on phones spike. If you genuinely cannot answer calls after 6pm, add an out-of-hours form prominently on your emergency landing page so leads can still register — and return the call first thing in the morning. Missed evening leads are still better than no evening presence at all.

6
Pays double for the same traffic — unnecessarily Running Ads in Districts Where You Already Rank Top 3 Organically

Once your Google Business Profile achieves a top-3 Map Pack position in a specific district, you are already appearing in the most prominent position on that search results page for organic traffic. Running full Ads spend on those same district keywords means you are paying per click for traffic you are already partially capturing for free. The double-presence effect — appearing in both Maps and Ads — does increase total click volume by roughly 30–40%, which can justify a modest Ads presence even in established organic districts. But running your highest-budget campaigns in areas where you already rank organically is a poor use of paid budget that should instead be directed toward districts where you have no organic presence yet.

The fix

Review your Map Pack position by district monthly. For districts where you hold a top-3 Map Pack position, reduce Ads spend to a minimal always-on presence for double-presence benefit (£3–5/day is sufficient) and redirect the bulk of your budget toward districts where your organic position is 4 or lower. Your PPC budget achieves maximum incremental call volume when it targets the gap between where you rank and where you want to rank.

7
Misses the highest-ROI moments of the roofing calendar No Storm Response Campaign Pre-Built

Named storms in the UK generate emergency roofing search volume increases of 300–400% in the 24–48 hours following the event. These searches are from homeowners with urgent, immediate need — conversion rates are the highest of any search type in roofing. The commercial window is narrow: 24–72 hours before search volume returns to baseline. A contractor who has no pre-built storm campaign must build one from scratch during the event — writing ad copy, setting up keywords, creating a landing page, configuring bid settings — while the window is closing. By the time the campaign is live, competitors with pre-built campaigns have already captured most of the surge. The cost of not being ready is measured in booked jobs per storm, multiplied by however many named storms hit your service area in a year.

The fix

Build your storm response campaign in advance and keep it paused. Storm-specific keywords (roof tiles blown off, wind damage roof, storm damage repair), storm-specific ad copy, a storm landing page with immediate call-to-action, and a budget override procedure ready to execute within two hours of a named storm alert. When the Met Office issues a warning for your service area, activate within hours — not days.

8
Optimises for the wrong goal entirely Letting the Agency Report on Clicks Instead of Calls

A PPC agency that reports on clicks, impressions, click-through rate, and cost-per-click without reporting on calls and cost-per-call is optimising for the wrong objective. Clicks are not revenue. Impressions are not revenue. A high click-through rate on an ad that attracts irrelevant searches at low intent is not a success — it is money spent acquiring traffic that does not convert. For a roofing contractor, the only PPC metric that matters commercially is inbound calls: how many, from which campaign, at what cost. Everything else is a means to that end, not an end in itself. If your monthly PPC report does not show calls by campaign and cost per call, you do not have the information you need to manage the spend.

The fix

Before signing any PPC management agreement, ask to see a sample monthly report. If it does not show calls by campaign, cost per call by campaign, and a total blended cost per call across the account, demand that it does — or find a provider whose reporting standard already includes it. Any competent PPC manager working with a roofing contractor has call tracking in place and reports on it as the primary performance metric.

UK Roofing Leads — PPC managed exclusively for UK roofing contractors
We avoid all eight mistakes — and build the storm campaign before you ever need it

Every Google Ads campaign we build for UK roofing contractors uses exact and phrase match only, district-specific landing pages with Quality Scores of 7–10, call tracking from day one, 80+ negative keywords before launch, and a pre-built storm response campaign kept ready to activate within two hours of any named weather event. Our monthly report shows calls by campaign, cost per call, and blended cost per call — no click reports, no impression metrics as headline numbers.

Campaign build
5-Campaign Structure from Day 1

Emergency, replacement, district, flat roof, and storm campaigns built correctly before a single penny is spent — with all eight common mistakes structurally prevented from the outset.

Ongoing management
Weekly Optimisation

Search terms review, negative keyword expansion, bid adjustments, Quality Score monitoring, and storm event activation — managed by specialists who work only with UK roofing contractors.

Reporting
Calls — Not Clicks

Monthly report showing calls by campaign and district, cost per call, and blended cost per call across all channels. Calls are the only metric that matters for a roofing contractor — so it is the only metric we lead with.

What Realistic PPC ROI Looks Like for UK Roofing Contractors

Setting realistic expectations before starting PPC is essential — both to avoid disappointment in the first weeks and to know when a campaign is performing well versus when something is wrong. Here is what good and bad look like, with honest numbers.

Metric Poor performance Average performance Good performance
Average CPC £15–22 — broad match, homepage traffic £8–14 — phrase match, generic pages £4–9 — exact/phrase, district pages
Click-to-call rate 1–2% — homepage, generic ad 3–5% — service page, relevant ad 6–12% — district page, matching ad
Cost per call £75–180 £35–70 £15–35
Call-to-booking rate 20–30% — low-intent clicks 35–50% 50–75% — high-intent district searches
Cost per booked job £250–600 £100–180 £30–70
ROI on average repair job (£600) 2:1 or worse 4–6:1 10–20:1

The difference between poor and good performance in this table is almost entirely structural — keyword match type, landing page relevance, and negative keyword coverage. It is not a function of market or luck. A campaign that starts in the poor column can move to the good column through structural changes, typically within four to six weeks of fixes being implemented.

PPC vs Organic SEO: When to Use Each and When to Use Both

PPC and organic SEO are not competing strategies for a roofing contractor. They serve different functions in the marketing system and are best understood as complementary — each covering the other's weaknesses.

Factor PPC (Google Ads) Organic SEO (Map Pack + website)
Speed to first call 48 hours 3–6 months
Cost per call over time Fixed — never falls below CPC cost Falls toward £0 as ranking compounds
Emergency demand spikes Can scale budget within hours Cannot respond to real-time spikes
What happens if you stop Calls stop immediately Ranking remains — calls continue
Data generated Rich keyword and call data within weeks Slower data accumulation
Best for Immediate calls, new markets, emergency capture, seasonal gaps Long-term cost efficiency, market ownership, compounding returns

The integrated strategy — running both simultaneously with organic SEO building the long-term base while PPC covers immediate demand and seasonal gaps — produces the best economics of any single channel alone. PPC data feeds organic keyword targeting. Organic landing pages improve PPC Quality Scores. Reviews from PPC-generated customers compound organic Map Pack ranking. Over 12–18 months, the blended cost per call falls significantly as organic calls progressively replace paid ones in established districts.

The right question is not "PPC or SEO?" It is "how do I use PPC to generate revenue while SEO builds, and how do I use SEO to reduce my dependence on PPC over time?" Every roofing contractor who asks this question correctly ends up running both — with a plan for how the budget mix shifts as organic strength grows.

Questions to Ask Before Handing Over Budget to Any PPC Provider

  • Of the total monthly fee, exactly how much goes to Google as ad spend and how much is your management fee?
  • What keyword match types will you use — and can you confirm you will not use broad match on any of our roofing keywords?
  • Will each ad group have its own dedicated landing page, or will all traffic go to the homepage or a generic service page?
  • What call tracking setup do you use — and will the monthly report show calls and cost per call by campaign?
  • How many negative keywords will be in place before the first campaign goes live?
  • What ad scheduling will the emergency campaign run — and does it include evenings and weekends?
  • Will you build a storm response campaign in advance — and what is the activation procedure when a named storm hits my area?
  • How many of your current clients are UK roofing contractors specifically — and can I speak to one before I commit?

An agency that answers all eight questions specifically, confidently, and without deflection is worth serious consideration. One that says "we'll cover that in onboarding" or cannot answer the landing page question specifically has not built campaigns for roofing contractors before — and you will pay for that learning curve with your ad budget.

How to Know If Your Current PPC Is Working

If you are already running PPC, here is a five-minute audit you can do right now to assess whether your campaigns are performing at the level they should.

  1. Open Google Ads and check your Search Terms report. Filter by last 30 days. Scroll through the actual search queries that triggered your ads. If you see "roofing jobs," "DIY roof repair," "roof tiles buy," or any employment or materials searches — your negative keyword list is incomplete and you are wasting budget right now.
  2. Check your average CPC. If it is above £12 for district-level roofing keywords, either your keyword match types are too broad or your landing pages are scoring poorly. Both are fixable within a week.
  3. Find the Conversions column. If it shows zero or is not visible, call tracking is either not set up or not configured as a conversion action. You have been running blind — meaning every optimisation decision so far has been guesswork.
  4. Check where your ads send traffic. Click through your own ads (or check the Final URL in each ad). If they go to your homepage, you are overpaying per click and underconverting on every one. Building matching landing pages should be the immediate next action.
  5. Find your emergency campaign. Is it running 24/7? Check the ad schedule. If it pauses at 6pm or on weekends, you are dark for the highest-converting hours of roofing PPC.

Any of these five checks revealing a problem indicates budget is being wasted right now — today — and fixing it will produce measurable improvement in cost per call within the next billing cycle.

Already running PPC? Let us check if it is working correctly.
Free PPC audit — we check all five points above and report within 24 hours

If you are currently running Google Ads for your roofing business, our free audit identifies exactly where your campaign structure is costing you money — search term waste from missing negatives, inflated CPCs from poor landing page alignment, blind spots from missing call tracking, and gaps in your emergency and storm response setup. Plain language, specific findings, delivered within 24 hours. No obligation.

Audit check 1
Search Terms Waste Audit

We check your Search Terms report for irrelevant queries currently burning budget — and give you a prioritised negative keyword list to add before your next billing cycle begins.

Audit check 2
Quality Score Review

We check your Quality Scores by ad group, identify landing page mismatches causing inflated CPCs, and estimate the CPC reduction achievable by fixing the worst offenders first.

Audit check 3
Call Tracking & ROI Check

We confirm whether call tracking is in place and configured correctly — and calculate your actual cost per call from available data, so you can see what your PPC is genuinely costing per booked job.

The Pre-Spend Checklist: What Must Be in Place Before Day One

Summarising everything above into a concrete go/no-go checklist. Do not let any PPC campaign go live until every item is confirmed.

Item Status required Why it matters
Keyword match type confirmation Exact and phrase only — no broad match Broad match wastes 20–40% of budget on irrelevant traffic
Negative keyword list 60+ terms across 5 categories in account Prevents spend on job seekers, DIY searches, and supplier queries
Landing pages per ad group One district/intent page per ad group Homepage traffic = Quality Score 3–5 = 50% inflated CPCs
Call tracking Google call forwarding enabled as conversion Without this, optimisation is guesswork and ROI is unknowable
Emergency campaign scheduling 24/7, every day, no restrictions Emergency demand peaks in evenings and weekends
Mobile bid adjustments +30–50% on mobile for emergency campaign 73% of emergency roofing searches happen on phones
Storm response campaign Built, paused, and ready to activate 72-hour storm windows cannot be prepared in real time
Monthly reporting agreed Calls and cost per call as primary metrics Click reports without call data do not tell you whether PPC is working

For the detailed campaign architecture that applies these principles across five campaign types — including keyword lists, ad copy examples, and bid strategy by campaign stage — read our complete guide to Google Ads for roofing: how to structure a campaign that pays for itself. For how PPC integrates with organic SEO to produce compounding returns, see roofing SEO marketing: how to combine organic and paid for maximum call volume.

Not Sure If Your Roofing PPC Is Structured Correctly?

We'll check your keyword match types, negative keyword coverage, Quality Scores, call tracking setup, and emergency campaign configuration — and tell you exactly what is costing you money and what a correctly structured campaign would change. Free, no obligation, within 24 hours.

Get Your Free PPC Audit →