Back to the build library
Fitness & wellness
Standard

Free Trial to Paid Member

Convert trial members before the trial lapses by branching every message on what they actually did in the gym, not how many days have passed.

Industry
Fitness & wellness
Build effort
Standard
Typical time to launch
2–3 weeks
On this page
The problemWhat gets builtHow it runsAutomations in detailWhat changesBefore you start
Want this built for you?

Bring your stack to a call and we will scope it against how your business actually runs.

Book a call
01

The problem

A free trial is the easiest sale a gym or studio ever makes and the easiest one to lose. Someone walks in, signs up for seven or fourteen days, attends once, has a good time, and then life gets in the way. On day fifteen the trial lapses. Nobody calls. The record sits in the system as a lead who did not convert, and the same person joins a competitor four months later because the competitor happened to message them in the right week.

The standard response is a day-based email sequence: day one welcome, day three tip, day five offer, day seven last chance. It converts the people who were always going to convert and does nothing for everyone else, because it is blind to the only thing that predicts conversion. What the member actually did. A trial member who has been in four times in five days needs a completely different message from one who booked a class, did not show, and has not been back. Sending both the same day-five discount wastes the first conversation and does not address the second.

The money leaks in three distinct places. First, the no-show trial: someone signs up online, never visits, and is never reached by anyone, which is pure wasted acquisition spend. Second, the one-and-done: attended once, enjoyed it, lost momentum, and no one intervened in the 72-hour window where a nudge still works. Third, the engaged non-buyer: attending regularly, clearly getting value, and nobody ever actually asked them to join. The trial simply expires and they drift. Each of those needs a different intervention, at a different moment, triggered by behavior rather than by the calendar. That is what this build does.

02

What gets built

Pipeline and stages

One pipeline, Trial Conversion, with every trial member as an opportunity. Stages are driven by behavior, not by elapsed days.

  • Trial Signed Up: registered, no visit yet.
  • First Visit Booked: a class or session is on the calendar.
  • Never Attended: past day 3 with zero check-ins. The highest-urgency stage in the build.
  • Attended Once: one check-in recorded.
  • Attended Once, Stalled: one check-in and nothing in the following 72 hours.
  • Engaged: two to three check-ins.
  • Highly Engaged: four or more check-ins.
  • Conversion Call Booked: a human conversation is scheduled.
  • Offer Presented: the membership ask has been made.
  • Converted: paying member.
  • Trial Expired, Not Converted: the trial ran out.
  • Win-Back Nurture: long-cycle list for expired trials who engaged at least once.
  • Lost: explicitly declined or unreachable, with a reason.

Calendars

  • First Session Booking: the class or intro-session calendar linked in the welcome sequence. Keep it a single click from the signup confirmation; every extra step costs attendance.
  • Goal Setting Session: 30 minutes with a coach, offered to every trial member on signup and pushed hard to the Attended Once group. Members who have this session convert markedly better, and it is also where the human relationship starts.
  • Membership Conversation: 20 minutes with the assigned membership advisor, round-robin, offered from day 8 onwards to Engaged and Highly Engaged members. This is where the ask happens.
  • Come Back In: 15-minute slot offered to Never Attended and Attended Once, Stalled members. Low commitment by design, often held at the front desk rather than booked as a formal session.

Custom fields

On the contact record:

  • Trial Start Date and Trial End Date: dates. Every countdown reads from Trial End Date.
  • Trial Days Remaining: number, recalculated nightly.
  • Visit Count: number, incremented by the check-in webhook. The central field in the build.
  • Last Visit Date: date.
  • Days Since Last Visit: number, recalculated nightly.
  • First Visit Date: date, written once.
  • Engagement Band: dropdown: No Show, At Risk, Engaged, Highly Engaged. Recalculated on every check-in.
  • Classes Booked Count and Classes No Showed Count: numbers. The ratio between these is the sharpest signal in the build: a member who books and does not attend is a different problem from one who never books.
  • Favorite Class Type: text, written from the most frequent class type attended. Used to personalize the recommendation, not to segment.
  • Assigned Coach and Assigned Advisor: user references, set at signup.
  • Goal Setting Session Held: switch.
  • Membership Conversation Held: switch.
  • Offer Presented Date: date.
  • Objection Raised: dropdown: None, Price, Time, Location, Partner or Family, Wants To Think, Health Reason Stated. The last option exists only so staff can route it to a human and suppress automation. It is never used to target messaging.
  • Conversion Source: dropdown: Self Serve Link, Membership Conversation, Front Desk, Coach Ask.
  • SMS Consent, SMS Consent Date, SMS Consent Source, Marketing Consent.
  • Total Trial Touches: number, incremented by every outbound message, used by the frequency cap.

