Skip to main content
Guide

The Med Spa Monday Report: Five Questions to Ask

A five-question Monday routine for med spa marketing reports: consults by channel and cost, treatment pages, funnel drop-off, weekly change, tracking health.

10 min read

Your med spa marketing report should be five questions, answered every Monday from your own booking data, in less time than the spreadsheet it replaces. Most med spa ads reporting fails because it answers what the platforms want to talk about (impressions, reach, clicks, video views) instead of what the owner needs to know: who booked a consult, from where, and at what cost. This is the routine we would run at any spa with more than one treatment line and more than one ad channel. It works with a dashboard and a notebook, and faster with Curve, because Curve Analyst lets you type each question in plain language and get a chart back from the spa's own data, under a BAA, without exporting anything first.

TL;DR

  • Ask the same five questions every Monday: consults by channel and cost, treatment page traffic and booking rate, where the funnel lost people, what changed and why, and whether tracking still works.
  • Count consults, not leads or clicks.
  • Treatment pages are your real campaigns. Injectables, laser, body contouring, and skin treatments each have their own season and their own booking rate.
  • Compare every number to the prior week before you react. Seasonality and promotions move med spa demand more than most bid changes do.
  • Question five is the one everyone skips. If conversions stopped reaching Google or Meta, every other line on the report is wrong.
  • Curve Analyst answers all five from your account's data with charts, and says so when a number is stale, empty, or still syncing.

What the Monday spreadsheet gets wrong

The spreadsheet adds Google's reported conversions to Meta's reported conversions and arrives at more consults than the front desk saw. Each platform credits itself for anyone it touched, inside its own attribution window, so the person who clicked a Meta ad on Wednesday and searched your name on Friday shows up twice.

Curve reports one set of attributed conversions, credited by its own attribution engine with the model you chose, and pulls spend, clicks, and impressions from the platforms directly. When Analyst quotes a number it says whether it is Curve's attributed figure or the platform's own, because the two will not match and pretending otherwise is how spreadsheets lie. For how Curve handles spa tracking, see the med spa solutions page.

Which channel and campaign booked the most consults last week, and at what cost?

A med spa sells consults first and treatments second, so the top of the report is consults booked, split by the channel and campaign that produced them, next to what you paid. Consults, not clicks, and not "leads", which at most spas means anyone who filled out anything.

The spread is the problem. A Google search campaign for lip filler, a Meta campaign for a laser hair removal promotion, and a referral program will book consults at very different costs, and a blended average hides the one losing money. With two locations or several injectors, the split also has to hold at the location or provider level.

How to ask it

Pull last week's consult requests grouped by channel and campaign, put spend for the same period beside them, and compute cost per consult. In Curve this lives in campaign reporting, where platform spend sits next to Curve-attributed conversions. Ask Analyst and you get a ranked table.

What a good answer looks like

A short ranked list where the top few rows account for most of the consults, cost per consult sits near last week's, and nothing is spending with zero consults attached. If a campaign spent and booked nothing, the answer should say zero, not leave a blank cell. Analyst treats unknown and zero as different things: zero consults is a campaign problem, unknown consults is a tracking problem, and unknown sends you to question five.

What to do with it

Shift budget toward the channel that books consults cheapest, but only after checking that those consults showed up and converted to treatment. A cheap consult that no-shows is not cheap. For choosing which platform gets the next dollar, the method in finding your best performing ad channel across platforms applies directly to a spa.

Which treatment pages pulled the most traffic, and did that traffic book?

Treatment pages are the real campaigns at a med spa. Your ads point at a page for injectables or laser or body contouring, and that page either sends people into the booking step or it does not. The report shows both halves: how many people reached each treatment page, and what share of them requested a consult.

Demand at a spa is seasonal by treatment line. Laser and body contouring interest tends to climb before summer, injectables run steadier with spikes around events, and skin treatments follow their own pattern. A page that looks weak one month is the busiest the next, so you need traffic and booking rate per page, per week, or you will cut the wrong campaign.

How to ask it

Ask for top pages by sessions for last week, limited to treatment pages, and for each page the rate at which visitors who landed there fired the consult goal. Analyst combines website analytics and goals into one table when you ask for pages and booking rate together.

What a good answer looks like

A table of treatment pages with sessions and booking rate side by side, and two kinds of outlier flagged. High traffic with a low rate usually means ad traffic landing on the wrong page or a booking button that disappears on mobile. Low traffic with a high rate means an underfunded page.

What to do with it

Tie every page to the campaign feeding it. If your Meta laser campaign lands on the general treatments page instead of the laser page, fix the destination URL before you touch creative. If a page books well from organic and gets no paid traffic, that is your next campaign.

Where did people drop between landing page and booking?

Between the landing page and a confirmed consult, a med spa funnel has more steps than the owner thinks: landing page, treatment page, booking widget, location or provider choice, time selection, contact details, confirmation. The report names the step that lost the most last week and how that compares to the week before.

Spas have a particular weak point here. The booking widget is often embedded from a scheduling vendor, sometimes on a different domain, and that handoff is where people abandon and where tracking breaks. Multiple locations add a picker step. Provider choice adds another.

How to ask it

Configure the steps as a funnel in Curve once, then ask Analyst for step by step losses for last week. It renders funnels as step charts. Ask it to split by device if you suspect the widget, since mobile and desktop rarely fail the same way.

