Case Study · Roofing

How Class Roofing Doubled Ad Spend to $200K a Month and Kept Cost per Lead Steady

Class Roofing came to Ostmen with a cost per lead that swung from $200 to $300 on good days to a couple thousand dollars on bad ones. Within three months, cost per lead was holding under $300. More recently, they asked to go from $100,000 to $200,000 a month in 30 days without cost per lead rising more than 10%. It rose 4%.

Under $300
Cost per lead, within 3 months
2x
Monthly spend, $100K to $200K in 30 days
+4%
Cost per lead change while scaling

The Problem: Results All Over the Place

Class Roofing was already spending real money on Google Ads and Local Services Ads. The issue was not volume. It was consistency. Some days a lead cost $200 to $300. Other days the same account paid a couple thousand dollars for one. Averages hid the swings, and planning crews or budgets around a number that unstable was guesswork.

The goal was simple to say and hard to hit: get cost per lead under $300 and keep it there, then build enough room to scale.

What We Changed

1. We optimized on booked jobs, not form fills. We send high quality booked jobs from Class Roofing’s CRM back to Google, so bidding learns which leads turn into real roofing work and goes after more of them. Instead of treating every call and form the same, the account now chases the leads that actually book.

2. We fixed the page the clicks land on. We reworked the landing page and improved its conversion rate, so the same clicks produce more leads.

Why it works: better conversion data steadies the bidding, and a better page lowers what each lead costs. Together, they took the swings out.

Phase 1: Cost per Lead Under $300 Within Three Months

With booked jobs feeding the bidding and a stronger landing page converting the traffic, the wild days stopped. Within three months, Class Roofing’s cost per lead was consistently under $300, the target they came to us with. Class Roofing has now worked with Ostmen for more than a year.

Phase 2: $100K to $200K a Month in 30 Days

After more than a year together, Class Roofing asked for something most accounts cannot survive: double monthly spend from $100,000 to $200,000, and do it in 30 days, with cost per lead rising no more than 10%.

The account hit $200,000 a month, and cost per lead rose only 4%. Doubling spend that fast usually means buying worse traffic. It held here because the bidding already knew what a good roofing lead looked like before the extra budget arrived.

Class Roofing Google Ads overview, Aug 25 to Oct 8, 2026: $289K cost, $19.02 average CPC, $272 cost per conversion, 1.06K conversions

Class Roofing Google Ads overview, Aug 25 to Oct 8, 2026: $289K spent, 1.06K conversions, $272 cost per conversion. Shared with permission.

What Other Roofers Can Take From This

If your cost per lead swings wildly, check what you are feeding back to Google before you touch bids. Bidding can only chase what you tell it a good lead looks like.

Scaling spend fast only holds if that groundwork is already done. See how we approach marketing for roofing companies, or read more about Local Services Ads.

Back to Case Studies

Could Your Account Scale the Same Way?

Book a strategy call and we will look at what your account feeds back to Google and where your cost per lead is leaking. Google Partner agency.

Book a Strategy Call