A good ROAS for roofing Google Ads is typically between 3x and 8x — meaning for every dollar spent on ads, a well-run campaign generates $3 to $8 in revenue. But that range is almost meaningless without context, because roofing is a high-ticket, low-frequency service where one booked job can be worth $8,000 to $25,000 or more. The average ROAS for roofing Google Ads looks different depending on job type, market size, close rate, and how you're tracking revenue in the first place.
If you're trying to figure out whether your current campaigns are performing or just burning budget, this breakdown will give you the benchmarks you need — and more importantly, help you understand what's actually driving those numbers.
Why ROAS Works Differently for Roofing Than Most Industries
In e-commerce, ROAS is straightforward. Someone clicks an ad, buys a product, and the revenue is tracked automatically. Roofing doesn't work that way. A homeowner clicks your ad, calls your office, books an estimate, and maybe two weeks later signs a contract for a $14,000 full replacement. That revenue rarely gets connected back to the original ad click unless you have proper call tracking and CRM attribution in place.
This is why most roofing companies either have no idea what their ROAS actually is, or they're looking at a number that only reflects a fraction of the revenue their ads are generating. Before you can benchmark your ROAS against anything, you need to know whether your tracking is actually capturing what matters.
The other factor that makes roofing unique: average job value is high and sale cycles are longer. A roofing company converting one in five leads into a $12,000 job has a completely different ROAS ceiling than a plumber booking $300 service calls. This is why ROAS targets for roofing should be set based on your actual numbers — not generic benchmarks from outside the industry.
What the Average ROAS for Roofing Google Ads Actually Looks Like
Based on campaign data across roofing markets, here's how ROAS tends to break down by performance tier:
- Under 3x: Campaigns are likely bleeding money. Either costs are too high, lead quality is poor, or close rates are low. Something structural is wrong.
- 3x–5x: Acceptable but not strong. Revenue is covering ad spend with margin, but there's significant room to improve targeting, conversion rates, or both.
- 5x–8x: Solid performance. Campaigns are well-targeted, lead quality is good, and the sales process is converting a reasonable percentage of inquiries into jobs.
- 8x–15x+: Strong. Usually seen in markets with lower competition, or with highly optimised campaigns running tight geographic targeting and strong landing pages.
The most important caveat: these ranges assume you're tracking revenue accurately, not just leads. A campaign showing 10 leads per month means nothing if you don't know how many became estimates, how many estimates became jobs, and what those jobs were worth.
Cost Per Lead vs. ROAS — Which Number Should You Be Watching?
Most roofing companies focus on cost per lead (CPL) because it's the easiest number to see inside Google Ads. CPL is useful, but it's a leading indicator, not the full picture. A campaign generating leads at $85 each looks great until you realise most of those leads are tire-kickers, renters, or people three counties outside your service area.
ROAS forces you to look further down the funnel — at actual revenue generated, not just contacts collected. That's why it's a better metric for evaluating whether your ad spend is working as a business investment, not just as a traffic driver.
Ideally, you track both. Use CPL to monitor campaign efficiency week-to-week. Use ROAS to evaluate whether those campaigns are actually driving profitable work over time.
What a Realistic Roofing ROAS Calculation Looks Like
Here's a simple example. Say you spend $5,000/month on Google Ads. Your campaigns generate 40 leads. Your team books 20 estimates from those leads. You close 8 jobs. Average job value is $9,500. That's $76,000 in revenue from $5,000 in ad spend — a 15.2x ROAS.
Now run the same scenario with a lower close rate and smaller average job. 40 leads, 15 estimates, 4 jobs at $6,000 average. That's $24,000 from $5,000 — a 4.8x ROAS. Same CPL, completely different business outcome. The difference isn't in the ads — it's in the sales process and job mix.
This is why ROAS benchmarks are a starting point, not a verdict. The number tells you whether your marketing system is working. Diagnosing why it's working or not requires looking at every stage from click to close.
What Drives ROAS Up or Down for Roofing Campaigns
Several variables have the biggest impact on ROAS in roofing Google Ads:
- Match types: Broad match keywords pull in searches like "how to fix my own roof" or "roofing materials cost." You pay for the click, get a useless lead, and ROAS tanks. Tighter match types — phrase and exact — keep spend focused on commercial intent searches.
- Geographic targeting: Campaigns that target too large an area generate leads in locations your team won't serve efficiently, or at all. Tighter geo-targeting almost always improves ROAS.
- Landing page quality: Sending ad traffic to a generic homepage with no clear call-to-action destroys conversion rates. A dedicated landing page built around the specific service being advertised typically converts 2x–3x better.
- Speed to lead: A lead that doesn't get called back within the first hour is likely already talking to a competitor. Close rates drop sharply with slow follow-up, which directly compresses ROAS regardless of how good the campaign is.
- Seasonal timing: CPCs spike after hailstorms and during peak roofing season. ROAS can swing significantly month-to-month based on demand and competition in your market. Campaigns need to be managed actively, not set and forgotten.
- Job type mix: A campaign generating mostly repair leads will show lower ROAS than one generating full replacement inquiries — even with identical CPL. Your campaign structure should reflect which job types you actually want more of.
How to Set a Realistic ROAS Target for Your Roofing Business
Start with your numbers. What's your average job value for the services you're advertising? What does your team close from initial inquiry to signed contract? What margin do you need to make a job worth taking?
From there, work backwards. If your average replacement job is $11,000, your close rate is 25% from lead to job, and you need a 4x minimum ROAS to stay profitable, you can afford to spend up to $687 per booked job ($11,000 ÷ 4 ÷ 4 leads needed per job). That's your allowable CPL ceiling.
Most roofing companies have never done this math. They set ad budgets based on what feels affordable rather than what the economics of the business actually support. That's usually why campaigns underperform — the targeting and bidding decisions aren't connected to the revenue model.
Why a High ROAS Doesn't Always Mean the Campaigns Are Healthy
This is an important nuance. A very high ROAS — say 20x or 30x — can actually signal that you're being too conservative with your budget. If your ads are only showing to a narrow slice of your market because your budget runs out before noon, you're leaving potential jobs on the table. In a high-value category like roofing, underspending can be just as costly as overspending.
Similarly, a high ROAS driven by one or two large storm restoration jobs in a single month can look good on paper while masking the fact that the underlying campaign structure is mediocre. Always look at ROAS over a 90-day rolling window, not a single month's snapshot.
Frequently Asked Questions
What is a good ROAS for roofing Google Ads?
A good ROAS for roofing Google Ads is generally 5x to 8x, meaning $5 to $8 in revenue for every $1 spent on advertising. Campaigns above 8x are performing well. Anything consistently below 3x typically indicates a problem with campaign targeting, lead quality, or the sales process converting leads into jobs.
How do I calculate ROAS for my roofing Google Ads campaigns?
Divide total revenue generated from ad-attributed jobs by total ad spend over the same period. For example, if you spent $4,000 on ads and generated $28,000 in revenue from jobs that came through those ads, your ROAS is 7x. The key is having accurate attribution — you need to track which jobs originated from Google Ads, which requires call tracking software and ideally a CRM that logs lead source.
Is ROAS or cost per lead more important for roofing companies?
ROAS is ultimately more important because it connects ad spend to actual revenue, not just contact volume. Cost per lead is a useful operational metric for day-to-day campaign monitoring, but it doesn't tell you whether those leads turned into profitable jobs. Roofing companies that optimise for CPL alone often end up with cheap leads that don't convert, while missing the bigger picture of campaign profitability.
Why is my roofing ROAS lower than industry benchmarks?
The most common reasons are: broad match keywords pulling in low-intent traffic, poor landing page conversion rates sending ad traffic to a generic homepage, slow lead follow-up losing jobs to competitors, geographic targeting that's too wide, or a close rate issue in the sales process. ROAS is the output of every stage from click to close — if it's underperforming, the problem could sit anywhere in that chain.
What average job value should I use when calculating roofing ROAS?
Use the average value of jobs generated specifically from the service type you're advertising. If you're running campaigns for full roof replacements, use your average replacement job value — not a blended average across all job types including small repairs. Mixing job types in your ROAS calculation can make campaigns look stronger or weaker than they actually are for specific services.
Does roofing ROAS change by season?
Yes, significantly. After hailstorms or major weather events, CPCs spike due to increased competition, which compresses ROAS unless average job values also increase (as they often do in storm work). Spring and early summer typically see higher demand and better ROAS for planned replacement work. Winter months in colder markets see reduced search volume and can be more efficient or less efficient depending on how competitors adjust their spend. Budget and bidding strategy should be adjusted seasonally, not left static year-round.
Can I trust the ROAS data inside Google Ads for roofing?
Only if your conversion tracking is set up correctly and you're feeding revenue data back into the platform. Out of the box, Google Ads tracks clicks and form fills — it doesn't know what those leads were worth or whether they became jobs. Without call tracking that logs call outcomes and a way to attribute closed revenue back to campaigns, the ROAS figure inside Google Ads is incomplete at best and misleading at worst.
The Bottom Line on Roofing Google Ads ROAS
The average ROAS for roofing Google Ads sits between 3x and 8x for most campaigns, with well-optimised campaigns regularly hitting above that range. But the number alone doesn't tell you much. What matters is whether you're tracking it accurately, whether your campaign structure is built around the jobs you actually want, and whether your sales process is converting the leads that come through.
ROAS is a diagnostic tool. A weak number is a signal to look harder at match types, targeting, landing pages, and follow-up speed. A strong number is a reason to consider scaling — not to assume everything is already optimised.
If you want a clear-eyed look at whether your current roofing Google Ads campaigns are actually delivering profitable work, Thomas Town Digital offers free audits with no obligation. We'll review your campaign structure, attribution setup, and ROAS performance and give you a straight read on what's working, what's wasted, and where the real opportunities are. Book a free strategy call at thomastowndigital.com and we'll walk through your numbers together.