Send about eight: a welcome on joining day, a first-visit check on day two or three, a habit nudge in week two, a 30-day review offer, attendance-triggered messages when a member's visits drop well below their normal, milestone notes, a pre-renewal check and a welcome-back after a freeze. Trigger most from attendance, not the calendar.
"Check-in" here means a message asking how the member is getting on, not the scan at the door, although the door scan is what drives most of them. Every message aims to get a reply or a visit, so each template ends with an easy question or a specific class. The schedule comes first as one table, then the wording and triggers for each message, who answers the replies, a one-week setup plan, the messages that backfire, and a way to tell whether any of it improves retention.
The check-in schedule at a glance
| # | Trigger | When | Channel | Sent by | Aim |
|---|---|---|---|---|---|
| 1 | Joins | Same day | Automatic | Book the first session | |
| 2 | First visit, or none yet | Day after the first visit; day 3 if no visit | Text | Automatic, signed by a coach | Get a reply |
| 3 | Week two | Day 10-14 | Text | Automatic | Book visits 3 and 4 |
| 4 | First month | Day 25-30 | Text or email | Coach, AI-drafted | A short programme review |
| 5 | Attendance drops | When thresholds below are hit | Text, then a coach | Automatic, then human | A reply or a visit |
| 6 | Milestones | 10th, 25th, 50th, 100th visit | App or text | Automatic | Recognition |
| 7 | Renewal coming | 30 days before a contract ends | Call or personal text | Coach or manager | A retention conversation |
| 8 | Freeze ends | The day it ends | Text | Automatic | First class back |
Two things aren't on the list on purpose. Replies to cancellation requests aren't check-ins; they need their own process, covered in whether AI should handle membership freezes and cancellations. And enquiries from people who haven't joined belong to a separate sales sequence, as in answering gym enquiries and booking trial sessions with AI.
The first 30 days, message by message
The first month is when a new member either builds a routine or doesn't, so four of the eight messages sit here. Adapt these to your voice:
1. Welcome (email, joining day)
Subject: Your first session at [gym]
Hi [first name], welcome in. The first visit is easier with a plan,
so here are three beginner-friendly classes this week:
[class, day, time] x3. Or book a free induction: [link].
Reply to this email with any question, a real person reads it.
2. First-visit check (text)
Visited: "Hi [first name], it's [coach] from [gym]. How was your first
session? Anything you'd like help with next time?"
Not yet visited by day 3: "Hi [first name], [coach] here. Want me to
save you a spot in Thursday's 6pm intro class?"
3. Habit nudge (text, day 10-14)
"Hi [first name], two weeks in. Two fixed times a week makes it easier
to keep going. Want to lock in Mon and Thu at 6? [link]"
4. 30-day review (from the coach)
"Hi [first name], it's been a month. I'd like to spend 15 minutes
checking your programme is still right for you. Tue or Wed?"
Message 2 is the one to get right. A question a member can answer in five words ("good, bit sore") starts a conversation; a paragraph of tips doesn't.
Attendance triggers set against each member's own normal
A fixed rule such as "no visit in 14 days" treats the five-days-a-week member and the Saturday-only member the same. Set thresholds against each member's own baseline, meaning their average weekly visits over the previous four weeks:
- Trigger A, the drop: visits over the last two weeks fall below half their baseline.
- Trigger B, the gap: no visit for 10 days for members who normally come twice a week or more; 21 days for once-a-week members.
- Trigger C, missed bookings: booked classes missed in a row. ABC Glofox gives the example of a re-engagement message when a member misses three consecutive classes; two may suit a small studio.
Run the sums on a handful of real members before trusting the rules. Four illustrative members from one gym's export:
| Member | Baseline (visits a week) | Last 2 weeks | Trigger A line (half of baseline) | What fires |
|---|---|---|---|---|
| Early-morning regular | 4.5 | 3 visits = 1.5 a week | 2.25 | Trigger A |
| Twice-a-week evening member | 2 | 3 visits = 1.5 a week | 1 | Nothing: a normal dip |
| Saturday-only member | 1 | 0 visits | 0.5 | Trigger A at day 14, a week before Trigger B's 21 days |
| Joined 12 days ago | No baseline yet | 2 visits | n/a | First-30-days messages only |
The third row is the edge case most gyms hit in week one. Two missed Saturdays is often a family weekend away, and Trigger A fires before the gap rule you designed for exactly that member. A simple fix: for baselines under 1.5 visits a week, switch Trigger A off and let Trigger B's 21 days do the job. The fourth row matters too. Without four weeks of history there's no baseline, so new members stay on the first-month schedule and never enter the attendance ladder by accident.
Each trigger starts a short ladder, not a single blast:
- Automatic text: "Hi [first name], not seen you this week. All good? If life's busy, the 30-minute lunchtime class might fit: [link]"
- Seven days later, if nothing: a personal message from their usual coach, drafted by AI but sent by the coach.
- For members of a year or more: a phone call instead of step 2.
Exclusions matter as much as triggers. Keep a "don't nudge until" date on each member profile for holidays, injuries and anything else they've told you, and make every trigger check it first. Members on a freeze should never receive attendance messages.
That rule fails more often than you'd expect, and usually in the same way. Freeze status lives in the billing side of the software, while the trigger reads only the attendance export, so a frozen member looks like someone who has stopped coming. The first sign is a reply such as "I'm on a freeze, why are you chasing me?" If you see one, check that the list feeding each trigger includes a membership status column and filters out anything other than active before a single message is queued.
Milestones, freezes and renewals
Milestone messages are cheap and well received if they're specific: "That's your 50th class, [first name]. Your Thursday 6pm streak is 12 weeks now." Pull the detail from attendance data rather than sending a generic badge.
The freeze-return message goes on the day the freeze ends, with a specific class suggestion based on what they did before, and a lower-effort option ("if you want to ease back in, the mobility class on Tuesday is a good start").
The pre-renewal check shouldn't be automated at all, except the preparation. Thirty days before a contract ends, have AI produce a short brief for the coach: visits per month since joining, favourite classes, any drop-offs, anything the member said in replies. The coach then calls or messages personally. A member who's hardly visited in three months needs a different conversation from one who's there four times a week.
Where AI adds something beyond a timed text
Most gym software can send messages on a timer. AI earns its place in four jobs:
- Personalising each message with the member's usual class, time slot and coach, which makes an automated text read like it came from someone who knows them.
- Reading replies. "Hurt my knee" goes to a coach with automation paused; "too busy" gets shorter class options; "want to cancel" goes into your cancellation process, not a cheerful auto-reply.
- Flagging members at risk. ABC Glofox's AI Churn Predictor tracks attendance, payment behaviour, app engagement and tenure, and its platform sends behaviour-triggered messages. Mindbody's Messenger[ai] answers members by text and webchat and flags conversations that need a person. If your system has nothing like this, what AI churn prediction is and whether a small gym can use it covers the spreadsheet version.
- Briefing coaches each Monday with the week's at-risk list and one line on each member.
A Monday brief is only useful if a coach can act on it in the two minutes before their first class. An illustrative extract of a good one:
"At risk this week: 4 members. 1) [first name], member 14 months, usually Tue and Thu 7am spin, 1 visit in 14 days against 3 a week, replied 'work's mad' on the 12th. Suggest the Thursday 12:30 express class. Call rather than text (over a year). 2) [first name], member 5 months, Saturday strength only, no visit in 22 days, no reply to the automatic text. First personal message due today."
Each line carries tenure, usual slot, the drop, the last thing they said and one suggested action. If your brief comes back as a paragraph per member, add "one line per member, action at the end" to the prompt.
To draft the personal messages coaches send at step 2 of the ladder:
Draft a short text from coach {coach} to member {first_name}.
Facts: joined {join_date}; usual classes {classes}; baseline
{x} visits a week; last 2 weeks {y} visits; last reply: "{reply}".
Tone: friendly, no guilt, no exclamation marks, under 300 characters.
Ask one easy question and offer one specific class or time.
Don't mention exact visit counts or dates.
The last line matters: "You've only been in twice this month" reads as surveillance. "Not seen you much lately" doesn't.
Even with those rules, first drafts slip. An illustrative draft for the early-morning spin regular above, whose last reply was "work's mad":
"Hi [first name], [coach] here! Noticed you've only made it in once in the last fortnight, totally get that work's mad right now. The Tuesday 7am crew misses you! Fancy the 12:30 express class on Thursday?"
Three fixes before it's sent: the exclamation marks the prompt banned, "only made it in once in the last fortnight" (an exact count in different words), and "the crew misses you", which is guilt dressed up as warmth. The coach's version: "Hi [first name], [coach] here. Sounds like work's been full on. If early mornings are tricky at the moment, Thursday's 12:30 express class is 30 minutes. Want me to hold you a spot?" The coach reads and edits every step-2 message; that's the whole reason it sits on the second rung rather than the first.
Who answers the replies, and how fast
A check-in that gets a reply and then silence is worse than no check-in. Decide before launch who handles each kind of reply:
| Reply | Who handles it | Target time | Automation |
|---|---|---|---|
| "Good thanks" / thumbs up | Nobody needs to, or a quick auto-acknowledgement | n/a | Continues as normal |
| A question about classes, times or equipment | AI assistant or front desk | Same day | Continues |
| "Busy with work", "away for a bit" | Front desk sets a "don't nudge until" date | Same day | Paused until that date |
| Injury, illness, health worries | Coach, personally | Within 24 hours | Paused |
| Complaint about the gym | Manager | Within 24 hours | Paused |
| "I want to cancel" or "freeze" | Your cancellation or freeze process | Same day | Stopped |
An AI assistant can sort replies into these rows and route them, but the rows marked "personally" and "manager" need a human answer. Check the routed list at the start and end of each day; a coach who replies to an injury message two days later has lost most of the goodwill the check-in created.
Test the sorting on your own replies before relying on it. Take twenty real replies from the last few months, run them through the classifier and compare its rows with what a coach would choose. The miss to look for is a mixed message: "knee's playing up again but I'll try to come Thursday" often lands in "continues as normal" because it contains a plan to visit. Add one rule at the top of the sorting prompt, that any mention of pain, injury, illness or a health condition overrides every other signal and routes to a coach, then re-run the same twenty. A mistake here costs you the member; a false alarm costs a coach one short message.
Setting it up in a week
- Day 1: export three months of attendance and work out each member's baseline, in your gym software's reports or with a spreadsheet.
- Day 2: write the templates, using AI for variations in your voice.
- Day 3: set up triggers in your gym software. PushPress, for instance, has a pause workflow that notifies staff when a member's pause is due to start; check what your system triggers on.
- Day 4: add exclusions: freezes, the "don't nudge until" field, and a weekly cap across all messages.
- Day 5: test with staff accounts, including a fake injury reply.
- Day 6: brief coaches on which replies come to them and how fast to answer.
- Day 7: switch on for new joiners first. Add existing members after two weeks, once you've seen the replies.
Check-ins that make members more likely to leave
- Guilt: "We haven't seen you!!" or "Don't give up now". Members who already feel bad about missing sessions feel worse.
- Nudging the injured or bereaved: the fastest way to lose a member and earn a bad review. The exclusion field prevents it.
- Volume: welcome emails, class reminders, promotions and check-ins from different tools adding up to five messages a week.
- Promising a coach call that never happens. Only offer what staff will actually do.
- A friendly automated reply to "I want to cancel". It reads as the gym ignoring them.
There are more of these in gym automation mistakes that increase churn, and it's worth reading before you switch on step 1.
Knowing whether the check-ins keep members
Compare cohorts: members who joined in the three months before the check-ins started against those who joined after. The number that matters is the share still active at day 90. Alongside it, track the reply rate for each message and visits within seven days of each attendance message. For the attendance ladder, hold back a random tenth of triggered members so you can see how many would have come back without a message.
The holdback reads like this in practice. Illustrative month: 80 members hit a trigger, 8 are held back at random and 72 get the ladder. Of the 72, 30 visit within seven days (about 42%); of the 8, 2 do (25%). That gap suggests the messages are doing something, but eight people is far too few to trust on its own. Pool three or four months of holdbacks before drawing a conclusion, and if the messaged group isn't clearly ahead by then, rewrite the step-1 text before adding more messages.
Illustrative sum: say a gym signs 60 new members a month and 62% are still active at day 90. If check-ins lift that to 70%, that's about five extra members from each monthly cohort, at whatever your monthly fee is, for as long as they stay. Your figures will differ. If you're also weighing paid retention software, what gym retention software with AI costs gives something to compare that uplift against.
Gym check-in questions
Should gym check-ins go by text, email or app notification?
Use text for the messages you want answered, such as the first-visit check and attendance drops, because members read texts quickly and reply more easily. Use email for anything longer, like the welcome with timetable links. App notifications suit milestones and class reminders if most members actually use your app. Whatever you choose, keep each member to about one automated message a week across all channels combined.
Should some check-ins come from coaches personally?
Yes. Automate the routine ones and keep the high-stakes moments human: the 30-day review invitation, the second message after an attendance drop, and the pre-renewal conversation. AI can draft these and brief the coach on the member's attendance, but a coach sending it from their own name, or ringing, carries far more weight. Members can usually tell a template from a person.
What should happen when a member replies with an injury or health problem?
Pause every automated message to that member straight away and pass the reply to a coach or manager, who should respond personally. Don't let an assistant give advice about injuries or conditions. Record a 'don't nudge until' date in their profile so attendance triggers don't fire while they recover, and have the coach check in by hand when that date arrives.
Further reads
- Why Customers Cancel: How to Run a Churn Analysis With AI — Find out why members cancel before tuning messages.
- How Pilates Studios Use AI to Turn Intro Offers Into Memberships — The same sequence thinking, applied to intro offers.
- How Personal Trainers Can Use ChatGPT Safely for Client Programmes — Use AI safely when check-ins lead to programme reviews.
- How to Use Booking Data and AI to Fix Your Class Timetable — Fix the timetable if drop-offs cluster around certain classes.
- How to Set Up Human Review for AI Work Without Slowing Down — Keep a person checking AI-drafted member messages.
- Can AI Run Your Studio's Class Waitlist Automatically? — Stop full classes quietly pushing members away.
- How to Build a Customer Loyalty Programme With AI Personalisation — Get the reward maths right first, then use AI to sort customers by behaviour, choose the next nudge for each group and write messages that don't feel creepy.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: ABC Glofox pages on member engagement and gym automation (behaviour-triggered messages, AI Churn Predictor, example re-engagement trigger); Mindbody Messenger[ai] page; PushPress help pages on the member pause workflow. Checked September 2026. Thresholds and retention figures are illustrative starting points.