case 01 · residential window cleaning · meta ads

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.

$34,000
revenue generated
$5,640.65
total ad spend
85
booked jobs
6.0x
blended roas
01 — how it started

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.

02 — approach

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.

phase 01 · test

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
phase 02 · scale

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
03 — results

full-funnel breakdown

ad spend
$5,640.65
booked jobs
85
conversations
553
revenue generated
$34,000
blended roas
6.0x
04 — comparison

before vs. after

before
lead source
referrals only
monthly booked jobs
unpredictable
cost per job
unknown
ad spend
$0
after
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.

more case studies