Lead volume was never the complaint. The clinics were full of leads. They were not full of patients.
The situation
A multi-location med spa group buying media across Meta and Google, with each location carrying its own budget and its own market. The reporting ended at cost per lead — which meant the group could tell you precisely what a lead cost and nothing at all about whether that lead ever became money.
Everyone assumed the ads were underperforming. They weren't, particularly. The failure was further down.
What the diagnosis found
The campaigns were optimised toward the wrong finish line
Objectives were set to lead generation, and the conversion event was a form submission. So the platform went and found the cheapest possible form fill — exactly what it had been asked to do. It had no information about who books, who arrives, or who buys, because none of that had ever been sent back to it.
Follow-up was slow enough to be fatal
The gap between a form arriving and anybody calling it was measured in hours, not minutes. In aesthetics, a person filling a form at eleven at night is browsing. By the following afternoon they have moved on, been called by a competitor, or forgotten they enquired at all.
Booked did not mean arriving
Confirmation and reminder sequences were thin, and there was no recovery process for a no-show. So a substantial share of appointments that had been won and counted simply evaporated between the booking and the day.
Nothing could be attributed
Lead source was not carried through to the booking system. Which meant no one could say which campaigns produced patients and which produced noise — and every budget decision was therefore being made on a guess.
Three of the four failures were not advertising failures. They were operational ones that the ad budget was paying for.
What changed
- Campaign structure rebuilt by location, service and intent level — rather than one campaign duplicated across markets with the city name swapped.
- Optimisation moved toward deeper events, accepting a higher cost per lead in exchange for leads that convert.
- Premium-intent messaging separated from promotion-driven messaging, so discount creative stopped contaminating the audience for higher-value treatments.
- Lead routing rewritten so every lead landed in the correct location's pipeline with its source, campaign and treatment interest attached.
- First automated contact made genuinely immediate rather than batched.
- Confirmation, reminder and no-show recovery sequences built ahead of every appointment.
- Reporting rebuilt around cost per arrived patient and cost per sale, with revenue traceable by campaign and by location.
The result
| Metric | Before | After |
|---|---|---|
| Cost per lead | Baseline | 50% lower |
| Appointment no-show rate | 60% | 40% |
| Consultation-to-sale rate | 40% | 60% |
Read individually, none of these is extraordinary. Read together, against the same budget, they compound: half the cost to acquire a lead, a third fewer of the resulting appointments lost, and half again as many of the consultations that do happen closing.
The campaign was never the problem. The campaign was the only part anyone was looking at.
What I'd take from it
When a clinic tells me lead quality is poor, the first thing I check is not the targeting. It is what the account has been told to optimise toward, and how long a lead waits before a human being contacts it. In most accounts, one of those two is the answer.