How to Structure a GoHighLevel Pipeline for a Med Spa

October 14, 2026
•
Reach out to Nexamed and we will see how we can help
Need Help Marketing?
Software that medical practices need to have

A GoHighLevel pipeline for a med spa should show what actually happened with every lead, from the first inquiry to a paid treatment, and each stage should trigger the next step automatically. For most med spas that means nine stages: New Lead / Contacted, Qualified, Consultation Booked, No Show, Consultation Showed, Treatment Recommended, Closed Won, Dead and Long-Term Nurture.

The most common mistake I see is a pipeline built around staff activity instead of patient progress. Stages like Attempt 1, Attempt 2, Follow-Up and Follow-Up Again look organized for a few weeks. Then the front desk stops moving cards, automations fire at the wrong time, and patients who already booked keep getting texts asking if they want to book. A few months later the owner opens GoHighLevel, sees hundreds of opportunities and can't tell which ones became patients.

Below is the structure we use at NexaMed, what each stage means, what should happen when someone enters it, and how to read the pipeline to find where you're losing revenue.

‍

The Med Spa Pipeline Stages at a Glance

  1. New Lead / Contacted: a form, call or booking request came in. It becomes Contacted once a real two-way conversation starts.
  2. Qualified: the person is interested, close enough to come in, understands the general price range and is a realistic candidate for a consult.
  3. Consultation Booked: they scheduled, and may have paid a deposit or consultation fee.
  4. No Show / Needs Reschedule: they missed or cancelled and need to rebook.
  5. Consultation Showed: they attended the consult.
  6. Treatment Recommended / Decision Pending: they got a recommendation and haven't decided yet.
  7. Closed Won: they paid, put down a deposit, bought a package or joined a membership.
  8. Dead / Unresponsive: active follow-up is finished and they never engaged.
  9. Long-Term Nurture: they didn't buy now but stay on a slower reactivation track.

You don't have to use these exact names, and some practices need fewer stages. The test for any stage is simple: if moving someone into it doesn't change what your staff does, which automation runs or what you report on, you probably don't need it.

‍

What a GoHighLevel Pipeline Is Actually For

A pipeline connects your marketing to what happens inside the practice. Someone sees an ad, becomes a lead, talks to your team, books, shows up and either buys or doesn't. GoHighLevel tracks each of those steps, and each change can trigger the next action: a booking stops the lead follow-up, a no-show starts a rebooking sequence, and a purchase moves the patient from acquisition messages to retention.

It helps to know how GoHighLevel separates the pieces. The contact is the person. The opportunity is the potential sale attached to that person, and it sits in one pipeline stage at a time. Every opportunity also has a status (Open, Won, Lost or Abandoned) that's separate from its stage.

Use both. The stage tells you where someone is in the journey, and the status is what GoHighLevel's opportunity reporting counts for won revenue, lost deals and lost reasons. If your team drags a card into a Closed Won column but never changes the status to Won, your dashboards will undercount revenue.

‍

Stage 1: New Lead / Contacted

  • Move here when: a form, call, chat or booking request comes in. Mark it Contacted once the person actually responds.
  • What happens next: the contact and opportunity are created automatically, an instant text goes out, the front desk is notified and follow-up begins.

For most of our clients, the journey starts with a Google or Meta ad that sends someone to a landing page built for one specific treatment. We use dedicated landing pages instead of relying on native lead forms. Meta lead forms in particular make it so easy to submit your information that you can end up with a lot of cheap leads who barely remember filling anything out. A page we control lets us match the exact treatment someone clicked on, answer the obvious questions and still make it easy to get in touch.

Phone calls need the same tracking as forms. If someone calls from an ad, the practice should know the call happened, the front desk should know where it came from, and over time you should be able to see whether those calls turn into appointments. Twelve calls from a campaign with zero bookings tells you something, but only if you're tracking them.

When a form or call reaches GoHighLevel, the contact and opportunity should be created automatically, with the lead source, campaign and GCLID saved to custom fields. Those fields are what make it possible to report revenue by campaign later and send conversions back to Google Ads. From there your speed-to-lead process starts: an immediate text confirming the practice got the inquiry, a notification to the front desk and follow-up if the person doesn't reply.

Automation should help your team, not replace it

That first layer of automation exists so nobody loses a lead while the front desk is busy. It shouldn't take over the sale, especially for expensive treatments. If you're selling an $800, $1,500, $3,000 or $5,000 elective procedure, people want to know whether it's right for them, what recovery looks like, what it really costs, whether it hurts, what results are realistic and how experienced the provider is. Most of them want that conversation with a person, not an AI agent.

