from referral-only to $34,000 in tracked booked revenue on $5,640 in ad spend.
a two-phase test-and-scale meta ads campaign for a residential window cleaning company that had never run paid advertising — built around one metric: conversations that turned into paid jobs.
the starting point
the company had been running for years on word-of-mouth and referrals. summers were busy, shoulder seasons were quiet, and there was no predictable way to fill the schedule. they had never spent a dollar on paid advertising and had no landing pages, no pixel data, and no baseline for what a booked cleaning job should cost.
what we did
we started with a broad test to learn what actually worked for their market — creative, copy, and audiences — before spending real money. every ad pointed to a simple landing page with a single call-to-action: call a dedicated tracking line so every booked job could be attributed back to the ad that produced it.
36 ad sets, one call-to-action
$5/day per ad set across variations in creative, copy, and audience. every ad pointed to a simple landing page with one job: get the prospect to call a dedicated tracking line.
- test spend
- $888.80
- booked jobs
- 8
4 winning ad sets, messenger flow
bottom 32 ad sets cut. budget reallocated to the top 4, switched to messenger conversation ads — service, property type, and timing captured before a human replies.
- conversations
- 553
- booked jobs
- ~77
full-funnel breakdown
- ad spend
- $5,640.65
- booked jobs
- 85
- conversations
- 553
- revenue generated
- $34,000
- blended roas
- 6.0x
before vs. after
- lead source
- referrals only
- monthly booked jobs
- unpredictable
- cost per job
- unknown
- ad spend
- $0
- lead source
- paid + referrals
- booked jobs (campaign)
- 85
- cost per booked job
- ≈ $66
- ad spend
- $5,640.65
the account went from zero paid infrastructure to a repeatable booking engine in one campaign cycle. once the winners were identified, spend scaled without cost-per-job creeping up.
notes: platform metrics pulled from meta ads manager. revenue uses the client-reported average job value and conversation-to-booking rate. figures presented for case-study illustration.