Tags

  • trial-active, trial-expired, member-converted: lifecycle state, mutually exclusive.
  • trial-no-show, trial-at-risk, trial-engaged, trial-highly-engaged: engagement band, applied and removed by the recalculation workflow.
  • books-but-no-shows: Classes No Showed Count is 2 or more. Gets a specific, non-judgemental sequence about picking easier times.
  • goal-session-held, membership-convo-held, offer-presented.
  • objection-price, objection-time, objection-thinking: drive different follow-up sequences.
  • trial-suppress-automation: applied whenever a human takes over, whenever a health reason is raised, and whenever a conversion call is booked. Every workflow in the build checks this first.
  • win-back-eligible: expired without converting but attended at least once.
  • do-not-contact: permanent suppression.

Forms and surveys

  • Trial Signup: name, email, phone, how they heard about you, what they want out of it in their own words (free text, not a dropdown of health goals), preferred days and times, separate unticked SMS consent box, and agreement to the trial terms.
  • Pre-Participation Check: the minimum safety questions your insurer and your coaches genuinely require, served separately from the marketing signup, stored with restricted visibility, and never read by any automation.
  • First Visit Feedback: one question sent 2 hours after the first check-in: how the session went, three options. Drives the branch between encouragement and intervention.
  • Trial Exit Survey: sent to expired non-converters: one question on why not, with the objection options. The response writes Objection Raised and determines the win-back path.
  • Membership Conversation Outcome: internal, completed by the advisor: converted, objection raised and which, or follow-up date.

BO's role and guardrails

  • What BO does. Answers trial members' questions by SMS and web chat about class times, what to bring, where to park, how the trial works, and when it ends. Books and reschedules classes, Goal Setting Sessions, Membership Conversations and Come Back In slots. Recommends a class based on Favorite Class Type and the times the member said they preferred. Handles the overwhelmingly common “what time is the evening class on Thursday” traffic that otherwise eats the front desk.
  • What BO never does. Never gives any health, injury, nutrition, medical or training-safety advice, in any form, however the question is phrased. Never references anything from the Pre-Participation Check. Never quotes a membership price, a discount or a joining figure. It offers the Membership Conversation instead. Never processes a cancellation or a refund. Never makes the membership ask itself; the conversion is a human conversation by design.
  • Escalation rules. Any mention of pain, injury, illness, pregnancy, a medical condition or a medication is tagged trial-suppress-automation and routed to the Assigned Coach immediately, with BO replying only: “Thanks for telling me: I am going to get [Coach] to pick this up with you directly rather than me guessing. They will be in touch today.” Any complaint, any request to cancel, and any question about money goes to a named human the same day. Any message BO cannot classify with confidence is escalated rather than answered.
  • Tone. Warm, brief, first-person, no exclamation-mark enthusiasm and no fitness-industry hype. Trial members are nervous, not excited; copy that assumes otherwise reads badly.

Numbers and channels

  • One dedicated number per site, A2P 10DLC registered, with the use case declared as a mix of appointment reminders and marketing.
  • SMS is the primary channel for everything time-sensitive: class reminders, trial countdown, stall nudges. Email carries the longer content: the welcome, the what-to-expect guide, the offer summary.
  • Web chat on the site and the trial landing page, answered by BO with escalation to the front desk during staffed hours.
  • Outbound calls from a named human for two moments only: the day-3 no-show and the day-10 engaged conversion. Everything else is messaging.
  • A frequency cap of twelve total outbound touches across the 14-day trial, enforced by Total Trial Touches, with transactional class confirmations exempt.
  • An inbound webhook endpoint for check-in events, and a second for class bookings and cancellations.
03