Use automation to make your team faster and more consistent, and keep a human in the conversation for anything high-ticket. We go deeper on this in why AI everywhere is dangerous for healthcare practices.

‍

What counts as “Contacted”?

Define this with your front desk before you build anything. Calling once and leaving a voicemail isn't contact. A lead is Contacted when a real two-way conversation has started: they answered the phone, replied to a text or emailed back.

That definition is what lets the pipeline show where leads get stuck. If 100 leads come in and only 25 reach Contacted, the problem is speed or persistence. Calls aren't happening fast enough, there aren't enough attempts or nobody is answering the phone. If 80 are contacted and only 10 book, your team is reaching people and something in the conversation isn't working, whether that's pricing, the offer, how calls are handled or an ad that set the wrong expectation.

Without a clear definition, both situations look like “the leads aren't converting,” which doesn't tell you what to fix. We cover this in more detail in why your medical leads aren't turning into patients.

‍

How long should you follow up with a new lead?

Longer than most practices do. We're comfortable running two-, three- or four-week sequences when the treatment justifies it. That doesn't mean texting someone twice a day. It means a message every few days with something useful: an answer to a common question, a reminder of how to book, an opening on the schedule or an offer to talk with someone on the team.

The sequence should stop the moment they reply, book or opt out. In GoHighLevel, turn on Stop on Response in the workflow settings so a reply ends the automated messages, and have your booking workflow remove them from the nurture sequence when they schedule. Make sure your forms collect SMS consent and that STOP replies are honored automatically. Our guide to SMS marketing for healthcare practices covers the messaging side.

‍

Your front desk should be just as persistent. You paid for the click, the landing page and the form fill, so it's worth real effort to turn that lead into a patient. There's only so far you can push cost per lead down. The bigger gains usually come from getting more out of the leads you've already paid for.

‍

Stage 2: Qualified

  • Move here when: your team has confirmed the person is a realistic candidate for a consultation, using a written definition.
  • What happens next: the focus shifts to getting a consult on the calendar.

Once your team is talking to someone, the question becomes whether this is a real opportunity. The details change by clinic and treatment, but for most med spas qualification comes down to five things:

  • Interest: they actually want the treatment, not just a price quote.
  • Location: they're close enough to come in.
  • Budget: they understand the general price range. Someone expecting a $200 facial and someone considering a $3,000 laser package are making very different decisions.
  • Timing and downtime: the schedule works for the treatment. If they leave for vacation in ten days or have a wedding next week, a procedure that causes swelling or peeling may not fit.
  • Treatment fit: what they want is something your service actually delivers.

Your team isn't diagnosing anyone over the phone, but they should know enough about the person's goals to decide whether a consult makes sense. Save those answers in custom fields so the provider can see them before the appointment.

The most important part is consistency. Write down what Qualified means for your clinic, for example: “Confirmed interest in the treatment, within our service area, understands general pricing and is a realistic candidate for a consultation.” If one person marks anyone who replies as Qualified and another waits until pricing and scheduling have been discussed, your reporting won't mean anything.

‍

Stage 3: Consultation Booked

  • Move here when: they schedule a consultation. Ideally the booking itself, in GoHighLevel's calendar or your EHR, moves the opportunity automatically.
  • What happens next: lead nurture stops, confirmation and reminder messages start, and the booking can be sent to Google Ads as an offline conversion.

A booking is a much stronger signal than a form fill. Someone who completes your intake, picks a time and maybe pays a consultation fee or deposit is far more serious than someone who filled out a form while scrolling Instagram, and your communication should change to match.

First, stop asking them to book. It sounds obvious, but poorly built automations keep sending “still interested?” texts to people who already scheduled. Then switch to messages that help them show up: a confirmation, reminders, directions and parking, prep instructions, intake forms and provider information. A little more personalization goes a long way here, because the goal now is for them to feel good about choosing your practice before they walk in.

{{There should be an image here of the Consultation Booked workflow in GoHighLevel: appointment booked trigger, remove from lead nurture, move opportunity to Consultation Booked, reminder sequence and the offline conversion step to Google Ads (your existing offline conversion setup graphic fits here)}}

This stage also matters for your ads. Google knows someone filled out a form, but GoHighLevel knows they actually booked. With the right setup, moving an opportunity into Consultation Booked sends that booking to Google Ads as an offline conversion matched on the GCLID, so campaigns are judged on appointments instead of form fills. Only send what Google needs to match the conversion, never treatment details or anything else that counts as protected health information, which is one reason to set up GoHighLevel for HIPAA first. We walk through the full build in How to Send GoHighLevel Conversions Back to Google Ads.

