In this guide
- Why your booking data beats any marketing list you could buy
- What to export, and which fields actually matter
- The ten-minute tidy-up
- The first five campaigns hiding in one export
- Before you send: the quick safety check
- Why owner approval is the point, not the bottleneck
- Where TextSavy fits, and where it doesn't
- From export to first campaign: the whole workflow in five steps
- Frequently asked questions
- Put your export to work
You found the export button. You clicked it. And now there is a file sitting in your downloads folder with a name like clients_export_final(2).csv.
You open it and there they are. Two hundred rows, maybe two thousand. Names, mobile numbers, last visit dates, a column of services. Somewhere in that spreadsheet is tomorrow's empty 2pm slot, filled. The trouble is finding it before the day runs away with you.
This is the honest problem with salon booking data marketing. The data was never the hard part. Your booking system has been quietly collecting it for years. The hard part is the hour it takes to turn a raw export into something useful, and that hour is exactly what a salon owner never has. The file gets closed, the day takes over, and the value sits in a folder doing nothing.
This guide closes that gap. By the end, you will know which columns in a salon client export actually matter, how to tidy the file in about ten minutes, and how to pull five specific text campaigns out of it. Real ones, with real recipients, that can fill gaps this week.
No formulas. No jargon. If you can open a spreadsheet and read it, you are qualified.
Why your booking data beats any marketing list you could buy
Before the practical part, one reframe that changes how you look at that file.
A bought marketing list is a pile of strangers. Your booking export is a record of real behaviour: who actually sat in your chairs, what they had done, when they were last in, and how often they come back. Nobody else has this. Phorest does not have it for your competitor down the road, and no agency can sell it to you.
That is why you should use booking data for salon marketing instead of starting from scratch. When you text someone from this list, you are not interrupting a stranger. You are nudging a client who already knows your salon, about a service they already get, at a time that already fits their pattern. That is the difference between a message that fills a chair and a message that gets a client to opt out.
So treat the export with the respect it deserves. It is not admin. It is the most valuable marketing asset your salon owns.
What to export, and which fields actually matter
Most booking systems, including Phorest, Fresha, Acuity, Timely, Square and SalonIQ, can export a client list or appointment history as a spreadsheet file, usually called a CSV. The button is normally found under reports, clients, or settings, and the exact path varies by system. If you are unsure whether your platform exports cleanly, the TextSavy integrations page covers the systems that work by export or by direct connection.
What matters more than where the button is, is what comes out of it. A salon booking export CSV can have thirty columns. You need about six.
The six fields worth keeping
| Field | Why it matters | If your export doesn't have it |
|---|---|---|
| Client first name | A text that opens with a name reads like a message, not marketing | Worth fixing at source; ask clients next visit |
| Mobile number | No number, no text. This is the one non-negotiable | Remove those rows from this exercise |
| Last visit date | The single most useful column in the file. Almost every campaign below is built on it | Try an appointment history export instead of a client list export |
| Last service | Lets you match the message to what the client actually gets done | You can still run date-based campaigns without it |
| Next appointment (if shown) | Tells you who is already booked, so you can leave them alone | Cross-check against your diary for small lists |
| Marketing consent or opt-in status | Tells you who you can text with promotions in the first place | Check how your booking system records consent before sending anything |
Fields you can safely ignore
Email addresses, home addresses, birthdays, loyalty points, internal client IDs, notes columns, payment references. All fine, all irrelevant for today. If a column does not help you decide who to text, what about, or when, it is noise. Hiding or deleting those columns is allowed and encouraged. The job gets smaller the moment you do.