How it runs, step by step

  1. A prospect fills in the Trial Signup form on Sunday evening: wants to come evenings, Tuesday and Thursday preferred, free text says “want to get back into something after a long gap”, SMS box ticked.
  2. The platform creates the contact and a Trial Conversion opportunity at Trial Signed Up, writes Trial Start Date today and Trial End Date 14 days out, sets Visit Count to zero and Engagement Band to No Show, applies trial-active and trial-no-show, and assigns a coach and an advisor.
  3. Within two minutes she gets an SMS: “Hi Priya. You are in, trial runs to [Trial End Date]. Easiest first step is picking a class: [First Session Booking link]. Tuesday 6:30pm has space. Any questions just reply to this.” An email follows with the what-to-expect guide and the Pre-Participation Check link.
  4. She replies asking whether she needs to bring anything. BO answers in one line and offers to book the Tuesday class. She says yes; BO books it. The opportunity moves to First Visit Booked and Classes Booked Count increments to 1.
  5. Tuesday, 2 hours before: reminder SMS with the time, the address and the coach's name. She checks in at 6:25pm. The check-in webhook fires: Visit Count 1, First Visit Date and Last Visit Date today, Engagement Band At Risk, tags swap from trial-no-show to trial-at-risk, opportunity moves to Attended Once.
  6. Two hours after the check-in, the First Visit Feedback question goes out by SMS. She picks the middle option: went fine, found it hard. The response triggers a short reassurance message from the assigned coach's name and an offer of the Goal Setting Session.
  7. She does not book, and does not come back. Seventy-two hours after her first visit, the stall detection workflow fires. The opportunity moves to Attended Once, Stalled. She gets an SMS written to acknowledge rather than nag: “Priya. The second session is the one that decides it, and it is always easier than the first. Thursday 6:30pm or Saturday 9am, which suits? Happy to book either.”
  8. She books Saturday. She attends. Visit Count 2, Engagement Band Engaged, tags swap to trial-engaged, opportunity moves to Engaged. The stall sequence cancels on the check-in.
  9. Over the following week she comes in twice more. Visit Count 4, Engagement Band Highly Engaged, opportunity moves to Highly Engaged, Favorite Class Type written as the evening strength class.
  10. On day 9, with 5 days of trial left and Visit Count at 4, the conversion workflow fires the engaged branch. The assigned advisor gets a task to call her today, with her visit history and her own signup words on the brief. She also gets an SMS offering the Membership Conversation: “Priya: four sessions in nine days, that is a proper start. [Advisor] would like 20 minutes to sort out what happens after [Trial End Date]: [link]”
  11. She books for day 10. Tagging trial-suppress-automation is applied the moment the call is booked, so every other sequence goes quiet. Nothing is worse than a discount text arriving an hour before a human conversation.
  12. On the call the advisor presents the membership. Priya raises a timing objection. She is away for three weeks in the summer. The advisor completes the Membership Conversation Outcome form: objection Time, follow-up tomorrow. Objection Raised is set to Time, the opportunity moves to Offer Presented, Offer Presented Date is stamped.
  13. The objection-specific sequence runs: one SMS the next morning addressing the actual objection raised rather than a generic nudge, and one email from the advisor with the membership summary and a direct payment link. Suppression lifts to allow exactly these two messages and nothing else.
  14. She joins on day 11 using the link. The Stripe webhook fires. The opportunity moves to Converted, Conversion Source is set to Membership Conversation, trial-active is swapped for member-converted, every trial sequence is canceled, and she is enrolled in the new-member onboarding.
  15. Had she not joined, the countdown sequence would have taken over on days 12, 13 and 14 with a single message each, and on day 15 the opportunity would have moved to Trial Expired, Not Converted, applied win-back-eligible because Visit Count was above zero, sent the Trial Exit Survey, and dropped her into a monthly win-back nurture rather than deleting the relationship.
04

Automations in detail

Workflow 1: Trial Signup and First Booking Push

Trigger. Submission of the Trial Signup form, from the website, a paid ad landing page, or the front desk.

Conditions and branches.

  • If the email or phone matches an existing member, branch out: notify the front desk and do not start a trial. Existing members signing up for trials is more common than you would think.
  • If the record matches a previous expired trial, tag repeat-trial and notify the membership advisor. The copy for a second trial is different and should be handled by a human.
  • If SMS Consent is false, run the email-only variant of every step below.
  • If the signup came in outside staffed hours, the immediate SMS still sends (it is transactional confirmation) but the booking suggestion names the next day's classes.

Actions in order.

  1. Create the contact. Write Trial Start Date as today, Trial End Date as today plus 14 days, Visit Count zero, Engagement Band No Show, Total Trial Touches zero. Apply trial-active and trial-no-show.
  2. Create the Trial Conversion opportunity at Trial Signed Up. Assign Coach and Advisor by round robin.
  3. Write SMS Consent, SMS Consent Date, SMS Consent Source and Marketing Consent from the form.
  4. Wait 2 minutes, then SMS: “Hi [First Name]. You are in, trial runs to [Trial End Date]. Easiest first step is picking a class: [First Session Booking link]. [Next class matching their stated preferred time] has space. Any questions, just reply here.”
  5. Wait 10 minutes, then email: what to expect on a first visit, where to park, what to wear, the coach's name and photo, the Pre-Participation Check link, and the booking link again.
  6. Wait 4 hours. If no class booked, SMS once: “[First Name]: want me to just book you in? Tell me a day and a rough time and I will sort it.” BO handles the reply and books.
  7. Wait until 09:00 the next day. If still no booking, send the Goal Setting Session offer by email: “Not sure where to start? 30 minutes with [Coach] first, then pick classes afterwards: [link]”
  8. On any booking, move the opportunity to First Visit Booked, increment Classes Booked Count, and start the reminder sequence: email 24 hours before, SMS 2 hours before with the time, address and coach name.

