
Klaviyo for Medspas — 7 Flows That Took One Practice From $8K to $28K/Month
In late 2025 I started working with a medspa in the Southwest US that was doing about $8,000 a month in attributed email revenue against $92,000 in total monthly revenue. Twelve weeks later, the same practice was running $28,000 a month from email, against $116,000 total. The list size barely moved. What changed was the flow architecture. Here are the seven Klaviyo flows we built, in the order we built them, with the triggers, sequences, and the subject lines that landed.
The starting point
When I came in, the practice had a 4,800-contact Klaviyo list, a 22% list-average open rate, a 1.8% click rate, and a single broadcast newsletter going out twice a month. There were zero automation flows. The owner thought “doing Klaviyo” meant sending campaigns. Most medspas I audit are in the same place.
The diagnostic was easy: 91% of the database had not been emailed with any behavioral trigger in the last 12 months. Every welcome email was the same generic “thanks for signing up” two-pack from 2022. Every patient who completed a treatment got nothing automatic after their thank-you SMS. Every $400 first-time injectable patient sat in the same segment as every $5 contest-entry lead. There was no list segmentation past “active” and “unsubscribed.”
The Klaviyo numbers we were starting from:
- Email revenue / mo: ~$8,000 (about 8.7% of total)
- List size: 4,800 contacts, 1,900 of them dormant (no engagement in 6+ months)
- Open rate: 22% list average
- Click rate: 1.8%
- Unsubscribe rate: 0.18% per campaign
- Active flows: 0
- Active segments (custom): 0
- Forms / capture surfaces: one popup with 60% bounce within 3 seconds
Twelve weeks later:
- Email revenue / mo: $28,000 (24% of total)
- List size: 5,100 contacts (modest organic growth)
- Open rate: 41% list average
- Click rate: 4.7%
- Unsubscribe rate: 0.21% (negligible move)
- Active flows: 7 (the ones in this post)
- Active segments: 14
- Flow revenue share: 71% of email total (the right ratio for retention-heavy email)
The point of putting this side by side is that the list size barely moved. The flows did the work. If you have a list of 5,000 to 10,000 medspa patients and you are doing under $15K a month in email, you almost certainly have the same problem this practice had: revenue is sitting in unbuilt automations, not in missing subscribers.
Flow 1 — The welcome series
Trigger: New profile created in Klaviyo (form submit, in-clinic capture, web form).
Length: 5 emails over 14 days.
Goal: First booking, or qualified intent (“downloaded the price guide,” “clicked book a consult”).
Most medspas have a welcome email. Most welcome emails are bad. The pattern I see is a generic “welcome to our beauty family” message that does not differentiate the practice, does not introduce the providers, does not give a reason to book this week vs next month. The welcome series is the highest-leverage flow in any medspa Klaviyo setup because it catches the prospect at peak intent (they just opted in) and either converts them inside 14 days or files them into the slower nurture.
The five-email structure I built for this practice:
- Email 1, T+5 minutes — “Glad you found me. Here’s what’s different.” Owner-first introduction (real photo, real bio, real years in practice). Three bullets on what differentiates this medspa from the nine others in the area. CTA: “Book your free 15-min consult.” Open rate: 64%. Click rate: 11%.
- Email 2, T+2 days — “Meet the people who’ll be touching your face.” All four injector bios with photos, credentials, areas of focus, signature treatments. CTA: “Book with the provider who fits.” Open rate: 48%. Click rate: 7%.
- Email 3, T+5 days — “The full treatment menu with starter pricing.” Categorized: injectables, facials, lasers, body. Every treatment has a “from $X” price (transparent pricing is a conversion edge in this market). CTA: “Book any treatment.” Open rate: 41%. Click rate: 9%.
- Email 4, T+9 days — “First-visit offer (just for you).” A specific time-bound offer for new patients only. We avoided dollar-discount on Botox and went with a free add-on (vitamin B12 shot, or a chemical peel upgrade) that protects margin. CTA: “Claim your first-visit upgrade.” Open rate: 37%. Click rate: 14% (best click rate of the series). Conversion: 8% of recipients booked inside 72 hours of this email.
- Email 5, T+14 days — “Curious about results? Here’s a before/after gallery.” Real photos from the practice (consent on file), grouped by treatment. CTA: “Book the treatment you’re curious about.” Open rate: 33%. Click rate: 6%.
Net welcome flow performance: 32% of new contacts book within 14 days. 18% book within 48 hours. The flow itself generates about $9,200 a month in attributed revenue at this practice’s current intake rate (roughly 320 new contacts a month after we cleaned up the lead-capture popups).
Flow 2 — The post-treatment rebook flow
⚡ 2-minute scorecard · instant result
Is your medspa marketing actually converting?
Answer 5 quick questions. Get your score + the top fixes — free.
1. Can patients book online 24/7 without calling?
2. Do you respond to new inquiries in under 5 minutes?
3. Do you run a membership or recurring-revenue program?
4. Are you retargeting site visitors with ads?
5. Are you generating fresh reviews every month?
Trigger: Appointment marked “completed” in Aesthetic Record (via GHL webhook → Klaviyo event).
Length: 4 emails spread across the treatment cycle.
Goal: Rebook the next visit on the right cycle (Botox: 90 days; filler: 9-12 months; facials: 30-45 days).
This is the single most valuable flow in any medspa email program. The math: a typical medspa has a 12 to 20% rebook rate at 90 days without flows. With a built-out post-treatment sequence, that climbs to 60 to 75%. On a practice doing 380 monthly appointments at a $200 average ticket, every percentage point of rebook rate is worth roughly $9,100 a year.
The structure:
- Email 1, T+4 hours — “Quick aftercare reminder.” Treatment-specific aftercare instructions, with provider photo and contact info for questions. No sell. CTA: “Reply with any concerns.” Open rate: 71%. This email earns trust.
- Email 2, T+48 hours — “How are you feeling?” Soft check-in. Includes a 1-10 satisfaction question link (this feeds the review request flow in Flow 6). CTA: “Rate your visit.” Open rate: 58%. Click rate: 22% on the rating link.
- Email 3, T+(cycle-30d) — “Time to plan your next visit.” Fired 30 days before the next expected visit (so 60 days after a Botox visit). Provider-specific calendar link, suggested time slot, “rebook in 2 clicks.” Open rate: 49%. Click rate: 13%. Conversion to booked appointment: 28% of recipients.
- Email 4, T+(cycle) — “We’re saving your spot.” Sent at the actual cycle date if they have not rebooked. Slightly more urgent tone. Includes the provider’s next available three slots inline. CTA: “Confirm your spot.” Open rate: 44%. Click rate: 11%. Conversion: 19% of recipients.
Combined rebook flow conversion at this practice: 67% of patients rebook within their treatment cycle (vs 18% baseline). This flow alone is responsible for roughly $11,000 a month in additional revenue.
Flow 3 — The birthday flow
Trigger: Date of birth field, 14 days before birthday.
Length: 3 emails.
Goal: Self-gifting visit during the birthday window.
Medspa patients self-gift on their birthday at a far higher rate than they do other treatment occasions. The data I have across the practices I work with shows birthday-attributed bookings convert at 3 to 5x the rate of any other promotional trigger.
The sequence:
- Email 1, T-14 days — “Your birthday week is coming. Here’s a gift.” A specific gift (free add-on, complimentary glow facial booking, or $100 in service credit) that requires a booking inside the birthday week. Open rate: 56%. Click rate: 17%.
- Email 2, T-3 days — “Last chance to use your birthday gift.” Reminder with the booking link. Open rate: 51%. Click rate: 14%.
- Email 3, T+7 days — “Hope you had a great birthday. Your gift is still good.” Sent only if they did not book. Extends the offer by one week. Open rate: 43%. Click rate: 9%.
Conversion: 23% of patients in the birthday window book a visit. The flow generates about $2,400 a month and runs entirely on autopilot once the DOB field is being captured on every new patient.
Flow 4 — The dormant reactivation flow
Trigger: No appointment in 90 days (Botox) / 60 days (facials) / 180 days (other).
Length: 4 emails over 21 days.
Goal: Reactivate the patient with a curiosity-driven (not discount-driven) message.
The win-back flow is the single best ROI flow in a mature medspa Klaviyo setup because the dormant list is already there, paid for, and warm. I covered the SMS layer of this in my no-show cost breakdown; the email layer compounds it.
- Email 1, T+0 — “It’s been a minute, [Name].” Personal-tone, single-question email: “Anything we should know? Did the last visit not land?” Reply-routed to the practice manager, not a no-reply address. Open rate: 38%. Reply rate: 4% (real feedback, gold for retention).
- Email 2, T+5 days — “Here’s something new since you were last here.” Feature a treatment they have not tried. Curiosity beats discount. Open rate: 32%. Click rate: 8%.
- Email 3, T+14 days — “Three patients I miss most this month: here’s why.” Owner-voice, vulnerable, no sell. Open rate: 41% (highest in the flow because of the personal tone). No direct CTA.
- Email 4, T+21 days — “A small reactivation offer if you want to come back.” A bounded offer (15% off the next visit, expires in 14 days). Open rate: 36%. Click rate: 11%. Conversion: 19% of recipients book within the offer window.
Across the dormant list at this practice (about 1,900 contacts at start), the flow reactivated 312 patients over the first 90 days, contributing about $4,800 a month in recovered revenue once steady-state.
Flow 5 — The membership upsell flow
Trigger: 2+ paid treatments in 90 days OR single ticket above $800.
Length: 3 emails plus a SMS.
Goal: Convert high-LTV patients to a membership program (RepeatMD in this case).
Members spend 44% more annually than non-members per RepeatMD’s own data, and the practice in this case study migrated to RepeatMD in week 5 of my engagement. The upsell flow is the conversion engine.
- Email 1 — “Here’s what your last 3 visits would have cost as a member.” Concrete math, line by line, showing dollar savings the patient would have actually realized had they been a member when those visits happened. This is the highest-converting email in the entire account: 62% open rate, 19% click rate.
- SMS, T+3 days — “Free product or $X off your next visit when you join this week.” Member-only offer SMS. Open rate (SMS): 94%. Click rate: 18%.
- Email 2, T+7 days — “Three members on what changed for them.” Mini case studies (with consent), each one a different treatment pattern. Open rate: 44%. Click rate: 11%.
- Email 3, T+14 days — “Last chance: join this month and get [bonus].” Final urgency, time-bound add-on. Open rate: 40%. Click rate: 9%.
Flow conversion: 31% of qualified patients convert to membership. Average membership LTV at this practice is now $3,400/yr against $1,900 for non-members. The flow generates about $5,100 a month in retainer-style recurring revenue.
One thing worth saying out loud here
If you are reading this and your medspa does not have a membership program, the flow above is the lever you build last, not first. The membership program itself has to exist before the email can convert into it. The 60-day build I run wires up the membership and the flow together in week 5 to 7. Full breakdown on the 60-day medspa automation build post.
Flow 6 — The review request flow
Trigger: Treatment completed + satisfaction reply >7/10 from Flow 2.
Length: 2 emails plus 1 SMS.
Goal: Convert satisfied patients into Google reviews (and Yelp/RealSelf where appropriate).
This is the smallest direct-revenue flow on the list but the biggest indirect-revenue flow because reviews drive local SEO, which drives inbound, which drives bookings. I cover the local SEO impact of this on the 30% lift case study in detail.
- SMS, T+0 — “Loved seeing you, [Name]. Would you share your experience? [link]” Sent first because SMS open rates are 90%+. Click rate: 36%. NiceJob smart-routes the click to whichever review platform is weakest (Google, Yelp, RealSelf).
- Email 1, T+3 days — “We’d love your honest feedback.” Sent only if no review yet. Open rate: 49%. Click rate: 22%. Conversion to posted review: 14% of recipients.
- Email 2, T+10 days — “One last ask: would you share your experience?” Final ask, ungated. Open rate: 38%. Click rate: 11%.
The flow lifted weekly review velocity at this practice from 0.4 reviews/week to 3.1/week (close to an 8x lift) within 60 days. Indirect revenue contribution via increased inbound: estimated $3,200/mo by month 4 once the SEO compounded.
Flow 7 — The product abandoned-cart flow
Trigger: Shopify cart abandonment (the practice sells skincare retail through a Shopify storefront).
Length: 3 emails over 7 days.
Goal: Recover retail revenue and use product purchases as a re-engagement signal for treatment booking.
Most medspas have a retail side they treat as an afterthought. Skincare retail is 15 to 25% of revenue at most well-run practices and Klaviyo’s native Shopify integration makes the cart-recovery flow trivial to build.
- Email 1, T+1 hour — “You left [product] in your cart.” Standard recovery with product image, one-click checkout. Open rate: 51%. Click rate: 16%. Recovery: 11% of carts.
- Email 2, T+24 hours — “Still thinking about [product]?” Adds a 10% off product code valid 48 hours. Open rate: 38%. Recovery: 8%.
- Email 3, T+7 days — “What goes with [product]: pairing recommendations.” Cross-sell rather than retry. Open rate: 31%. Click rate: 7%.
Recovered retail revenue: about $1,400 a month at this practice. Smaller than the treatment-side flows but pure margin on retail product.
The 90-day rollout sequence I used
I did not build all seven flows simultaneously. The order matters because some flows depend on others (Flow 6 review requests depends on the Flow 2 satisfaction signal), and because each flow needs 2 to 3 weeks of live data before tuning. Here is the exact order I rolled them out at this practice:
- Week 1: Welcome series live. Lead capture forms rebuilt (3 surfaces: homepage exit-intent, sticky footer bar, post-blog scroll-trigger).
- Week 2: Post-treatment flow live. AR → GHL → Klaviyo event pipeline tested with dummy bookings.
- Week 3: Birthday flow live. Dormant reactivation flow built and queued.
- Week 4: Dormant reactivation launches against the existing dormant list. Review flow built.
- Week 5: Review flow live (depends on Flow 2 satisfaction data, which needed 2 weeks of inbound).
- Week 6: RepeatMD launched as the membership program. Membership upsell flow live.
- Week 7: Shopify retail abandoned-cart flow live.
- Week 8-12: Optimization. Subject-line A/B testing across all flows. List segmentation deepened (added 14 custom segments by week 12).
The revenue curve was not linear. Email revenue moved from $8K/mo to $13K/mo in the first 30 days (welcome flow + post-treatment carrying most of it), to $19K in days 31-60 (dormant reactivation and birthday compounded in), to $28K in days 61-90 (membership upsell and full segment maturity).
The segmentation layer I built underneath the flows
Flows are only as good as the segments they fire against. The 14 segments I built into this account, in order of value:
- VIP — $2,000+ lifetime spend (about 8% of list, 41% of revenue)
- Active patients — booked in last 90 days
- Cooling — last booking 91-180 days ago (the highest-leverage reactivation target)
- Dormant — last booking 181+ days ago
- Never-booked subscribers — capture-list only
- Injectables-focused — Botox or filler in last 12 months
- Facials-focused — facial treatments without injectables
- Body treatments — CoolSculpting, EmSculpt, etc.
- Bridal — flagged via form or in-clinic intake
- Members — active RepeatMD members
- Members-lapsed — cancelled or expired members
- Retail buyers — bought product in last 90 days
- High-engagement non-buyers — opens 3+, never booked
- Suppression: do-not-email — opted out or hard-bounced
Every flow checks segment membership at trigger time and customizes the content. The welcome flow’s email 3 (treatment menu) shows different treatments based on the form path the contact came through. Email 4’s first-visit offer is different for high-intent (priced page bounce) vs low-intent (blog reader) captures.
The HIPAA + compliance notes you cannot skip
Three things I lock down on every medspa Klaviyo build:
First, no PHI in subject lines. Ever. A subject line saying “Time for your Botox touch-up, Sarah” might feel personal but it exposes a treatment status to anyone glancing at Sarah’s phone. The pattern I use: “Your follow-up visit is coming up” with the specific treatment surfaced only inside the email body, after the patient has clicked through.
Second, BAA with Klaviyo on the enterprise tier if you are storing anything that could be PHI. Better pattern: do not store PHI in Klaviyo at all. Keep clinical data in Aesthetic Record. Klaviyo only knows “interested in injectables,” not “received 30 units of Botox on March 14.”
Third, consent. Every contact in Klaviyo must have opted in. The new-patient intake form must have a clear marketing opt-in checkbox separate from the treatment consent. State-board rules and email-platform deliverability both reward this.
The cost to run this
Klaviyo at this practice’s contact volume runs about $150 a month. The integration layer (GHL webhooks, AR sync) was a one-time setup. My implementation fee for the full Sprout Sage build is $7,500 flat, which includes all seven flows, the segmentation, the form rebuild, and 30 days of post-launch tuning. The monthly management retainer ($1,997/mo) covers ongoing campaign work, A/B testing, and quarterly flow updates.
For a practice doing $80K to $150K a month, the lift this generates pays the build back inside the first 60 days. The recurring software cost ($150/mo Klaviyo) is rounding error against the $20K monthly revenue uplift.
The next 90 days I would build at this practice
The seven flows above are what I consider table stakes. The next layer I would build, if I were starting from here today:
- Pre-treatment prep flow — fires when the appointment is booked, includes prep instructions specific to the treatment, reduces day-of complications and no-shows
- Seasonal campaign automation — pre-summer body, post-summer skin recovery, holiday gifting, NYE refresh; campaigns rather than flows, but on a scheduled calendar
- Referral flow — triggered by a happy-patient signal (Flow 6 review submitted), invites them to refer a friend with a paired offer
- Pricing-page-bounce flow — fires when a contact visits the pricing page 2+ times without booking, sends a personalized offer plus a “questions?” reply prompt
- Educational nurture for high-intent non-bookers — for the segment that opens everything but never books; long-form content on safety, what to expect, how to choose a provider
Each of those adds another 5 to 15% on top of what the first seven do. The full email program at a mature medspa should be running 30 to 40% of total revenue. The case study practice is currently at 24% and climbing.
FAQ
Why Klaviyo for a medspa instead of Mailchimp or ActiveCampaign?
Klaviyo’s segmentation, predictive analytics, and flow library are years ahead of Mailchimp for any business with a real customer database, and the integrations into Aesthetic Record, GoHighLevel, and Shopify (for retail product upsells) are first-party. ActiveCampaign has stronger CRM logic but weaker email design and slower segment refresh. For a single-location medspa I default to Klaviyo every time.
Is Klaviyo HIPAA-compliant for a medspa?
Klaviyo will sign a BAA on enterprise tiers, but the safer pattern is to keep PHI out of Klaviyo entirely. I segment patients by treatment category, lifecycle stage, and spend tier, never by specific medical history or chart data. Aesthetic Record stays the system of record for anything clinical.
How long until Klaviyo flows start producing revenue at a medspa?
Welcome and abandoned-browse flows produce revenue inside week one. Post-treatment and rebook flows produce inside the first treatment cycle. The case study moved from $8K to $28K in 12 weeks with all seven flows live by week three.
What is the average email revenue contribution at a medspa?
Email should run 20 to 35% of a medspa’s total revenue at maturity. Most medspas I audit are sitting at 2 to 8% because they treat email as a monthly newsletter blast.
How much does Klaviyo cost for a typical medspa?
Under 5,000 contacts: $45 to $75 a month. 5,000 to 15,000 contacts: $100 to $250 a month. Above 15,000: pricing scales with sends, typically $300 to $700 a month.
What is the most important Klaviyo flow for a medspa?
The post-treatment rebook flow. Without it, rebook rates sit at 12 to 20%. With it, they climb to 60 to 75%. On a 380-appointment-per-month practice, every percentage point is worth roughly $9,100 a year.
How often should a medspa email its list?
Flows fire automatically based on patient behavior. Broadcast emails: 2 to 4 a month. Less than that and your list goes cold. More than 6 a month and unsubscribe rates climb past the 0.4% threshold where Gmail’s deliverability filters punish you.
What is the right welcome flow length for a medspa?
Five emails over 14 days. The case study runs a 32% conversion rate from welcome flow to first booking, with 18% of those bookings happening in the first 48 hours.
Should I send before/after photos in Klaviyo?
Yes if you have written consent from every patient pictured and you avoid identifying details. Before/afters are the single highest-engagement content in medspa email, with click-through rates two to three times the list average.
What is the biggest mistake medspas make in Klaviyo?
Sending the same generic newsletter to every contact regardless of treatment history, spend, or lifecycle stage. The next biggest mistake: ignoring deliverability hygiene (sunset old contacts, monitor bounce rate, watch spam-complaint rate).
How do I integrate Klaviyo with Aesthetic Record?
Either through Zapier or, on the GoHighLevel-routed setup I install, through GHL webhooks that mirror AR events into Klaviyo. The full integration takes 3 to 5 hours to configure plus 4 to 6 hours of testing.
Can AI write my Klaviyo emails?
Use it for first drafts and subject-line variants, not finished copy. The lift from AI is in the speed-to-test cycle, not in the copy itself.
Want this built at your medspa?
I take 5 medspa engagements at a time. The 60-day build I run installs all seven of these flows plus the AI voice agent, the no-show recovery sequence, the review automation, and the membership upsell layer. Implementation is $7,500 flat, ongoing is $1,997/mo (3-month minimum). You own the Klaviyo account, the list, and every flow.
Book a free 30-min call → or reach me at +91 97297 12388 or WhatsApp.
Frequently asked questions
Why Klaviyo for a medspa instead of Mailchimp or ActiveCampaign?
Is Klaviyo HIPAA-compliant for a medspa?
How long until Klaviyo flows start producing revenue at a medspa?
What is the average email revenue contribution at a medspa?
How much does Klaviyo cost for a typical medspa?
What is the most important Klaviyo flow for a medspa?
How often should a medspa email its list?
What is the right welcome flow length for a medspa?
Should I send before/after photos in Klaviyo?
What is the biggest mistake medspas make in Klaviyo?
How do I integrate Klaviyo with Aesthetic Record?
Can AI write my Klaviyo emails?
Want me to do this for you?
Book a free 30-min strategy call. I’ll review your site live and ship 3 specific fixes you can use this week. No pitch.


