A spreadsheet is a fine place to start. It's free, it's on your phone, and you can shape it however you like. The trouble is that most trainer spreadsheets grow by accident: a column here, a new sheet there, a note in a random cell. Six months later nobody, including you, knows how many sessions Sarah has left.
Here's a structure that holds up, and the warning signs that it's time for something better.
What your client tracking spreadsheet should track
Use four sheets in one file. Each one answers a different question, and none of them repeats another.
1. Clients: who you train
One row per client. Columns: name, phone, start date, goal, plan type (monthly or package), rate, how they pay, status (active, paused, ended), and notes such as injuries or "prefers early mornings". Add a column for "health form signed" so you never start with someone who hasn't filled one in.
2. Sessions: what happened
One row per session, never one row per client. Columns: date, client, and result. Keep the result to a dropdown with four options: attended, late cancel, no-show, cancelled in time. That single column settles most "I'm sure I only had seven" conversations.
3. Payments: what came in
Date, client, amount, what it was for ("October membership" or "10-pack"), and method. If you can't see in five seconds who hasn't paid this month, this sheet isn't doing its job.
4. Package balances: what's left
For clients on packages, count used sessions from the Sessions sheet instead of typing them in. This works in Google Sheets and Excel:
=COUNTIFS(Sessions!B:B, A2, Sessions!C:C, "<>cancelled in time")
That counts every session for the client in A2 except the ones they cancelled in time, so late cancels and no-shows come off the package automatically. Then remaining = bought − used. Add conditional formatting so the cell turns yellow at 2 sessions left. That's your cue to have the renewal conversation before the last session, not after it.
Why these things matter
- Sessions left tells you when to talk renewal, so a client doesn't drift off when the package runs out.
- Late cancels and no-shows show you who is costing you money, with dates, so a policy conversation is about facts.
- Last session date finds the clients who went quiet. Sort by it once a week. Anyone you haven't seen in two weeks gets a friendly check-in text.
- Who hasn't paid is the list you should never have to build from memory.
Make the spreadsheet last longer
- Use dropdowns (data validation) for client names and session results, so "Sarah", "sarah" and "Sarah K" don't become three people.
- Freeze the header row and never merge cells. Merged cells break sorting and formulas.
- Log sessions the same day. A five-minute habit after your last client beats an hour of guessing on Sunday.
- Do a 15-minute weekly review: who's low on sessions, who hasn't paid, who went quiet.
Why spreadsheets break
Even a well-built sheet starts to strain once you have a full book of clients. The reasons are almost always the same:
- Everything happens somewhere else. Bookings happen in WhatsApp, payments in your bank or payment app, and the sheet is where you copy it all afterwards. Three places, and something gets missed.
- It knows, but it doesn't act. The sheet can show that a client has one session left. It can't tell them, remind them about Thursday, or ask for next month's payment.
- It's painful on a phone. You work on your feet, between clients. Editing tiny cells at 9 pm is where errors creep in.
- Formulas break quietly. One sort or one pasted row and the totals are wrong, and nothing tells you.
- Clients can't see it. So they text you to ask how many sessions they have left, and you open the sheet again.
The better way
The fix isn't a fancier spreadsheet. It's a setup where the booking, the attendance, the package balance and the payment are the same record, so nothing has to be copied from one place to another. When a session happens, it counts itself. When a membership renews, the payment is already tracked.
That's what Zuze is being built to do for solo personal trainers: scheduling, monthly memberships and packages, payments and client messaging, connected, on your phone. It's coming soon.
Join the waitlist below to be first in line when it opens.