Home / Case studies / Denver massage spa
The leads were cheap. That was the problem.
A solo massage therapist in Denver was getting form leads at $7.54 and calls at $2.70. Excellent numbers, and almost worthless to her. Here is what we did instead, and why a $399 package now sells for $11.78 of ad spend.
The setup
Zen'd Out Massage Spa is a Denver studio run by one person. She does the massages. She also answers the phone, replies to enquiries, manages the calendar and handles everything else, which in practice means that for ninety minutes at a stretch her hands are busy and nothing else is happening.
That single fact turned out to matter more than any targeting decision in the account.
The obvious playbook was working, and still failing
We started where almost everybody starts with a local service business. Instant Forms and call ads on Facebook and Instagram, broad Denver targeting.
It performed. Over June and July the form campaign produced 74 leads at $7.54 each and the call campaign produced 146 calls at $2.70. Anyone looking at that column in Ads Manager would call it a good account.
The problem is that a lead is not a customer. It is a promise that somebody will follow up. And there was nobody to follow up. Enquiries sat while she was mid treatment. Callbacks happened hours later, or the next day, or not at all.
Cheap leads that nobody has time to call are not cheap. They are just cheap to acquire and expensive to waste.
Why the usual fix would not have worked either
Normally when follow up is the weak link I automate it. Instant text back, an email sequence, a booking link that goes out in ninety seconds. That is the standard repair and it works well for a business with two or three people.
It would not have saved this account. Automated follow up still ends in a conversation somebody has to have. She did not have room for more conversations. She needed fewer.
What we changed
We stopped generating leads and started selling the appointment directly.
The offer got sharpened into something specific enough to buy on the spot: a ninety minute Romantic Couples Massage at $399, bundled with $225 of enhancements included, aimed at anniversaries and birthdays rather than at general relaxation.
Then the campaign objective changed from leads to purchases, so Meta was optimising for people who complete a paid booking rather than for people who fill in a form. Tracking was rebuilt around that: Pixel and Conversions API through Google Tag Manager, firing on the actual purchase, with a dedicated thank you page.
That last part is not a detail. If the platform cannot see purchases, it cannot optimise for purchasers, and you end up paying for people who like filling in forms.
The results
| Build | Purchases | Cost per purchase | Spend |
|---|---|---|---|
| Landing page v1, Mangomint, from 12 Aug | 26 | $39.21 | $1,019.45 |
| Rebuilt LP with GTM tracking, from 28 Aug | 22 | $11.78 | $259.07 |
The first build proved the mechanism: people will buy a $399 massage package straight off a Facebook or Instagram ad without speaking to anyone. The second build, with the landing page rebuilt and tracking properly wired through Tag Manager, took the cost per sale down by roughly two thirds.
A $399 package sold for $11.78 of ad spend. And the owner does not have to call a single one of them.
What I would take from this
The instinct when leads underperform is to get more leads, or cheaper leads, or better targeted leads. In this account every one of those instincts was wrong, because the constraint was never at the top of the funnel. It was one person with two hands and a full treatment schedule.
Before you optimise a campaign, it is worth asking what happens to the lead after it arrives, and being honest about whether anybody is actually there to catch it. Sometimes the right answer is to design the funnel so that nobody has to.
Is your funnel built around who actually answers
A free twenty minute call, screen shared. I look at your Facebook and Instagram ads with you and tell you what I would change. You keep the list whether you hire me or not.