Stop and exit. Exits on first check-in (Workflow 3 takes over), on booking for the booking-push steps, at day 3 with no visit (Workflow 2 takes over), or on any opt-out keyword.

Workflow 2: Never Attended Intervention

Trigger. Scheduled, daily at 10:00. Selects trials with Visit Count of zero and Trial Start Date 3 or more days ago.

Conditions and branches.

  • Skip anyone carrying trial-suppress-automation or do-not-contact.
  • Branch A: booked but did not attend. Classes Booked Count is 1 or more. This person intended to come and something stopped them; the message is about rebooking, not about starting.
  • Branch B: never booked. Classes Booked Count is zero. The barrier is choosing, not showing up.
  • If Trial Days Remaining is 7 or fewer, compress every wait below by half. A no-show with a week left needs a faster hand.

Branch A actions.

  1. Move the opportunity to Never Attended, keep trial-no-show, apply books-but-no-shows if Classes No Showed Count is 2 or more.
  2. Create a task on the Assigned Coach to make an actual phone call today. This is the single highest-value human action in the build. The task brief carries what the member wrote at signup in their own words.
  3. SMS: “[First Name]: you had Tuesday booked and did not make it, which happens. Nothing lost, your trial still runs to [Trial End Date]. Want me to put you in for something easier to get to? Reply with a day.”
  4. Wait 1 day. If no booking and the call was not logged, SMS the coach a reminder about the task.
  5. Wait 2 days. If no booking, email with a short, specific list of the three quietest classes in the week and a one-click book link for each. Choice paralysis is the usual cause.
  6. Wait 3 days. If no booking, offer the Come Back In 15-minute slot: “If a full class feels like a lot, come in for 15 minutes with [Coach] and have a look around first: [link]”
  7. Wait 3 days. If still nothing, send one honest message: “[First Name]: I will stop messaging after this. Your trial runs to [Trial End Date] and the door is open if you want it. If the timing is just wrong, reply NOT NOW and I will leave you be.”

Branch B actions.

  1. Move the opportunity to Never Attended.
  2. Create the same coach call task.
  3. SMS: “[First Name]: you have not picked a class yet and I suspect that is the hard part. Tell me what day and roughly what time works and I will book it for you. That is the whole job done.”
  4. Wait 1 day. If no booking, email the Goal Setting Session offer as the alternative entry point, framed as a conversation rather than a workout.
  5. Wait 2 days, then SMS with two specific named options: “Two that suit beginners: [class] on [day] at [time], or [class] on [day] at [time]. Reply 1 or 2 and you are booked.” A binary choice converts far better than a link.
  6. Wait 3 days. Offer the Come Back In slot.
  7. Wait 3 days. Send the same honest closing message.

Stop and exit. Both branches exit immediately on any check-in event, on any booking (which hands back to the reminder sequence), on NOT NOW (which suppresses until 3 days before expiry), or on any opt-out keyword. Exits at trial expiry into Workflow 7.

Workflow 3: Check-In Ingestion and Band Recalculation

Trigger. Inbound webhook on the check-in endpoint. Payload: member identifier, timestamp, class or visit type.

Conditions and branches.

  • If no contact matches the identifier, log to the internal channel and stop. Do not create a contact from a check-in.
  • If the contact carries member-converted, exit. This workflow is trial-only.
  • Branch on the resulting Visit Count: 1 is At Risk, 2 to 3 is Engaged, 4 or more is Highly Engaged.
  • Branch on whether this is the first visit, which triggers the feedback sequence.

Actions in order.

  1. Increment Visit Count. Write Last Visit Date and, if blank, First Visit Date.
  2. Set Days Since Last Visit to zero.
  3. Recalculate Engagement Band from Visit Count.
  4. Swap the band tag: remove whichever of trial-no-show, trial-at-risk, trial-engaged, trial-highly-engaged is present, apply the correct one.
  5. Move the opportunity to the matching stage: Attended Once, Engaged or Highly Engaged.
  6. Recalculate Favorite Class Type from the most frequent class type in the visit history.
  7. Cancel any running stall or no-show sequence. A check-in cancels every chase in the build.
  8. First visit branch only: wait 2 hours, then send the First Visit Feedback question by SMS: “[First Name]: how was that? Reply 1 (loved it), 2 (fine, hard work) or 3 (not for me).”
  9. On answer 1: reply from the coach's name with a specific next-class suggestion matching Favorite Class Type, and book on reply.
  10. On answer 2: reply “That is exactly right for a first one. The second is easier: everyone says so. Want me to book it?” and offer the Goal Setting Session.
  11. On answer 3: apply trial-suppress-automation, create a same-day task on the Assigned Coach to call, and send no further automated messages. A member telling you it was not for them deserves a person, not a sequence.
  12. On no answer within 24 hours, send nothing further on this thread. The stall workflow will pick them up if needed.

