The situation
A three-year-old med spa in Miami had six practitioner chairs, a beautiful space, excellent clinical results — and no money at the end of the month.
The founder was spending $9,200/month on Meta ads. The ads worked, in a narrow sense: they produced bookings. But the unit economics were broken.
- Average treatment value: $340
- Return rate: 22% (low for the industry)
- Lifetime value: ~$850
- Cost per acquired client: $284
- Net margin per client: ~$140 after commission, product, and overhead
After the ad, there wasn’t enough margin left to pay the lease. The founder had been topping up the business from personal savings for 7 months.
What the audit turned up:
- Website was a Squarespace template with a single “Services” page listing 23 treatments in a wall of text.
- Google Business Profile had 11 reviews despite treating thousands of clients.
- Booking flow required filling a 9-field contact form, then waiting for a callback. 91% of site visitors dropped off at this step.
- SEO was effectively zero. The site ranked for its brand name and nothing else.
What we did
Phase 1 (weeks 1-4): Convert what you already have
The bleeding stopped first. Before driving new traffic, we fixed the site so existing traffic actually converted.
- Replaced the single services page with 23 treatment-specific landing pages, each with: before/after gallery, procedure details, pricing transparency, practitioner bios, FAQs, and a one-click booking widget.
- Integrated the existing booking system (Vagaro) directly into each page via API — no more contact forms, real-time availability.
- Added social proof blocks: Google reviews, Instagram feed, practitioner credentials.
- Mobile load time: 5.8s → 1.4s.
Phase 2 (weeks 3-10): Review engine
- Automated post-treatment review requests via SMS (72 hours after appointment).
- Added a review incentive (free follow-up consultation) that complies with FTC disclosure rules.
- Added a video review option — 1-click recording from their phone.
- Reviews went from 11 (lifetime) to 127 in 90 days.
Phase 3 (weeks 5-16): Local content engine
- Identified 47 high-intent local keywords with manageable competition (“botox near Brickell,” “lip filler Wynwood,” etc.).
- Published 34 neighborhood + treatment combination pages.
- Each page: 800-1,200 words, genuinely useful (pricing, what to expect, FAQs, real photos), NOT keyword-stuffed.
- Internal linking strategy connected treatments to neighborhoods and practitioners.
Phase 4 (week 12): Kill the ads
Once organic bookings exceeded the Meta-ad booking volume, we shut off paid ads entirely to test the organic engine standalone. Bookings continued to climb.
Results
Four months in, the business is unrecognizable economically:
- All six treatment chairs are now booked at >95% utilization during business hours.
- Wait list is 6 weeks for new client consultations.
- Meta ad spend: zero.
- Cost per acquired client: $102 (all from content production and SEO amortized).
- Monthly organic traffic: 22,000 sessions (up from 380 when we started).
- Monthly bookings: 244 (up from 78 at the start, and those 78 were costing $284 each).
What mattered most
The founder’s instinct had been “we need more ads” — because ads had always been the lever. But when CAC is broken, more spend makes the problem worse, not better.
The rebuild was about fixing the fundamentals everyone avoids because they’re tedious: one landing page per treatment, one per neighborhood, a booking flow that doesn’t require a phone tag loop, a review system that actually runs.
Nothing about this was innovative. It was just the work that needed doing.