Home/Work/Plumbing and drain services, two metro areas
Case studyLocal home services: 5.2x booked-job ROAS.
Client: Plumbing and drain services, two metro areas. 14 trucks.
Channels: Google Ads, Meta · Window: 75 days
Where the account started.
The owner spent $14k a month on Google and Meta and was told leads were cheap at $22 each. Phones rang but the office booked only 38% of calls. Revenue per ad dollar had stalled.
What the audit found.
- Campaigns optimised for calls of any length, including wrong numbers and sales calls.
- Budget spread evenly across a 40-mile radius. Distant zip codes had a 2x higher cost per booked job.
- 31% of calls went unanswered during peak hours and no one called back.
- Meta lead forms were answered the next day. By then the customer had booked another company.
- No tie between ad spend and booked job revenue.
The work, in order.
Audit
Call tracking review. Pulled booking data from the scheduling system. Found cost per booked job at $64.
Tracking
Call tracking with duration threshold and AI call scoring. Booked job uploaded as the conversion.
Geo tiers
Tiered zip codes by cost per booked job. Raised budget in the top tier and cut the bottom tier by 60%.
Speed
Set a two-hour speed-to-lead rule with text-back automation and an after-hours answering service.
Scale
Shifted budget to higher-ticket services such as water heaters and sewer lines. Raised average ticket from $154 to $203.
Before and after.
Backend-reconciled figures over the window above.
| Metric | Before | After | Change |
|---|---|---|---|
| Booked-job ROAS | 2.4x | 5.2x | +117% |
| Cost per booked job | $64 | $39 | -39% |
| Booked jobs per month | 219 | 436 | +99% |
| Average ticket | $154 | $203 | +32% |
| Missed call rate | 31% | 9% | -22 pts |
| Median speed to lead | 3h 40m | 11 min | -95% |
| Monthly ad spend | $14,000 | $17,000 | +21% |
Illustrative sample. Results depend on offer, margins, creative and budget.
“They stopped reporting leads and started reporting booked jobs. Once I could see which zip codes paid back, the decisions got easy.”
Steal this for your account.
- Optimise for booked jobs, not calls. Upload bookings back as the conversion.
- Tier your service area by cost per booked job and set a budget for each tier.
- Speed to lead is a media lever. Fix response time before raising spend.
- Push budget toward higher-ticket services once volume is stable.
Read the next case.
D2C fashion brand: 2.1x to 4.6x ROAS in 120 days
Rebuilt the Meta account around three angles, added a TikTok Spark pipeline and fixed CAPI deduplication.
Read the case studyB2B SaaS: cost per SQL down 38% in 90 days
Cut broad-match waste, moved optimisation from form fills to SQLs, and split brand from non-brand.
Read the case studyFind the leak before you spend another dollar.
Free audit of your Meta, Google or TikTok account. Written findings in two business days. No pitch deck.