Stop and exit. Runs to completion per check-in. The feedback branch exits on answer or after 24 hours.

Workflow 4: Stall Detection and Momentum Nudge

Trigger. Scheduled, daily at 11:00. Also triggered by the nightly recalculation that writes Days Since Last Visit.

Conditions and branches.

  • Skip anyone with trial-suppress-automation, do-not-contact, a future booking already in place, or Total Trial Touches at the cap.
  • Branch A: one-and-done stall. Visit Count is 1 and Days Since Last Visit is 3 or more. The 72-hour window after a first visit is where most trials are won or lost.
  • Branch B: engaged stall. Visit Count is 2 or more and Days Since Last Visit is 4 or more. Someone who was coming has stopped.
  • Branch C: booked ahead. Days Since Last Visit is high but a future class is booked. Send nothing except the ordinary class reminder.

Branch A actions.

  1. Move the opportunity to Attended Once, Stalled.
  2. SMS: “[First Name]: the second session is the one that decides it, and it is always easier than the first. [Specific class] on [day] at [time], or [alternative]? Reply 1 or 2 and I will book it.”
  3. Wait 2 days. If no booking, email from the Assigned Coach with the Goal Setting Session offer and a short note about what they would work on, written in general terms with no reference to anything on the Pre-Participation Check.
  4. Wait 2 days. If no booking, SMS once more with a different pair of named class options.
  5. Wait 3 days. Create a task on the Assigned Coach to call.
  6. Stop messaging after the coach task. Three nudges and a call is the limit.

Branch B actions.

  1. Keep the opportunity at its current engaged stage: do not demote someone who has been coming. Apply trial-stalled.
  2. SMS: “[First Name]: missed you this week. [Favorite Class Type] on [day] at [time] if you fancy it: [link]”
  3. Wait 3 days. If no check-in, notify the Assigned Advisor rather than sending another message. An engaged member going quiet is a conversion risk and warrants a person, especially with the trial clock running.
  4. Wait 2 days. If still nothing and Trial Days Remaining is 5 or fewer, hand straight to Workflow 6's countdown rather than continuing to nudge.

Stop and exit. Every branch exits on a check-in or a booking. Exits at trial expiry.

Workflow 5: Engaged Member Conversion Ask

Trigger. Two triggers: Visit Count reaching 3, or Trial Days Remaining falling to 6 with Visit Count of 2 or more. Whichever fires first.

Conditions and branches.

  • Skip if Membership Conversation Held is already true, or if offer-presented is applied.
  • Branch A: Highly Engaged (Visit Count 4 or more). Lead with the human call; this person is ready and a self-serve link undersells it.
  • Branch B: Engaged (Visit Count 2 to 3). Lead with the booking offer and include the self-serve option.
  • If the member has had a Goal Setting Session, route the Membership Conversation to the same coach rather than a round-robin advisor. Continuity converts.

Branch A actions.

  1. Create a task on the Assigned Advisor to call today, with Visit Count, Favorite Class Type, the member's own signup words and their attendance pattern on the brief.
  2. SMS: “[First Name]: [Visit Count] sessions in [days] days, that is a proper start. [Advisor] would like 20 minutes to sort out what happens after [Trial End Date]: [Membership Conversation link]”
  3. On booking, apply trial-suppress-automation immediately, move the opportunity to Conversion Call Booked, and send the advisor a brief 60 minutes before. Nothing else goes out while a human conversation is pending.
  4. Wait 2 days. If no booking and no call logged, email from the advisor with the membership summary, what it includes, and a direct link to join. Still no figures in the SMS channel.
  5. Wait 2 days. If no booking, SMS once: “[First Name]: trial ends [Trial End Date]. Quickest route is 20 minutes with [Advisor]: [link]. Or if you would rather just get on with it: [join link]”
  6. Hand to Workflow 6 at Trial Days Remaining of 3.

Branch B actions.

  1. SMS: “[First Name]: good to see you in. Trial ends [Trial End Date]. [Advisor] can talk through the options in 20 minutes: [link]”
  2. Wait 1 day. Email with the membership summary and both routes: book a conversation or join directly.
  3. Wait 3 days. If no booking and no join, create an advisor task to call.
  4. Hand to Workflow 6 at Trial Days Remaining of 3.

