Med spa lead response time: how to measure and fix it

Most practices have a strong opinion about how fast they respond to enquiries and no measurement to support it. This is a step-by-step method for producing a real number from data you already have — your phone system, your web forms, and your social inbox — using the median rather than the average, segmented by channel and hour of day. It is written so a practice that never buys anything from us can still run it in an afternoon and act on the result.

Why this metric is worth the afternoon

Response time is the one operational number in an aesthetics practice that is entirely within your control, cheap to measure, and directly upstream of revenue. You do not control whether someone wants a treatment. You do control whether you are the practice that replies first.

We are not going to give you an industry benchmark here, because we do not have an honest one and neither does anyone quoting you a percentage. The number that matters is yours, and the method below produces it. If your median turns out to be four minutes, this page has saved you a purchase. If it turns out to be nineteen hours, you now know something you can act on without buying anything at all.

  • It is a leading indicator. Booked consultations are a lagging number that moves for a dozen reasons. Response time moves for one reason, which makes it diagnosable.
  • It is comparable to itself over time. Measured the same way each month, it tells you whether a staffing change, a new phone system, or a new campaign made things better or worse.
  • It exposes channel blind spots. Almost every practice we audit has one channel with acceptable response and one that nobody owns. You cannot see that without segmenting.
  • It is the number to hold a vendor to. Including us. Measure before, measure after, same method.

Step 1: define the two timestamps

Before touching any data, write down two definitions and stick to them for the whole exercise. Most measurement attempts fail here, not in the arithmetic.

  • The arrival timestamp is when the enquiry first reached your practice — the moment the phone rang, the form was submitted, or the message landed. Not when someone noticed it. Not when it was entered into your system.
  • The first-response timestamp is when a human or system made a real attempt to reach that person back — a connected call, an answered call, a sent SMS, or a sent email. Define whether an unanswered outbound call counts as a response. Our recommendation is that it does not: an attempt the lead never experienced is not a response. Whatever you decide, apply it consistently.

Two further rules that prevent flattering results. An automated "thanks, we received your enquiry" auto-reply is not a first response unless it actually contains something the lead can act on, such as a booking link or an answer. And for calls that were answered live, the response interval is zero — those belong in the dataset, and excluding them is one of the easiest ways to accidentally produce a terrible-looking number.

Step 2: pull the raw data from each channel

You need at least the last full month, and ideally two, so you have enough weekends. Export each channel separately — merging them too early is how channel differences get hidden.

Channel Where the timestamps live What to export The usual trap
Inbound calls Your phone system or VoIP call detail records; call-tracking numbers if you run ads Timestamp, caller number, answered or missed, duration, ring time Missed calls are often on a separate report from answered ones. You need both in one list.
Outbound callbacks Same call log, filtered to outbound Timestamp, number dialled, connected or not, duration Matching a callback to the original missed call has to be done on the phone number, and a call under about fifteen seconds is usually a no-answer, not a conversation.
Website forms Your form tool, website platform notifications, or the receiving inbox Submission timestamp, name, phone, email, treatment field if you capture one Submission time may be recorded in a different time zone from your phone system. Normalise everything to your local clinic time before comparing.
SMS enquiries Your business texting platform or phone system message log Inbound message time, first outbound reply time Staff replying from a personal phone is invisible in the log. If that happens, you cannot measure this channel until it stops.
Instagram, Facebook, TikTok messages The platform inbox, or a social management tool if you use one Message received time, first reply time Read receipts are not replies. Also, comment-to-DM enquiries are frequently missed entirely because they never appear in the main inbox.
Booking platform enquiries Your practice management or booking system's lead or request queue Request created time, status change time Requests that sit in a queue nobody has been told to watch are the single most common finding in an audit.

Put all of it in one spreadsheet with a consistent shape: one row per enquiry, with columns for channel, arrival timestamp, first-response timestamp, and a notes field. Everything below operates on that sheet.

Step 3: strip out what is not a lead