The ten-minute tidy-up
Here is where most owners stall, because "clean the data" sounds like a job for someone with a qualification. It is not. It is three quick checks, and a list that is ninety per cent right and used this week beats a perfect list that never gets used at all.
Check one: do the rows have mobile numbers? Scan the number column. Rows with no number, a landline, or something that is obviously not a phone number get removed from this exercise. They are not deleted from your booking system, just left out of the file you are working on.
Check two: any obvious duplicates? Sort by name and skim. If Sarah Murphy appears twice with the same number, keep the row with the more recent visit date and remove the other. Do not chase perfection here. Obvious doubles only.
Check three: anyone who shouldn't be on a marketing list? Staff entries, test bookings, your own number from when you tried the online booking flow, and anyone whose consent status says no. Take them out.
That is the whole tidy-up. Ten minutes, fifteen if the file is big. You now have a clean working list, and everything from here is the rewarding part.
The first five campaigns hiding in one export
This is how to turn a salon CSV into SMS segments without overthinking it. A segment is just a group of clients who share a situation, and one export contains at least five of them. If you are not sure which kind of gap you are actually fighting, the guide to finding and filling gaps in your salon diary helps you diagnose before you send. Here is the map, then each one in detail.
| Segment | Who they are, in plain words | The signal in your export | The message angle | When to send |
|---|---|---|---|---|
| 1. Gap fillers | Regulars who could take a last-minute slot | Recent visit dates, services that match the gap | "A slot has opened, want it?" | Same day or day before, working hours |
| 2. Due back soon | Clients approaching their usual return point | Last visit date close to one service cycle ago | "About that time again" | A few days before their usual gap closes |
| 3. Overdue but not gone | Clients a bit past their pattern | Last visit date slightly beyond their normal cycle | Warm nudge, easy booking path | Mid-week morning, no urgency language |
| 4. Lapsed, by service | Clients quiet for months, grouped by what they had done | Old last visit date plus last service column | Service-specific welcome back | Quiet weekday, small batches |
| 5. Quiet-day matches | Clients whose habits fit your slowest days | Last service or visit pattern matching underbooked days | A reason to come in on the slow day | Two or three days before the quiet day |
1. Clients who fit last-minute gaps and cancellations
Who they are. Your flexible regulars. The clients who have been in recently, get the kind of service that fits the slot that just opened, and would genuinely be pleased to hear about it.
The signal in your export. Filter to recent last visit dates, then narrow by last service so the offer matches the gap. A cancelled balayage slot goes to colour clients, not to a gents cut list.
What the text should do. One thing: offer the slot, plainly. "A 2pm colour appointment has just opened up tomorrow, would you like it?" reads like a favour, because it is one. First come, first served does the urgency work for you, no countdown clocks required.
When to send. As soon as the gap appears, during sensible hours. A text at 9pm about tomorrow's 10am is already too late and too rude.
This segment pairs with a system for handling the gaps themselves. The guide on filling last-minute cancellations in five steps covers the full play, and the last-minute cancellations use case shows what it looks like running week to week.
2. Clients due back soon
Who they are. The easiest revenue in the entire file. Clients approaching the natural end of their service cycle: the six-week cut, the lash refill, the colour maintenance window. They have not forgotten you. They are just busy, and a well-timed text is a kindness, not a pitch.
The signal in your export. Take the last visit date and add the typical cycle for that service. Anyone landing inside the next week or two is due back. You know your cycles better than any report does: roots at five to six weeks, lashes at two to three, gents at three to four.
What the text should do. Sound like the front desk, not a flyer. "It's been about five weeks since your last colour, want me to hold a spot before the weekend fills?" The booking link or a simple "reply YES" does the rest.
When to send. A few days before their window closes, so booking is easy rather than urgent. There is a whole rhythm to this due-back window, covered properly in the guide to finding salon clients who are due back, but the version above is enough to start earning from it this week.
3. Clients overdue but not gone
Who they are. The quiet middle. Past their usual return point but nowhere near lost. Maybe eight weeks since a six-week service. Life happened, that is all. Catch them here and it is one friendly text. Wait six more months and it becomes a win-back project. The full playbook for this group, including who to contact first and when to stop, is in the guide to finding clients who are due back.
The signal in your export. Last visit date sitting a little beyond that client's normal cycle, with no upcoming appointment in the next-appointment column.
What the text should do. Stay warm and skip the guilt. No "we miss you," no discount reflex. "We've a few openings next week if you're due a refresh, want me to pencil you in?" treats them like the regular they still are.
When to send. Mid-week morning, when booking a slot is a thirty-second decision rather than a Saturday afterthought.
4. Lapsed clients, grouped by service
Who they are. Clients who have genuinely drifted, several months past any normal cycle. Still worth a message, but a different kind of message, and absolutely not all the same one.
The signal in your export. An old last visit date plus the last service column. The service column is what separates a thoughtful win-back from a generic one. A lapsed colour client and a lapsed brow client left for different reasons and respond to different invitations.
What the text should do. Acknowledge the gap lightly and make returning effortless. Mention the service by name. If something has improved since they were last in, a new stylist, a refurb, extended hours, that is your reason to write. The win-back templates give you wording per situation.
When to send. A quiet weekday, in small batches. Twenty well-aimed texts you can respond to beats two hundred sent into the void, and the replies are where the rebookings happen.
5. Clients linked to your quiet days
Who they are. Every salon has a day or a stretch that runs soft. This segment is the clients whose habits make them the natural fix: the flexible ones, the retired regulars, anyone whose visit history shows they are not tied to Saturdays.
The signal in your export. Visit patterns and services that fit the slow day. If Tuesday afternoons are your gap, look for clients who have booked weekday daytimes before, or whose service is one you would happily anchor a Tuesday with.
What the text should do. Give a reason, not a plea. A Tuesday-only perk, a quieter appointment with more time, first pick of the diary. The full menu of approaches is in the guide to filling quiet days with ten marketing ideas, and the quiet days use case shows the segment in action.
When to send. Two or three days ahead of the quiet day. Enough notice to plan around, close enough to act on.
Five segments. One export. Every one of them built from columns your booking system already fills in for free.
If you would rather not build these by hand every week, this is precisely the work TextSavy does with your export: it reads the file, surfaces these groups, and drafts the campaigns for you to review. The manual route above works. The difference is whether the hour comes from your week or not.
Before you send: the quick safety check
A short pause here, because the fastest way to waste this asset is to use it carelessly. None of this is complicated, and none of it is legal advice. It is the operational once-over a careful owner gives every campaign.
Consent and opt-outs
Check what your booking system recorded about marketing consent, and only include clients whose status says yes. Every promotional text needs a clear, easy way to opt out, and it must actually work, with that client never receiving marketing texts again. Make sure the message says who it is from. A text from an unknown number with no salon name is a fast route to being ignored or reported. Consent and opt-out practice for salons deserves proper treatment of its own, which it gets in the salon SMS GDPR guide for Ireland and the UK, and the TextSavy compliance page covers how this is handled when campaigns go through the platform.
Timing and frequency
Send during hours you would be happy to receive a text from a business. Keep a simple rule on frequency, something like no client hears from you more than once or twice a month for marketing, and stick to it. The export makes it tempting to message everyone about everything. The segments above exist so you never have to.
The pre-send checklist:
- Everyone on this list has marketing consent recorded
- The message includes an easy opt-out
- The message says clearly who it is from
- The send time is humane
- I have skimmed the list for anyone who should not be on it
- I have read the final message myself and approved it
That last line matters more than it looks, which brings us to the point most SMS tools get backwards.
Why owner approval is the point, not the bottleneck
There is a school of marketing software that treats the owner as the obstacle: set it running, step away, let the system message your clients however it sees fit.
For a salon, that is exactly wrong. Your clients did not give their number to software. They gave it to you, to the salon where someone knows their name and how they take their colour. The moment messages start going out that you have not read, that relationship is being spent by something that does not understand it.
Approval is not friction in the process. It is the process. Reviewing a campaign before it goes out takes a minute, and that minute is where your judgement gets applied: this client just had a baby, take her off the win-back list; this wording does not sound like us, fix it; this batch is too big for a Tuesday, halve it. That judgement is why texts from your salon land as messages from a business clients trust, rather than noise from a number they mute.
Whatever tool or method you use, keep that minute. Nothing in this guide works without it.

