Roofing in Oklahoma City, OK
Halved the ad budget before hail season. Leads went up.
A large roofer that spent heavily on ads every hail season. This spring, storm posts in the local groups carried the load and the ad budget stayed mostly unspent.
Regional roofing contractor, 22 staff. Told by Rachel, general manager.

- Leads from the groups
- 118
- over 7 months
- Leads a month, once running
- 22.0
- Cost per lead
- $59
- was $175 from ads
- Close rate
- 23%
- 27 jobs closed
- Closed revenue
- $331k
- $6,979 spent
- Return on spend
- 47x
- revenue ÷ fees
The business
Four crews, two estimators and an insurance coordinator. Rachel has run operations for six years. They do residential replacements almost exclusively, with a small commercial side.
- In business
- 19 years
- Average ticket
- $12,600
- Tracked
- Dec 2025 to Jun 2026
- Service area
- Edmond, Moore, Norman, Yukon and Mustang
Before
After a hail storm, click prices in Oklahoma City go up four times over. Rachel was also disputing Local Services charges every week for spam calls and people outside their area.
- Where leads came from
- Google Ads
- Google Local Services Ads
- Billboards on I-35
- Google Ads and Local Services Ads
- $7,000 a month
- Typical cost per lead
- $175
What we did
We got the owner into 184 local groups and posted about 18 times a week across them: tips, offers and finished jobs, with every comment and message answered the same day. A few of the groups:
- Edmond Neighbors Network
- Moore OK Community
- Norman Moms
- Yukon & Mustang Area Buzz
What worked for roofing
- Pre-season posts in February about checking attic vents and soft spots, with a short form to get on the inspection list before hail season.
- Same-day storm posts: which hail sizes usually mean a claim, which don’t, and a booking link for an inspection.
- Warnings about door-knockers asking homeowners to sign contingency agreements on the spot. Those got shared more than anything else they posted.
Results
Leads per month from group threads, Dec 2025 to Jun 2026
| Month | Leads |
|---|---|
| Dec | 5 |
| Jan | 10 |
| Feb | 15 |
| Mar | 21 |
| Apr | 24 |
| May | 20 |
| Jun | 23 |
The April storms pushed month five to 24, and the inspection form under the storm posts took in most of it. May cooled off before a second round of hail in June.
| Measure | Before | With the groups |
|---|---|---|
| Monthly spend | $7,000 | $997 |
| Cost per lead | $175 | $59 |
| Leads that became jobs | 13% | 23% |
| Cost per closed job | $1,346 | $258 |
Along the way
- Week 2
First inspection request, a leaking skylight, from a comment on an attic-vent post in Edmond Neighbors Network.
- Month 4
Cut the Google Ads budget in half ahead of hail season.
- Month 5
9 inspection requests from one Moore group post after the April storm.
“After the April hail we would have spent twenty grand on ads just to stay in the fight. This time the inspection requests came in off our own posts, and I didn’t spend my Mondays arguing with Google about which calls were spam.”
More from roofing
Roofing · Tampa Bay, FL
Won storm season without outbidding the storm chasers.Roofing · Columbus, OH
From the fourth call on a shared lead to the first call.HVAC · Indianapolis, IN
Fewer $89 diagnostics. More full system replacements.
One company per trade per city
Is your trade still open where you work?
We take one roofing company per city, with a 25-mile territory. $997 a month flat, no ad spend, and 15 leads a month by month four, or we work free until you get there.