Case study — Domestic cleaning
How we turned "wrong leads" into 11 regular clients — at £25 each.
Time For You Wokingham · Domestic cleaning franchise · Meta lead generation · £15/day budget.
Result: 11 regular cleaning clients signed within two weeks of the fix — a 22% lead-to-client conversion rate, at roughly £25 in ad spend per client, for customers worth hundreds of pounds per year, every year.
Leads requesting regular cleaning
Leads generated in the first month
Cost per acquired client
Lead-to-client conversion rate

The starting point
Time For You Wokingham came to us for one thing: regular weekly and fortnightly cleaning clients. That distinction matters more than it sounds. As a franchise, their business model is built around introducing households to a regular cleaner on an ongoing arrangement. One-off cleans aren't just lower value — they're barely profitable at all.
We launched a consolidated Meta lead campaign at £15/day: four static ads and one video, each built around a different angle — time reclamation, trust and vetting, reliability, and a promotional spring clean offer — all feeding Meta's higher-intent Instant Form.
Week one looked great on paper. 12 leads at around £4.10 each — well below typical UK domestic cleaning benchmarks of £8–15+.
Then the client called.
The problem hiding in a good CPL
Every single lead was asking for a one-off clean. Not most of them. All of them. On top of that, leads were arriving from outside the franchise territory — including one from a postcode more than 40 miles away — and several enquiries were "just getting prices."
A cheap lead that can't become a customer isn't cheap. It's worthless.
This is the point where a lot of agencies either defend the numbers or quietly hope things improve. We did neither. We pulled the raw lead export and went through it line by line.
The diagnosis
What the data actually showed.
The forensic pass turned up four distinct problems — only one of which was the "obvious" one:
- 01
The offer ad was hoovering up the budget — and the wrong customers.
Meta automatically concentrates spend on whichever ad converts cheapest. The spring clean offer was winning that race, taking ~77% of the budget and generating cheap leads with one-off intent. The other ads hadn't failed; they'd simply never been funded.
- 02
Every ad — not just the offer — carried a one-off signal.
All four ads ended with "£15 off your first clean," and in one case it was in the headline. A discount hook front and centre attracts deal-seekers regardless of how "regular" the body copy reads.
- 03
The form was priming price-shopping.
The form's intro screen used the word "quote" twice and led with the discount before asking a single question — and then offered "just getting prices for now" as an answer. Half the leads picked it. We had, in effect, built the window-shopping behaviour into the funnel.
- 04
The geography was leaking.
The live form still used a free-text postcode field, letting out-of-area leads through unflagged, and a targeting audit found the ad set reaching people visiting the area as well as living in it.
Crucially, one thing was not broken: the form's frequency question already listed "Regular weekly clean" and "Regular fortnightly clean" as the top options — and people were still actively choosing one-off. The form wasn't steering anyone. It was honestly reporting that the ads were attracting the wrong intent. That distinction told us exactly where to operate.
The fix
One batch, one learning reset.
Every edit to a Meta campaign resets its learning phase, so we bundled every change into a single session:
Paused the spring clean offer ad — the primary source of one-off intent.
Rewrote the remaining ads to sell regular cleaning exclusively, and re-anchored the discount: "£15 off when you set up your regular weekly or fortnightly clean." Same incentive — but now it only appeals to the customer the client actually wants.
Rebuilt the Instant Form: the free-text postcode became a required tick-box area list, and the intro was reworded from "get your free quote" to availability-led language — shifting the reader's mental mode from "how much?" to "can I get one?"
Tightened the location targeting across the service area.
We also set expectations honestly with the client: tighter filtering usually means fewer leads at a higher cost each. That's the trade you make for quality — and we said so before the numbers moved, not after.
The results
Six days later.
| Metric | Before the fix | After the fix |
|---|---|---|
| Leads per week | 12 | 18 |
| Cost per lead | ~£4.10 | ~£5.24 |
| Leads requesting regular cleaning | 0 of 10 | 7 of 10 |
| Regular clients signed | 0 | 11 (in two weeks) |
| Cost per acquired client | — | ~£25 |
The predicted trade-off half-happened: cost per lead rose by about £1 — but volume went up, not down. And the ad the client had written off as "not working"? It delivered 5 leads in its first properly-funded week. It had never been broken. It had never been given budget.
Most importantly, lead intent flipped from 0% regular to 70% regular — verified in the client's own lead data — and the client signed four new regular cleaning customers within six days — rising to eleven within two weeks. Across the first month, that's 11 clients from 50 leads: a 22% lead-to-client conversion rate, on £270 of total ad spend.
I have signed up 7 new clients this week.
— Time For You Wokingham
Key takeaways
What this case study is really about.
A cheap lead is not a good lead.
Cost per lead is the most quoted and least meaningful number in lead generation. The only metric that matters is cost per customer — and for recurring-revenue businesses, cost per customer against lifetime value.
Meta optimises for cheap, not for right.
Left alone, the algorithm pours budget into whatever converts cheapest — even when "cheapest" means "wrong." Reading the lead data, not just the dashboard, is how you catch it.
The form is a diagnostic instrument.
Because the frequency question was built correctly from day one, it told us precisely where the problem wasn't — pointing us straight at the creative.
Fix everything at once.
Batching every change into a single edit session meant one learning reset instead of four, and a clean before/after comparison one week later.
Leads are enquiries, not customers.
The final conversion happened on the phone — fast first calls and follow-ups a few days later. The best campaign only fills the top of the funnel; we make sure clients know what wins the bottom of it.
Ads generating leads that never become customers?
The problem is usually diagnosable — and fixable — in the data you already have.