Where TextSavy fits, and where it doesn't
Everything above can be done by hand: export, tidy, filter, draft, send. The full cost is an hour or so per week of focused spreadsheet time, and if you have that hour, this guide is genuinely all you need.
TextSavy exists for owners who do not have the hour. It works alongside the booking system you already have, by export or by direct connection, reads the same booking data this guide has been walking through, finds the gaps and the segments, and drafts targeted campaigns for you to review. You read each one, adjust anything that does not sound like you, and approve it. Nothing sends without that approval, ever.
Two things TextSavy is not, said plainly. It is not a booking system, and it will not ask you to replace the one you have; your diary stays exactly where it is. And it is not software that texts your clients on its own. The drafting is done for you. The deciding is always yours.
That is the data-time gap from the top of this guide, closed from the other side. The data was always there. The segments were always in it. What was missing was the hour, and that is the part you can hand over without handing over control.
From export to first campaign: the whole workflow in five steps
If you only screenshot one part of this guide, make it this one.
- Export. Pull the client or appointment list from your booking system as a spreadsheet file.
- Tidy. Ten minutes: confirm mobile numbers, remove obvious duplicates, take out staff, test entries, and anyone without consent.
- Segment. Pick one of the five groups above and filter the file down to just those clients. Start with whichever matches this week's biggest gap.
- Draft. Write one short message that sounds like your front desk, with a clear next step and an opt-out.
- Approve and send. Run the pre-send checklist, read the message one last time, and send it knowing exactly who is getting it and why.
Then watch the diary. The first time a 2pm gap fills from a text that took you minutes to send, this stops being a marketing chore and starts being a habit. And if the diary still looks patchy after a few campaigns, run the one-week gap diagnosis to see which kind of gap you are really dealing with.
Frequently asked questions
- Do I need to be technical to use a salon booking export?
- No. If you can open a spreadsheet and read names and dates, you have every skill this requires. The work is filtering and common sense, not formulas. The six-field checklist above is deliberately the whole technical requirement.
- How do I export salon data from my booking system?
- Almost every salon platform, including Phorest, Fresha, Acuity, Timely, Square and SalonIQ, has a client or appointment export, usually under reports or client settings, and usually producing a CSV file. The exact path differs by system, so check your platform's help pages for the button. The integrations page lists the systems TextSavy works with by export or direct connection.
- What should I check before texting clients from an export?
- Three things above all: that everyone on the list has marketing consent recorded, that the message carries a clear and working opt-out, and that it says who it is from. Add a sensible send time and a quick skim of the list for anyone who should not be there, and you have covered the essentials. The compliance page explains how TextSavy builds these checks into every campaign.
- What if my export is missing last visit dates or service history?
- You can still do useful work with just names, consented numbers, and nothing else; segment five, the quiet-day campaign, only really needs to know who your flexible clients are. But the richer campaigns depend on dates, so it is worth trying an appointment history export instead of a basic client list, as that version almost always carries visit dates and services.
- Does TextSavy send messages automatically?
- No. TextSavy reads your booking data, identifies the segments, and drafts the campaigns, but every single campaign waits for your review and approval before anything is sent. If you never approve it, it never goes out. The owner's judgement is a permanent part of the process, not an optional setting.
Put your export to work
Ready to put your export to work? Check that your booking system is supported, see how TextSavy turns booking data into draft campaigns for your approval, and have a look at what it costs. Your data has been ready for a while. Now you know what it is worth.