That's what lets your reporting go from “50 leads” to “50 leads, 18 booked consultations, 12 shows and 5 new patients,” which is a much better basis for deciding where to spend.

Custom med spa automation workflow inside GHL. This flow, built by nexamed marketing, shows how we are able to manage patients in depth all automated

Stage 4: No Show / Needs Reschedule

  • Move here when: the appointment is marked no-show or cancelled, either in GoHighLevel's calendar or synced from your EHR.
  • What happens next: a rebooking sequence starts, and it stops as soon as they reply.

A no-show shouldn't disappear from the pipeline. It just means the next step changed. For one of our healthcare clients, the No Show stage triggers its own rebooking workflow: the system waits a bit, sends a short message with a link to reschedule, waits again and follows up later if they still haven't booked. If they reply at any point, the automation stops and a staff member takes over.

Giving no-shows their own stage also tells you how many missed appointments you actually recover, which most practices have no idea about.

‍

Stage 5: Consultation Showed

  • Move here when: they attend the consultation.
  • What happens next: the outcome gets recorded, and they move to Treatment Recommended, Closed Won or Long-Term Nurture.

Separating booked from showed is how you tell a show-rate problem apart from a sales problem. If 40 people book and only 12 show, I wouldn't start by changing the ads. I'd look at reminders, confirmations, deposits, appointment timing and the expectations set before the visit.

If 40 book, 35 show and only 3 buy, that's a different problem. Now I want to look at the consultation itself: how pricing is presented, whether financing is offered, how confidently providers recommend the treatment and whether the ad promised something different from what was explained in the office.

‍

Stage 6: Treatment Recommended / Decision Pending

  • Move here when: they've had the consult, received a recommendation and haven't decided yet.
  • What happens next: follow-up that addresses whatever is holding them back.

Not every practice needs this stage. If you mostly sell lower-ticket injectables, people often go straight from consult to purchase. For bigger procedures it's worth having, because someone who attended a consult and wants time to think is in a very different place than someone who filled out a form and disappeared. They might want to talk to their spouse, need financing, be comparing providers or be worried about downtime.

Ask why they're waiting and save the answer in a custom field, such as financing, downtime, comparing providers or checking their schedule. Then send follow-up that answers that specific reason with financing options, recovery details, realistic before-and-after expectations or answers to common questions, instead of a generic “just checking in” text.

‍

Stage 7: Closed Won

  • Move here when: something concrete happened. They paid, put down a deposit, bought a package or joined a membership.
  • What happens next: the status is set to Won with the real dollar value, acquisition messages stop and retention starts.

Don't mark someone Closed Won because the provider thinks they'll probably go ahead. The stage should reflect an actual transaction, and the opportunity value should be the real amount so GoHighLevel's revenue reporting is accurate.

Once someone becomes a patient, the goal shifts from getting them in the door to keeping them. That can mean reminders for their next treatment, review requests, memberships, relevant add-on treatments and reactivation down the line.

Aidan DePaul, our paid media partner, and I talk about this a lot. You can spend forever trying to cut a few more dollars off your cost per lead, but there's a floor. There's usually far more room in what a patient is worth. A patient who costs $40 to acquire and spends $3,000 to $5,000 with you over time matters a lot more than getting your cost per lead from $40 down to $35. We cover this in patient segmentation and lifetime value.

Stage 8: Dead / Unresponsive

  • Move here when: your team has made reasonable attempts by phone and text and the person never engaged.
  • What happens next: active sales follow-up ends, and the status is set to Lost with a lost reason.

Keep these people separate from someone who said no or asked you to follow up after the holidays, because those situations need different handling. Recording a lost reason (no response, not interested, chose another provider, price or timing) lets GoHighLevel show you why opportunities are lost, which is often more useful than the win rate itself.

You can also use the Stale Opportunities trigger to flag or move opportunities that have sat in an early stage too long, so old leads don't clog the board. Dead doesn't mean deleted, though.

‍

Stage 9: Long-Term Nurture

  • Move here when: someone said “not right now,” or a dead lead has been quiet long enough to try again.
  • What happens next: occasional, relevant messages and reactivation campaigns.

A lead who didn't book this week might book in six months. Money may have been tight, the timing might have been wrong, they might have been nervous, they might have tried another provider and not liked it, or they simply forgot. You already paid to get their information once, and reaching them again costs far less than buying a new lead.

Long-term nurture can include seasonal promotions, treatment reminders, new service announcements, educational content and offers that actually fit the person. They don't need to hear from you every week, but they also shouldn't vanish from your business because they didn't schedule within seven days.