Post-conversation branch. On submission of the Membership Conversation Outcome form:

  1. Move the opportunity to Offer Presented, stamp Offer Presented Date, apply offer-presented, write Objection Raised.
  2. Objection Price: apply objection-price. One email from the advisor outlining the alternative plan structures, and one SMS 2 days later. No discount offered by automation. That is a human decision.
  3. Objection Time: apply objection-time. One SMS the next morning naming the classes that fit the constraint they actually described, plus the advisor's email with the flexible option.
  4. Objection Wants To Think: apply objection-thinking. Nothing for 3 days, then one message: “[First Name]. No pressure at all, just flagging that the trial ends [Trial End Date]. [Advisor]”
  5. Objection Health Reason Stated: apply trial-suppress-automation, route to the Assigned Coach, send nothing automated at all.
  6. In every objection branch, cap follow-up at two messages and then hand to the advisor.

Stop and exit. Exits on conversion, on an explicit decline, at trial expiry, or on opt-out. The suppression tag halts every other workflow while this one is live.

Workflow 6: Trial Countdown

Trigger. Scheduled, daily at 09:00. Selects active trials where Trial Days Remaining is 3, 2, 1 or 0.

Conditions and branches.

  • Skip anyone with trial-suppress-automation, a booked Membership Conversation, or member-converted.
  • Branch A: Visit Count 2 or more. They have had value; the message is about continuing.
  • Branch B: Visit Count 1. The message is about using what is left.
  • Branch C: Visit Count zero. One message only, and it is honest.
  • One message per day maximum, no exceptions, regardless of how many branches technically match.

Branch A actions.

  1. Day 3 remaining, SMS: “[First Name]: three days left on the trial. [Visit Count] sessions in so far. Want to keep going? 20 minutes with [Advisor]: [link], or join here: [join link]”
  2. Day 2 remaining, email from the advisor: the membership summary, what happens to their bookings if they join, and the direct join link.
  3. Day 1 remaining, SMS: “Last day of the trial tomorrow, [First Name]. If you want to carry on without a break: [join link]. If you have questions, reply and [Advisor] will call.”
  4. Day 0, SMS in the morning: “Trial ends today. [join link] keeps everything running as it is.”

Branch B actions.

  1. Day 3 remaining, SMS: “[First Name]: three days left and plenty of classes still open. [Specific class] on [day]? Reply YES and I will book it.” Use the remaining days rather than selling.
  2. Day 2 remaining, SMS with two named class options and one-tap booking.
  3. Day 1 remaining, email: the membership options plus the honest line that a one-session trial is not much to judge on, and an offer of a conversation.
  4. Day 0, nothing. Let it expire and pick them up in Workflow 7.

Branch C actions.

  1. Day 2 remaining, one SMS: “[First Name]. Your trial ends [Trial End Date] and you have not managed to get in. No judgment. If you want, reply and I will extend it or just start it again when it suits you better.”
  2. Nothing else. A member who never attended does not need a countdown.

Stop and exit. Exits on conversion, on a booked conversation, on opt-out, or at expiry.

Workflow 7: Expiry, Exit Survey and Win-Back

Trigger. Scheduled, daily at 08:00. Selects trials where Trial End Date was yesterday and the contact is not member-converted.

Conditions and branches.

  • Branch A: win-back eligible. Visit Count 1 or more. They came, they know what it is, they are worth keeping warm.
  • Branch B: never attended. Visit Count zero. A different and shorter path.
  • If your policy includes a grace period, hold the stage change for the grace days and keep access live.

Branch A actions.

  1. Move the opportunity to Trial Expired, Not Converted. Swap trial-active for trial-expired, apply win-back-eligible.
  2. Wait 1 day, then send the Trial Exit Survey by SMS: one question, “[First Name]. Genuinely useful to know: what stopped you joining? Reply 1 cost, 2 timing, 3 not the right fit, 4 something else.”
  3. Write Objection Raised from the answer. Route answer 4 to a human; route answer 3 to a short, graceful close and no further marketing.
  4. Wait 5 days, then move to Win-Back Nurture.
  5. Monthly thereafter, send one email only: a genuinely useful piece of content, a new class on the timetable, a change to the schedule. No countdown urgency, no fake deadlines.
  6. At 90 days, send one SMS: “[First Name]. The timetable has changed a fair bit since you were in. Worth another look? [link]”
  7. At 180 days with no engagement, reduce to quarterly email and remove from SMS entirely.
  8. If they ever re-engage (click, reply, or book) notify the membership advisor and pause the nurture for a human conversation.

Branch B actions.

  1. Move to Trial Expired, Not Converted, no win-back tag.
  2. Send one SMS: “[First Name]: your trial has run out and you did not get the chance to use it, which is a shame. If you want it restarted at a better time, reply RESTART.”
  3. On RESTART, notify the front desk to set up a new trial manually. Never auto-restart a trial; it needs a human to check it is genuine.
  4. If no reply in 7 days, move to Lost with reason Unreachable, remove from SMS, and keep on a quarterly email list only if Marketing Consent is true.