This step decides whether your number is real. An uncleaned call log makes response time look worse than it is and missed-call counts look far larger than they are — which is exactly how some vendors prefer to present it.

  • Remove spam and robocalls. Repeat unknown numbers with sub-ten-second durations, and anything your team recognises as a sales call.
  • Remove existing-client operational traffic. Rescheduling, product questions, and confirmations are real work but they are not lead response. Tag them separately — the volume is useful to know.
  • Remove internal and supplier calls. Staff, distributors, landlords, and anyone with a number already in your address book.
  • Remove duplicates. If the same person called twice in twenty minutes, or filled the form and then called, that is one lead. Measure from the first arrival and match on phone number or email.
  • Keep hang-ups where the caller rang for more than a few seconds and never called back. Those are leads you lost. Excluding them because they are inconvenient is how a measurement becomes a comfort exercise.

Write down what percentage of raw volume you removed and why. That figure is worth as much as the response time itself, because it tells you how much of your phone traffic is not revenue-generating in the first place.

Step 4: compute the median, and why the mean lies

For every remaining row, compute the response interval in minutes: first-response timestamp minus arrival timestamp. Answered-live calls are zero. Then compute the median — the middle value when all intervals are sorted — and not the average.

Why the mean is the wrong statistic here

Response-time data is heavily skewed. Most enquiries are answered quickly, and a small number sit for a very long time — an enquiry that arrived Friday evening and got a reply Monday afternoon is roughly four thousand minutes on its own. A handful of rows like that drag the average into a number that describes nobody's actual experience. The median asks a more useful question: what happened to the typical lead? Report both if you like, but manage against the median. Then add the 90th percentile — sort your intervals and take the value nine-tenths of the way down — because that is where your worst experiences live, and it is usually the number that explains why a specific enquiry went cold.

Three numbers per channel is enough: median, 90th percentile, and the never-answered count from Step 6. Anything more is decoration.

Metric How to compute it What it tells you Failure mode if you skip it
Median first-response time Middle value of all response intervals, per channel The typical lead's actual experience You manage against an average that no lead ever lived through
90th percentile The value nine-tenths down the sorted list How bad your worst tenth is Your median looks fine while a tenth of leads wait overnight
Never-answered rate Enquiries with no first response, divided by total enquiries The leak nobody counts Fast response on the ones you did answer disguises the ones you did not
Business-hours median Median of rows arriving during your open hours Whether the front desk itself is the constraint After-hours delays hide a real daytime overflow problem
After-hours median Median of rows arriving outside open hours The cost of your coverage gap, stated in minutes You blame staff for a structural coverage problem
Removed-volume share Rows stripped in Step 3, divided by raw rows How much phone traffic is not a lead at all You size the problem off inflated missed-call totals

Step 5: segment by channel and hour of day

A single practice-wide median is close to useless for deciding what to do. Two cuts make it actionable, and both take a pivot table.

  • By channel. Compute the median separately for calls, forms, SMS, and social messages. Practices are rarely uniformly slow — they are usually fine on the phone and slow on one channel that has no clear owner. That channel is your cheapest fix, and it usually costs nothing but a decision about whose job it is.
  • By hour of arrival. Bucket every enquiry by the hour it arrived, in your local time, and chart two things on the same axis: how many enquiries arrive in each hour, and the median response time for that hour. The gap between those two curves is the whole argument.
  • By day of week. At minimum, separate weekdays from weekends. Sunday evening behaves differently from Tuesday morning and deserves its own row.
  • By source, if you can. If you run call tracking or tagged form fields, split paid traffic from organic. Slow response on paid leads costs twice — once for the lead, once for the click.

What you are looking for in the hour-of-day cut is whether your enquiry volume peaks after your phone coverage ends. Aesthetic treatments are researched in personal time — evenings, late nights, weekend mornings — and staffing curves rarely match that. We are deliberately not telling you what your evening share is, because we would be guessing about your practice. Chart it and you will know within ten minutes whether the evening peak is real for you, and how much of it is currently landing in voicemail.

Illustrative worked example — not a real client

A practice exports six weeks of data. Raw call volume is 640 calls; after cleaning, 214 are new enquiries. Median response for answered calls is zero minutes, because they were answered live. Median for missed calls is 16 hours, because callbacks happen the next morning. Web forms sit at 5 hours. Instagram messages sit at 31 hours, because no one owns that inbox. Segmenting by hour shows a second volume bump between 7pm and 10pm on weekdays with no coverage at all. The correct first action here is not to buy anything — it is to assign the Instagram inbox to a named person with a defined check schedule, which costs nothing, and then re-measure in a month before deciding whether the evening gap justifies spending money. These figures are invented to demonstrate the method and describe no actual practice.

Step 6: count the enquiries that were never answered at all

