Client tracker spreadsheet for personal trainers: one row per client, nineteen columns, two formulas.
The client record every trainer ends up keeping, built properly once: who they are, what they pay and when it renews, how many sessions are left, when they last checked in and the one thing you owe them next. Switch the column groups you need on or off, then copy the header row into Google Sheets, print the sheet, or download the CSV with five example clients and the formulas explained below. Free, no sign-up.
By Markus Evers · Updated September 2026
build your client tracker
Column groups
Session packs is off by default because most online coaches bill monthly; switch it on if you sell packs of sessions. Each chip adds or removes its whole group of columns in the header, the copied row and the printed sheet.
| Column | Group | Example |
|---|---|---|
| Client | Contact | Anna K. |
| Contact | [email protected] | |
| Phone | Contact | +44 7700 900123 |
| Start date | Contact | 2026-03-02 |
| Goal | Contact | Fat loss, wedding in June |
| Package | Billing | 1:1 online, monthly |
| Price | Billing | 150 / month |
| Renewal date | Billing | 2026-10-02 |
| Last payment | Billing | 2026-09-02 |
| Start weight | Progress | 78.4 |
| Current weight (2-week avg) | Progress | 72.9 |
| Last check-in | Progress | 2026-09-21 |
| Days quiet | Progress | 4 |
| Status | Status and next step | Active |
| Next action | Status and next step | Recalc calories Friday |
| Notes | Status and next step | Prefers voice notes |
16 columns switched on.
after the print
If a document like this goes out to every client, the rebuilding is the part worth retiring: in Coachway, forms, programs and meal plans live in the client app - sent, filled in and stored per client, no printer involved.
see inside CoachwayA client tracker spreadsheet for a personal trainer is one row per client with five groups of columns: contact, billing, session packs, progress and status. Two columns should be formulas, not typed numbers: sessions left (bought minus used) and days since the last check-in. This template downloads as a CSV for Google Sheets or Excel.
What goes in a client tracker for a personal trainer?
Everything you need to answer three questions without opening anything else: who is this, are they paid up and renewing, and do they need me this week. Nothing more, because a tracker you have to scroll sideways through twice stops getting updated. Program details, meal plans and check-in answers live in their own documents; the tracker only records when the last check-in arrived. The letters are the column positions in the downloaded file, which the formulas below refer to.
| Col | Column | What goes in it | Example |
|---|---|---|---|
| A | ClientContact | First name and initial. The sheet is shared with nobody, but it still gets screenshotted. | Anna K. |
| B | EmailContact | The address their invoices and check-in reminders go to. | [email protected] |
| C | PhoneContact | Only if you actually call or message on it. | +44 7700 900123 |
| D | Start dateContact | The day coaching started, not the day they signed. Tenure is read from here. | 2026-03-02 |
| E | GoalContact | Their words, one line, with a date if they gave one. | Fat loss, wedding in June |
| F | PackageBilling | What they bought: 1:1 online monthly, a 12-week block, a session pack. | 1:1 online, monthly |
| G | PriceBilling | What they pay and how often, as agreed. Price rises are read from here. | 150 / month |
| H | Sessions boughtSession packs | For pack clients only: sessions in the current pack. | 12 |
| I | Sessions usedSession packs | Updated after every session, by you, the same day. | 9 |
| J | Sessions leftSession packs | A formula, never typed: bought minus used. Renewal talk starts at 3. | 3 |
| K | Renewal dateBilling | When the current month, block or pack ends. | 2026-10-02 |
| L | Last paymentBilling | Date the last payment actually landed, not the invoice date. | 2026-09-02 |
| M | Start weightProgress | Only if weight matters to the goal. Pick kg or lb for the whole sheet. | 78.4 |
| N | Current weight (2-week avg)Progress | The average of the last two weeks of weigh-ins, not this morning. | 72.9 |
| O | Last check-inProgress | Date of the last check-in they actually sent. | 2026-09-21 |
| P | Days quietProgress | A formula: today minus last check-in. The column that catches a client before they cancel. | 4 |
| Q | StatusStatus and next step | Lead, active, paused or ended. Four words, nothing else. | Active |
| R | Next actionStatus and next step | The one thing you owe them next, with a day. | Recalc calories Friday |
| S | NotesStatus and next step | Anything you would otherwise have to remember. No diagnoses, no health detail you do not need. | Prefers voice notes |
Which columns should calculate themselves?
Two, and they are the reason to keep the tracker in a spreadsheet rather than a notebook. Paste each into row 2 of the downloaded sheet and copy it down the column. Both work unchanged in Google Sheets and Excel.
column J · sessions left
=IF(H2="","",H2-I2)
Bought minus used, blank for anyone not on a pack. Add conditional formatting for 3 or less and the renewal talk happens three sessions before the pack runs out, not after the last one.
column P · days quiet
=IF(O2="","",DAYS(TODAY(),O2))
Days since the last check-in. Colour over 7 amber and over 14 red, sort by it on Monday, and message the top rows first. Missed check-ins are the earliest warning you get; the rest of that list is in how to spot at-risk clients before they quit.
Can I use this client tracker in Google Sheets or Excel?
Yes: download it as a CSV, which Google Sheets, Excel and Numbers all open as nineteen columns. The file holds the five example clients below and twenty blank rows, with the two formula columns left empty so you can paste the formulas in. In Google Sheets use File, Import, Upload; in Excel, open the file and save it as .xlsx. Then freeze row 1, put the four status words (lead, active, paused, ended) on column Q as data validation, and delete the example rows once you have seen how they read.
What a filled-in client tracker looks like
Five illustrative clients on 25 September, eight of the nineteen columns shown: one on track, one three sessions from the end of a pack, one who has gone quiet for eleven days, one paused and one lead. Sort it by days quiet and the row that needs a message today comes first.
| Client | Package | Sessions left | Renewal date | Last check-in | Days quiet | Status | Next action |
|---|---|---|---|---|---|---|---|
| Anna K. | 1:1 online, monthly | - | 2026-10-02 | 2026-09-21 | 4 | Active | Recalc calories Friday |
| Jonas P. | 12-session pack + program | 3 | 2026-10-10 | 2026-09-23 | 2 | Active | Renewal talk next session |
| Mia L. | 1:1 online, monthly | - | 2026-10-12 | 2026-09-14 | 11 | Active | Message today: 11 days quiet |
| Sofie R. | 1:1 online, monthly | - | - | 2026-08-30 | 26 | Paused | Check in 1 October about restarting |
| Emil T. | - | - | - | - | - | Lead | Follow up Friday after the call |
When does a client spreadsheet stop working?
Not at a row count. It stops when the tracker is no longer the only sheet: the last check-in date is copied in from a message thread, the payment date from Stripe, the weight from a check-in form, and each client now needs four places updated by hand every week. At 10 clients that is ten minutes; at 40 it is the Sunday afternoon. The six sheets most coaches end up keeping, and what replaces each one, are in online coaching without spreadsheets. In Coachway the same row fills itself: every client on one screen with their last check-in, messages, training and payment status beside them, filterable by missing check-ins or no contact, and payments settle in your own Stripe account.
How do you adapt the tracker to how you sell?
Paste the header row, not your clients. Describe how you sell and ask for the formulas and formatting rules for your own column letters; the model is good at spreadsheet syntax and has no need to see a single real name. What not to paste into a chat tool is covered in can you put client data in ChatGPT.
Adapt the tracker to your packages
When to use it: After you have switched the column groups on or off and copied the header row.
What to paste in: The copied header row and one paragraph on how you sell: monthly, 12-week blocks, session packs, or a mix.
You are helping me, a personal trainer, set up a client tracker in Google Sheets. I am pasting the header row of my tracker and a description of how I sell coaching. Do three things. 1) For every column that should be calculated rather than typed (sessions left, days since last check-in, days until renewal, anything else that follows from the other columns), give me the exact formula for row 2 using my column letters, written so it stays blank when the inputs are blank. 2) Give me conditional-formatting rules that highlight the rows I should act on this week, with the thresholds explained in one line each. 3) Tell me which of my columns I could delete without losing anything I use. Do not invent columns I did not list. Do not ask me for client data; the structure is enough. MY HEADER ROW [PASTE THE HEADER ROW] HOW I SELL [ONE PARAGRAPH]
Frequently asked questions.
What should a personal trainer track about each client?
Five groups of columns, one row per client: contact (name, email, start date, goal), billing (package, price, renewal date, last payment), session packs if you sell them (bought, used, left), progress (start and current weight if it matters, last check-in, days since the last check-in) and status (lead, active, paused or ended, plus the one next action you owe them). Program details, meal plans and check-in answers do not belong in the tracker; they belong in their own documents, linked from the notes column if you have to.
Can I use this client tracker in Google Sheets or Excel?
Yes. The download is a CSV file, which Google Sheets, Excel and Numbers all open as nineteen columns without conversion: five filled example rows and twenty blank ones. In Google Sheets use File, Import, Upload; in Excel, open the file and save it as .xlsx. The builder on this page copies only the columns you switched on, as a header row, if you would rather start from an empty sheet.
How do I count sessions left automatically?
Make sessions left a formula instead of a number you type. In the downloaded sheet it is column J, so in J2 enter =IF(H2="","",H2-I2) and copy it down: bought minus used, blank for clients who are not on a pack. Add conditional formatting on column J for values of 3 or less, and the renewal conversation starts three sessions before the pack runs out instead of the session after.
How do I see which clients have gone quiet?
A days-quiet column. In the downloaded sheet the last check-in date is column O, so in P2 enter =IF(O2="","",DAYS(TODAY(),O2)) and copy it down, then colour anything over 7 amber and over 14 red. Sort by that column on Monday morning and the first rows are the clients to message before they decide to cancel.
How many clients can a spreadsheet handle?
The sheet itself holds thousands of rows; the limit is you. Up to around 15 clients one tracker is quick to keep current. Past 30 the tracker is still fine, but it is now one of five or six sheets (programs, check-ins, meal plans, payments, leads) that all need the same client updated by hand, and that cross-updating is where the hours go. That is the point to compare it against a coaching platform, not before.
Is it safe to keep client data in a spreadsheet?
It can be, if you keep less in it. Store what you need to run the relationship, not health detail you have no use for; keep the file in an account with two-factor sign-in; share it with nobody who does not coach that client; and delete a client's row when you delete the rest of their data. In the EU the GDPR, and in the UK the UK GDPR, applies to the sheet exactly as it applies to any software.
Should I track progress in the same spreadsheet?
Only the one or two numbers you decide on: a two-week average weight or a key lift, plus the date of the last check-in. The full check-in answers, photos and training logs belong in a separate log per client, because a tracker with forty progress columns stops being something you read at a glance. The tracker answers who needs you this week; the log answers why.
Can ChatGPT build or update this tracker for me?
It can set it up: paste the header row and a description of how you sell (monthly, blocks, session packs), and ask for the formulas and conditional-formatting rules for your column letters. Do not paste real client rows into a consumer chat tool unless you have checked what it keeps; describe the structure instead.
Keep going: the check-in questions that fill the last check-in column in the weekly check-in form, the details that belong in the notes column from day one in the client intake form, what a CRM adds on top of a tracker in CRM for personal trainers, and the full templates library.
The tracker that fills itself in
Every client on one screen with their last check-in, messages and payment status beside them. Start the 14-day free trial and move one client over: cancel any time under Billing.