Stop and exit. Exits on conversion at any point, on opt-out, or at the retention cut-off set by your data policy.

Workflow 8: Conversion, Onboarding Handoff and First Payment

Trigger. Stripe payment-succeeded webhook for a membership product, or the advisor marking the Membership Conversation Outcome form as converted.

Conditions and branches.

  • If the payment fails rather than succeeds, branch to the recovery path immediately. A failed first payment on a converting trial is far more common than on an established member, and it is easily lost.
  • Branch on Conversion Source for internal reporting: Self Serve Link, Membership Conversation, Front Desk or Coach Ask.

Actions in order.

  1. Move the opportunity to Converted. Swap trial-active for member-converted. Remove every trial band tag and trial-suppress-automation.
  2. Cancel every running trial workflow for this contact. One stray countdown message after someone has paid undoes a good conversion.
  3. Write Conversion Source and the conversion date.
  4. SMS within 2 minutes: “Welcome in properly, [First Name]. Nothing changes with your bookings: just keep coming. [Coach] will be in touch about setting the next few weeks up.”
  5. Email the full welcome: membership details, how to book, how to pause or cancel (state this plainly, hiding it costs more in churn than it ever saves), and the coach's contact.
  6. Create a task on the Assigned Coach to make contact within 2 days.
  7. Notify the internal channel with the conversion source and visit count, so the team can see which route is working.
  8. Wait 7 days, then send a one-question check-in: “First week as a member: anything we should sort out?”
  9. Wait 23 days, then enroll in the ordinary member retention program. The trial build hands off cleanly at 30 days.

Failed payment branch.

  1. Do not move the opportunity to Converted. Hold it at Offer Presented and apply payment-failed.
  2. Within 5 minutes, SMS: “[First Name]: the payment did not go through, almost always a card thing rather than anything you did. Try again here: [link]. Or reply and [Advisor] will sort it with you.”
  3. Wait 4 hours. If unpaid, notify the advisor to call.
  4. Wait 1 day, retry the charge automatically, and send one more message on failure.
  5. Wait 2 days. If still unpaid, create a task and stop automated retries. Keep trial access live during this window if your policy allows, losing a converted member to a card expiry is the most avoidable loss in the build.

Stop and exit. Converted path exits at the 30-day handoff. Failed payment path exits on successful payment or on the advisor closing the task.

05

What changes

The first difference is that nobody falls off the end of a trial silently. Every trial member ends up in one of a small number of known states (converted, explicitly declined, or in a win-back nurture with a recorded reason) rather than in the undifferentiated pile of leads who did not buy. That alone changes what the front desk does with its time, because the system tells them who to call rather than them deciding by memory.

The second difference is that the messages make sense to the person receiving them. A member who has been in four times does not get a “we miss you” text. A member who has never been in does not get a membership offer. A member who has booked twice and no-showed twice gets a message about picking an easier time rather than a message about commitment. This sounds obvious and almost no trial sequence does it, because doing it requires the check-in data to drive the branching rather than a day counter.

The third difference is the 72-hour window after the first visit. That window is where most trials are decided and where almost nothing is usually done, because it does not align with any day-based sequence. Catching the one-and-done stall at hour 72 with a specific, bookable suggestion is the most important automation in this build, and it is worth measuring on its own.

The fourth is quieter: the build deliberately goes silent whenever a human takes over, and deliberately refuses to automate the ask itself. Conversion in a gym is a conversation, and the automation's job is to get the right people into that conversation at the right moment, not to replace it.

Metrics to watch

  • Trial-to-paid conversion rate overall, and then split by engagement band. The split matters more than the headline: a flat 25 percent could be 60 percent of highly engaged members and almost nothing from the rest.
  • Share of trials with zero visits. This is usually the biggest single leak and the easiest to move. Target it first.
  • First-visit-within-72-hours rate. Members who attend in the first three days convert at a dramatically different rate from those who do not.
  • One-and-done rate (trials ending with exactly one visit) and how it moves after the stall workflow goes live.
  • Average visits per trial, as the leading indicator for next month's conversion rate.
  • Membership Conversation booking rate and held rate among Engaged and Highly Engaged members. If booking is high and holding is low, fix the reminder sequence before anything else.
  • Conversion rate by Conversion Source. This tells you whether the human conversation is earning its cost. It almost always is.
  • Objection mix from both the conversation outcome form and the exit survey. A dominant timing objection is a timetable problem, not a sales problem.
  • Book-to-attend ratio for trial members, and the size of the books-but-no-shows group.
  • Win-back conversion rate at 90 and 180 days, which quietly adds up over a year.
  • Messages sent per trial against the cap, and opt-out rate as the guardrail. A rising opt-out rate means the sequence is too heavy regardless of what conversion is doing.
  • Failed first payment recovery rate. Small volume, high value, frequently ignored.