This is the step most practices skip, and it is usually where the real money is. Go back through your cleaned sheet and count rows with no first-response timestamp at all — a missed call never returned, a form fill nobody replied to, a DM that was read and forgotten.

These rows have no response time. They are not slow; they are absent, and averaging them away as if they were merely slow understates the problem. Report them as a separate count and a percentage of total enquiries. A practice with a two-minute median and a fifteen percent never-answered rate has a bigger problem than one with a two-hour median and no unanswered enquiries.

If you want to put a revenue figure on that count using your own consultation-to-treatment conversion and average case value, the missed-call calculator does that arithmetic with the formula shown on the page. Every input is yours; we do not supply an industry conversion rate, because we would be making it up.

How to read your own numbers

Once you have medians by channel and by hour, the shape of the result usually points at one of four different problems — and they have different fixes.

  • Low median, low 90th percentile, low never-answered rate. Your response is genuinely good. Your constraint is somewhere else — lead volume, consultation-to-treatment conversion, or provider capacity. Do not let anyone sell you a response-time product, ourselves included.
  • Low median, high 90th percentile. You are fine most of the time and fall over under load. This is an overflow problem, concentrated in specific hours. Look at whether the bad tail clusters around your busiest clinic hours.
  • Good on calls, bad on one other channel. An ownership problem, not a capacity problem. Assign the channel to a person, define a check cadence, re-measure. This fix is free and it is the one we recommend most often.
  • Fine during business hours, terrible outside them. A structural coverage gap. Staffing it is expensive, and this is the case where automated after-hours coverage does the most work — but only if your after-hours enquiry volume is large enough to matter, which you now know.

Fixing it, in order of cheapness

Work down this list. Do not skip to the bottom because the bottom is the part someone sells.

  • Give every channel a named owner. Most social and form delays are ownership failures, not capacity failures. Free.
  • Set an internal response standard and post it. A written target — say, all form fills answered within thirty minutes during opening hours — changes behaviour more than most software does. Free.
  • Route enquiry notifications somewhere someone actually looks. Forms landing in a shared inbox nobody has claimed is a configuration problem with a same-day fix.
  • Fix the phone tree before adding anything to it. Rings that take too long to reach a person, or menus that bury the booking option, add delay before any coverage question arises.
  • Extend coverage into your actual demand hours. Whether that means a rota change, an answering service, or automated intake depends on the volume you just measured and on how much of it needs a booking rather than a message.
  • Make first response also do something. A fast reply that ends in "someone will call you back" spends the speed advantage without converting it. That is the argument for a first response that can offer a real appointment slot, which is what the wider lead response system is built to do.
  • Then fix what happens after the first response. Speed only matters if the sequence behind it is defined; follow-up design and stop rules are the other half of this.

Re-measure monthly, using the same definitions. A number measured one way in March and another way in June is not a trend.

Questions practices ask

How much data do I need for the median to be meaningful?

A full month is the practical minimum, and two months is better because it gives you enough weekends and smooths out a single unusual week. If your enquiry volume is very low, extend the window rather than accepting a median computed from a handful of rows — and note that low volume is itself an important finding about whether response speed is your real constraint.

Should an automatic acknowledgement count as a first response?

Only if it does something for the lead — answers a question, offers a slot, or gives them a way to book. An auto-reply that confirms receipt and asks them to wait improves the metric without improving the experience, which is the fastest way to make this measurement useless. Decide the rule before you measure, not after you see the result.

Our phone system will not export call records. What now?

Log manually for two weeks. A shared sheet with arrival time, channel, and first-response time, filled in by whoever handles the enquiry, produces a usable median. It is less precise than an export and considerably better than an opinion. Most providers do have an export somewhere in the admin area, so it is worth asking support before falling back to manual.

Is faster always better?

Faster is better up to the point where the response stops being useful. A thirty-second reply that cannot answer anything or offer a time is worth less than a five-minute reply that books a consultation. Measure response time to find the gaps, then judge the fix on booked consultations rather than on the clock alone.

Can you run this measurement for us?

Yes, that is what the audit is — we work through your call records and form data and produce the cleaned numbers with you. But the method is on this page precisely so you can do it yourself, and plenty of practices do and never speak to us again. If your numbers come back healthy we will tell you not to buy anything.

Go deeper

Book a Free Speed-to-Lead Audit