Because these messages run from a workflow on the contact, the opportunity doesn't have to stay Open. Many practices mark these Lost with a reason like “timing” so their open pipeline value stays accurate.

‍

Common GoHighLevel Pipeline Mistakes

Using Attempt 1, Attempt 2 and Attempt 3 as stages

This is the one I see most often. Call attempts are staff actions, not patient progress. If an opportunity is sitting in Attempt 3, you don't know whether the person is interested, whether they ever answered, whether they're qualified or whether they booked. Track outreach with tasks, workflow steps, call logs and conversation history, and keep the pipeline for where the patient actually is.

Building a separate pipeline for every treatment

‍

A Botox pipeline, a filler pipeline, a laser pipeline, a Morpheus8 pipeline and a weight loss pipeline means your front desk has to remember where everyone goes, and your reporting gets split five ways. Most practices do better with one New Patient Acquisition pipeline and custom fields for the details. A single opportunity can show that the lead came from Google Ads, wants Botox, belongs to your second location and is in Consultation Booked, and you can filter the board by any of those.

Create a separate pipeline when the process is actually different, not just because the treatment name changed. A membership signup or a multi-visit weight loss program with labs and check-ins can justify its own pipeline. A different injectable usually can't.

Making stages, custom fields and tags do the same job

‍

Each one has a different purpose:

  • Pipeline stage: where the person is in the journey right now.
  • Custom field: information you want to keep, such as service interest, location, lead source, campaign, provider, GCLID or EHR patient ID.
  • Tag: temporary segmentation or automation state, like No-Show Recovery, Long-Term Nurture or Google Conversion Sent.

You can technically put everything in tags, but once you have thousands of contacts and dozens of services, structured fields are much easier to filter, report on and pass to other systems.

‍

How Pipeline Stages Should Trigger Automations

This is the main reason to set the pipeline up carefully. GoHighLevel's Pipeline Stage Changed and Opportunity Status Changed triggers let each move start or stop the right workflow:

  • New Lead: instant reply, staff notification and the follow-up sequence.
  • Contacted: automated outreach pauses so a person can take over.
  • Qualified: the focus shifts to booking the consult.
  • Consultation Booked: lead nurture stops, reminders start and the booked conversion goes to Google Ads.
  • No Show: the rebooking sequence starts.
  • Consultation Showed: the outcome gets recorded.
  • Treatment Recommended: follow-up based on their specific hesitation.
  • Closed Won: acquisition stops, and retention and review requests start.
  • Dead: active sales outreach ends.
  • Long-Term Nurture: periodic reactivation.

Wherever you can, let real events move the card instead of relying on staff to drag it. A form submission, a booked appointment or a no-show coming from your calendar or EHR is more reliable than someone remembering to update the board.

‍

Make Sure Your Front Desk Can See What's Already Been Said

We've seen this happen more than once. A lead comes in, the automation texts them, they reply, and five minutes later a staff member sends almost the same opening message because they can't see what already went out. It makes the practice look disorganized immediately.

Anyone working leads should be able to open the contact in GoHighLevel and see where the person came from, what they're interested in, every message that's been sent, how they replied, whether they've booked and what stage they're in. Keep texts, calls and emails in the GoHighLevel conversations inbox instead of on personal phones, and make sure automated follow-up stops once a real conversation starts. The CRM should give your team context before they jump in, not make the conversation harder.

‍

Should GoHighLevel Replace Your EHR?

‍

No. GoHighLevel is great for marketing, communication, lead tracking, follow-up and lifecycle automation, but it shouldn't be your clinical system of record. If you use Cerbo, OptiMantra, Zenoti, Mindbody or another EHR or practice management system, decide upfront which system owns which information. The EHR keeps clinical records, and GoHighLevel handles acquisition and communication.

The value is in connecting them. If your EHR already knows someone booked, cancelled, no-showed or completed an appointment, that event should update GoHighLevel automatically instead of your receptionist entering the same thing twice. We cover this in our healthcare CRM and EHR automation guide and in our technical guides for Cerbo and GoHighLevel and connecting OptiMantra to your CRM.

‍

How to Use Your Pipeline to Find Where Revenue Is Leaking

Once the stages are defined consistently, four conversion rates tell you where to look:

  • Contact rate (Contacted ÷ New Leads): if 100 leads turn into 25 conversations, the problem is speed to lead or follow-up.
  • Booking rate (Booked ÷ Contacted): if 80 conversations turn into 10 bookings, look at the offer, pricing and how calls are handled.
  • Show rate (Showed ÷ Booked): if 40 bookings turn into 12 shows, fix reminders, confirmations and deposits.
  • Close rate (Closed Won ÷ Showed): if 35 shows turn into 3 sales, look at the consultation, how pricing is presented and financing.