Trial length, thresholds and the integration with your gym management system all change the shape of this build, so it is scoped per site. Book a call at bookings.appbo.io to work through yours.

06

Before you start

Decisions to make before you build

  • Trial length and what it includes. This guide assumes a 14-day trial with unlimited class access. A 7-day trial compresses every wait duration roughly by half; a single-session trial is a different build entirely.
  • Your engagement thresholds. The defaults here: zero visits is a no-show, one visit is at-risk, two to three visits is engaged, four or more is highly engaged. Set these against your own data if you have it. The thresholds are the whole build, so getting them roughly right matters more than getting them perfect.
  • Your conversion offer. Decide what the trial member is being asked to join, and whether there is a join-before-the-trial-ends incentive. Keep every figure out of the guide copy and out of any public page: incentives go in the offer itself.
  • Who makes the ask. A conversion conversation held by a named coach converts far better than an automated message with a payment link. Decide whether that is a front-desk role, a membership advisor, or the coach who ran their first class, and name them on the record.
  • What happens at expiry. Hard stop, grace period, or automatic downgrade to a limited plan. The automation enforces whichever you choose, but you have to choose.

Integrations to connect

  • Your gym management or access system: the check-in data is the engine of this build. Mindbody, Glofox, TeamUp, Zen Planner, Clubworx and most access-control systems can push a check-in event. Connect through Zapier or Make, or post to an inbound webhook. The payload only needs the member identifier, the timestamp, and the class or visit type.
  • Stripe for membership payment and for the trial-to-paid transition, including handling the first failed payment, which is more common on a converting trial than on an established member.
  • Google Calendar two-way sync for coaches and membership advisors so conversion calls and goal-setting sessions can be booked directly.
  • Your class booking system, if separate from the access system, so booked-but-did-not-attend is distinguishable from never-booked. These are very different signals and collapsing them loses the most actionable branch in the build.

Numbers and messaging compliance

  • Provision a dedicated number for the site and complete A2P 10DLC brand and campaign registration before launch. Fitness trial messaging is high volume and carriers will filter unregistered traffic.
  • Collect SMS consent at trial signup with a separate, unticked checkbox and plain wording covering both transactional reminders and membership offers. Store consent source, timestamp and IP in custom fields. A signup form that bundles consent into the terms-and-conditions tick is not sufficient.
  • Honor STOP, UNSUBSCRIBE, CANCEL, END and QUIT across every workflow, and make HELP return a staffed contact. Set quiet hours of 8am to 8pm in the member's own timezone on every sequence, including the ones that feel urgent.
  • Separate transactional messaging (class booked, class canceled, trial expiring) from marketing messaging (offers, incentives) in your consent model, so a member who opts out of offers still gets their class reminders if your rules allow it.
  • Cap total messages per trial member. The defaults in this build keep a 14-day trial under twelve touches across all channels, with hard suppression once a conversion call is booked.

Health data and legal

  • Be careful what the intake form asks. Health conditions, injuries, medications and pregnancy status are sensitive personal data in most jurisdictions, and collecting them brings obligations that ordinary contact data does not. Collect only what coaching safety genuinely requires, store it with restricted visibility, and never use it as a segmentation or marketing variable.
  • Never reference a member's stated health condition, injury, weight or body-composition goal in an automated message. This build deliberately segments on attendance behavior rather than on goals or body data for exactly this reason.
  • Keep any health information out of SMS entirely. A text message is not an appropriate channel for it.
  • If you take payment details at trial signup, be clear and prominent about whether the trial auto-converts to a paid membership. Auto-conversion without clear disclosure is a consumer-protection problem in many markets as well as a reputational one.
  • Set a retention period for trial records that did not convert, and a deletion routine.
  • None of this is legal advice. Have your own counsel review your intake form, your consent language, your trial terms, your auto-renewal disclosures and your health-data handling before launch.

Internal prerequisites

  • Reliable check-in data. If members regularly get in without scanning, the behavioral branching will misfire and the build will message engaged members as if they had disappeared. Fix the check-in discipline first.
  • Named staff assigned to trial members on signup, and a short script for the conversion conversation.
  • Agreement that the day-three call to a no-show trial member actually gets made. It is the highest-value human action in the whole build and the one most often skipped.
Field notes

Build it with us.

Every build on this page is something we configure, test and hand over with the SOPs your team needs to run it.

Book a call