Roofers installing new shingles on a home in Hawaii

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.

Oahu, HawaiiGoogle Ads + Local Services AdsFamily-ownedYear round season
361
Tracked calls, messages and form submissions
in 7 months, March 24 to October 29, 2026
$46
Per Local Services Ads lead
266 Local Services Ads leads
99
Leads in month one
April 2026, the first full month
2027
Booked into summer 2027
Schedule full through June and July

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.

Roofer laying shingles on a residential roof with a roofing nailer

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.

Local Services Ads leadsGoogle Search calls, messages and forms
26
99
41
48
46
42
35
24
Mar*AprMayJunJulAugSepOct*

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.

$2.3k
$5.5k
$2.8k
$4.6k
$4.9k
$2.6k
$1.6k
$2.4k
Mar*AprMayJunJulAugSepOct*

Where the 361 leads came from

Local Services Ads carried the urgent repair and leak calls. Search went after replacements and re-roofs.

266 LSA95 Search
Local Services Ads, 74%Google Search, 26%

The timeline

Launch, ramp, turn it down, repeat.

  1. 1
    Mar 24

    Launch

    Local Services Ads and Google Search go live from a standing start.

  2. 2
    April

    99 leads in month one

    The first full month brings in 99 tracked calls, messages and form submissions.

  3. 3
    Aug 13

    Too busy. Turn it down.

    The owner asks us to slow down so the crews can catch up. Budgets cut 75%.

  4. 4
    Oct 3

    Caught up

    We ramp back up in steps: 50%, then 75%, then 100%.

  5. 5
    Oct 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.

1

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.

2

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.

3

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.

4

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.

What our clients say

Owners who work with us, in their own words.

Month by month

Every month, every lead.

MonthAd spendLSA leadsSearch leadsTotal
Mar*Launch$2,34123326
AprFirst full month$5,526673299
May$2,78735641
Jun$4,60340848
Jul$4,88437946
Aug75% cut on Aug 13$2,597231942
SepReduced budget$1,61127835
Oct*Ramp up Oct 3, 80% cut Oct 21$2,379141024
Total$26,72926695361

*March starts on the 24th. October runs through the 29th.

$46
per Local Services Ads lead, across 266 leads

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.