What a good answer looks like

One clearly largest drop, a prior week figure for that same step, and a device split. If the drop is new, something changed on the page or in the widget. If it has been the largest drop for a month, it is the design of that step. The consult funnel walkthrough was written for telehealth, and the diagnostic logic carries over to a spa booking flow unchanged.

What to do with it

Fix one step per week. Open session replay in Curve and watch a handful of sessions that stalled at that step. Analyst does not see recordings or heatmaps, so this part is on you, but it tells you which step to watch.

What changed versus the week before, and why?

A number without a comparison is trivia. Every line on the report gets a prior week figure beside it, and the report says why the difference exists or admits it does not know yet.

Med spa numbers move for reasons that have nothing to do with ads. A filler promotion, a long weekend, a new injector starting, a competitor opening across the street: any of these shifts consults more than a bid adjustment. With more than one location, one location's bad week hides inside a healthy combined total, so run the comparison at the same grain as question one.

How to ask it

Ask for a period comparison on goals and campaign metrics. Analyst keeps whatever date range and filters were on the screen you opened it from, so set last week, ask "compared to the week before", and the comparison comes back in the same shape. Then ask for the trend over the past several weeks as a line chart, so you can tell a blip from a direction.

What a good answer looks like

For each change bigger than your normal weekly wobble, one sentence of cause you could defend to the owner. "Laser consults rose because the summer campaign launched Tuesday." "We do not know yet" is an acceptable answer for one week. It is not acceptable for three.

What to do with it

Write the cause next to the number, every week, in the same place. After a few months you have a record of what actually moved consults at your spa, and that record is worth more than any benchmark a vendor tries to sell you.

Is the tracking still working?

If conversions stopped reaching Google and Meta, the platforms are optimizing on nothing, your cost per consult is fiction, and nobody finds out until the month closes. This question goes on the report every week.

Med spas have a specific exposure here. Meta's health and wellness restrictions mean many spa accounts cannot rely on the browser pixel alone for treatment related events, which is why spas end up with server-side tracking in the first place. That is the right setup, but it adds a hop, and a hop can break quietly when the site is redesigned, the booking widget vendor pushes an update, or the consent banner changes, and spas do all of those often.

How to ask it

Curve's reconciliation view puts what Curve sent to Google or Meta next to what each platform credited. Ask Analyst for last week's sent versus credited, by platform. A gap between the two is usually the platform's attribution window still being open, not conversions going missing. What you are looking for is a week where sent falls to zero or drops sharply while traffic held steady.

What a good answer looks like

Sent counts roughly in line with the consult counts from question one, credited counts trailing but rising as windows close, and nothing sitting at zero that was not zero last week. Analyst says before the number if the data is still syncing or partial.

What to do with it

If sent dropped, fix that before you change any budget. Nothing in questions one through four can be trusted until conversions are flowing again.

What to ask Curve Analyst

Analyst sits inside the Curve dashboard. You type a question, it queries your account's data, and it answers with text and a rendered chart. These three prompts cover the first three questions on the Monday report. The launch announcement covers the full set of what it can and cannot do.

  • Show me last week's consult requests by channel and campaign, with spend and cost per consult.
  • Which treatment pages had the most sessions last week, and what was the booking rate for each?
  • Which step of the consult booking funnel lost the most people last week?

Frequently asked questions

Does a med spa need a BAA for a reporting tool?

Whether a particular med spa is a covered entity under HIPAA depends on the services it provides and how it bills, and that is a question for your counsel. What is not in doubt is that a vendor handling health data on a covered entity's behalf is a business associate that needs a BAA. Curve signs a BAA with every customer on every plan, and Analyst runs on Claude through Amazon Bedrock inside infrastructure covered by Curve's BAA with AWS.

Can Analyst tell me which patient booked from which ad?

No. Analyst answers in aggregates and will not look up individuals or answer person level questions. It is also read only: it cannot change tracking, edit destinations, or take any action in the account. We built it that way on purpose. It also does not yet answer questions about tracking configuration or connector health; that is planned.

Could I paste my exports into ChatGPT and ask the same questions?

You could, and for a spa handling health data you should not, at least on a consumer plan. Consumer ChatGPT and consumer Claude.ai are not covered by a BAA, and consumer ChatGPT may use conversations for training unless you opt out. OpenAI and Anthropic offer BAAs for certain API and enterprise arrangements; confirm current terms with the vendor. You would also be exporting data by hand every week, which is the chore this routine is meant to end. What is Curve Analyst goes deeper on where the data stays.

Does this replace my agency's monthly report?

It replaces the assembly work: pulling exports, matching columns, reconciling platform totals. It does not replace judgment about what to run next, and it does not see session recordings or heatmaps, so the qualitative part of the review is still a person's job. A good agency will happily trade the spreadsheet hour for the "why" column.

If you would rather see the five questions answered from a real account than read about them, book a demo of Curve and bring last week's spreadsheet. We will run the same questions in Analyst next to it.

Stay Compliant. Scale Confidently.

Join healthcare innovators who trust Curve for HIPAA-compliant ad tracking.Launch in hours, not months. Your growth stack, now HIPAA-safe.

Book a free tracking audit