{{There should be an image here of a funnel showing contact rate, booking rate, show rate and close rate, with an example of where each one drops off}}

Without these numbers, all four problems look the same from the outside: “our marketing isn't working.” The fix could be the ads, follow-up, scheduling, show rate, pricing or the consult, and you can't fix the right thing until you know where people are dropping off. That's why we care more about a clean pipeline than a cost-per-lead report, and it's the same idea behind why your healthcare marketing isn't failing, your sales process is.

‍

Final Thoughts

‍

A good GoHighLevel pipeline doesn't need to look complicated. It needs to match how your practice actually turns a stranger into a patient, and every stage should answer two questions: what happened with this person, and what should happen next?

When it does, your team knows what to do, automations start and stop at the right time, no-shows get recovered, your EHR and CRM stay in sync, and your ads can optimize for patients instead of the cheapest form fills.

NexaMed is a healthcare marketing agency for hormone clinics, med spas, longevity clinics, sexual wellness clinics and telehealth practices. We build the GoHighLevel pipelines, automations and conversion tracking that connect ad spend to real patients. If you'd like a second set of eyes on your setup, get in touch with our team.

Frequently Asked Questions

What pipeline stages should a med spa use in GoHighLevel?

Most med spas can start with nine stages: New Lead / Contacted, Qualified, Consultation Booked, No Show / Needs Reschedule, Consultation Showed, Treatment Recommended, Closed Won, Dead / Unresponsive and Long-Term Nurture. The exact names matter less than making sure each stage reflects something that actually happened and triggers a clear next step.

How many stages should a GoHighLevel pipeline have?

Usually six to ten. With fewer, you can't see where leads drop off. With more, staff stop keeping it updated. Cut any stage that doesn't change what your team does, which automation runs or what you report on.

Should New Lead and Contacted be separate stages?

They can be. Separating them lets you measure how many new leads your team actually reaches, which helps if speed to lead is a problem. Either way, define Contacted as a real two-way conversation, not a voicemail.

What's the difference between a pipeline stage and an opportunity status in GoHighLevel?

The stage shows where someone is in your process, like Consultation Booked. The status (Open, Won, Lost or Abandoned) records the outcome. GoHighLevel's revenue and win/loss reporting is based on status, so mark opportunities Won or Lost even if you also have Closed Won and Dead stages.

How long should a med spa follow up with a new lead?

For higher-ticket treatments, two to four weeks of follow-up every few days is reasonable, along with calls from the front desk. Stop the automated sequence as soon as the person replies, books or opts out.

Should every med spa treatment have its own pipeline?

Usually not. Use one acquisition pipeline and store the treatment in a custom field. Create a separate pipeline only when the sales process itself is different, like a membership or a multi-visit program.

Should a no-show be its own pipeline stage?

Yes. A no-show needs a different next step than a new lead or a booked patient. A No Show stage can trigger a rebooking sequence and shows you how many missed appointments you recover.

What should happen when someone books a consultation?

The opportunity moves to Consultation Booked, lead nurture messages stop, and confirmation and reminder messages start. If you track Google Ads conversions, the booking can also be sent to Google as an offline conversion.

What should happen when a lead replies to an automated text?

The automated sequence should stop so your staff can take over. In GoHighLevel, turn on Stop on Response in the workflow settings to handle this automatically.

Can GoHighLevel move opportunities through the pipeline automatically?

Yes. Workflows can create and move opportunities based on form submissions, booked appointments, appointment status changes, replies and data synced from your EHR. Some stages, like Qualified, may still need a staff member to update them.

What should I do with leads that never book?

After reasonable active follow-up, mark them Lost with a reason and move them into long-term nurture. Many people book months later when their timing or budget changes.

Should GoHighLevel replace my med spa's EHR?

No. Keep your EHR as the clinical system of record and use GoHighLevel for marketing, communication and lifecycle automation, with appointment events syncing between the two.

Can GoHighLevel pipeline stages be sent back to Google Ads?

Yes. With the GCLID saved on the contact, events like booked consultations and new patients can be sent to Google Ads as offline conversions, so campaigns optimize toward appointments and revenue instead of form fills. Our GoHighLevel Google Ads conversion guide shows how we set it up.

‍

Your Practice Isn’t Generic. Your Marketing Shouldn't Be Either.

You’ve outgrown "basic" marketing. Nexamed builds the advanced lead-gen infrastructure your med spa needs to capture high-ticket patients and scale without the manual mess.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.