Case study · Roofing
The ads worked so well, they had to slow them down.
A family-owned roofing company on Oahu got so busy their schedule filled up for months. So we turned their budget down. Twice.
The situation
Year round demand. A crew sized schedule.
This is a family-owned residential roofer on Oahu. Repairs, leaks, re-roofs and full replacements. Roofing in Hawaii does not really have an off season, so the limit is not demand. The limit is how much work the crews can take on.
They started from zero. No paid search history at all before launch on March 24, 2026, and a starting budget of about $5,000 a month across Google Search and Local Services Ads.
Want a roofing schedule this full?
We will show you how we would set up Local Services Ads and Search for your roofing company in a 15 minute call.
The numbers
99 leads in the first full month. Then we managed to the crews.
Tracked leads per month
Tracked calls, messages and form submissions. *March starts on the 24th. October runs through the 29th.
Ad spend per month
Spend went down on purpose. The client asked for a 75% cut on August 13, we ramped back up on October 3, then cut 80% on October 21 once they were booked into 2027.
Where the 361 leads came from
Local Services Ads carried the urgent repair and leak calls. Search went after replacements and re-roofs.
The timeline
Launch, ramp, turn it down, repeat.
- 1Mar 24
Launch
Local Services Ads and Google Search go live from a standing start.
- 2April
99 leads in month one
The first full month brings in 99 tracked calls, messages and form submissions.
- 3Aug 13
Too busy. Turn it down.
The owner asks us to slow down so the crews can catch up. Budgets cut 75%.
- 4Oct 3
Caught up
We ramp back up in steps: 50%, then 75%, then 100%.
- 5Oct 21
Booked into summer 2027
Budgets cut 80%. Local Services Ads paused to keep their ranking and reviews safe. Search stays on at about $1,000 a month to keep them visible.
What we did
Two engines, one schedule.
Local Services Ads as the lead engine
The Google Verified badge and pay per lead pricing, built to catch the urgent repair and leak calls that need a roofer this week.
Google Search for the bigger tickets
Search campaigns aimed at replacement and re-roof searches, where the bigger tickets come from and where we control the keywords.
Tracking that counts real leads
Call and form tracking so every lead was counted, with button taps filtered out because they are not real leads. Once real lead data came in, in April, we switched Search from Maximize Clicks to Maximize Conversions.
Budgets that follow the crews
We cut when they were full, ramped back up when they had room, and dropped to a maintenance budget once they were booked out.
Booked out and still paying full price for ads?
We will tell you when to turn it down, and when to turn it back up.
Month by month
Every month, every lead.
| Month | Ad spend | LSA leads | Search leads | Total |
|---|---|---|---|---|
| Mar*Launch | $2,341 | 23 | 3 | 26 |
| AprFirst full month | $5,526 | 67 | 32 | 99 |
| May | $2,787 | 35 | 6 | 41 |
| Jun | $4,603 | 40 | 8 | 48 |
| Jul | $4,884 | 37 | 9 | 46 |
| Aug75% cut on Aug 13 | $2,597 | 23 | 19 | 42 |
| SepReduced budget | $1,611 | 27 | 8 | 35 |
| Oct*Ramp up Oct 3, 80% cut Oct 21 | $2,379 | 14 | 10 | 24 |
| Total | $26,729 | 266 | 95 | 361 |
*March starts on the 24th. October runs through the 29th.
361 tracked calls, messages and form submissions in seven months, on $26,729 of ad spend. That is about $74 per lead across both channels. Then the schedule filled up, so we turned it down. Twice.
Takeaways for roofers
What this means for your roofing company.
The goal is a full schedule, not the cheapest lead
The cheapest lead is not the point. The point is a full schedule with the right jobs on it.
LSA is the fast lane. Search is where you steer.
Local Services Ads is the fast lane for urgent repair calls. Search is where you control the replacement work.
Your agency should turn it down when you are full
A good agency turns your ads down when you are full and back up when you have room. We do not spend money just to hit a budget.
No lock in
Flat monthly fee, month to month, and you own your accounts.
Client name withheld for confidentiality. Figures pulled from the live Google Ads account on October 30, 2026, covering March 24 to October 29, 2026. Tracked leads means phone calls, messages and form submissions from Google Search, plus charged Local Services Ads leads. Button taps are not counted. Results depend on your market, season and crew capacity. Photos are representative of the industry, not this client's job sites.
Is your roofing schedule as full as you want it?
Fifteen minutes, no pitch deck. You will get an honest read on your account and what we would change first.