Running the business · 6 min read

The customer list you already have

Turning receipts and POS data into a usable regulars list, plus simple win-back outreach.

Most small businesses already have a customer list. It just doesn't look like one yet. It's scattered across a year of receipts, a POS system logging every transaction, and maybe a loyalty program nobody's looked at since it launched. Turning that into a usable list of regulars means pulling what already exists into one place and being honest about what's worth doing with it.

What you're looking for

Not every past customer belongs on a regulars list. Two things matter: someone who comes back on their own, and someone you have a way to reach. A guest who visited once during a promotion and never returned isn't a regular, however much they spent that one time. A guest who's ordered six times over four months and left a phone number at checkout is exactly who this list is for.

Pulling it from your POS

Most point-of-sale systems already track repeat visits when customers enter a phone number or email at checkout, whether through a loyalty program, online ordering, or a receipt preference. Toast, Square, and similar systems can usually export a customer report sorted by visit count or by total spend over a date range. That export is most of the raw material for a regulars list, sitting unused until someone pulls it.

When checkout doesn't currently capture contact info, that gap is worth closing before anything else on this list. A simple prompt at the register, tied to a loyalty program or a receipt option, builds the list going forward even before you've touched the history already sitting in the system.

Building the list

  • Export transactions for the last six to twelve months, filtered to whatever counts as a repeat visit for your business, usually three or more visits.
  • Keep only rows with a usable contact, a phone number or email, since a regular you can't reach isn't useful for outreach.
  • Sort by most recent visit rather than total spend. A big spender from eight months ago who hasn't been back sits in a different category than someone who visited last week.
  • Note the gap since their last visit. This single column does most of the work for deciding who to reach out to and when.

That's the whole list. A spreadsheet with a name, a contact, a visit count, and a days-since-last-visit column covers what almost every small business needs.

Simple win-back outreach

Pick a gap that makes sense for your business, somewhere around thirty to forty-five days for a restaurant a regular would normally visit weekly or biweekly, longer for a business with a naturally slower repeat cycle. When a regular crosses that gap, that's the trigger for a message.

The message itself works best short and personal, closer to a text from the owner than a promotional blast. Mentioning something specific if you can, their usual order, the last time they were in, and offering a light reason to come back does more than a generic discount code sent to the whole list at once. "Haven't seen you in a bit, hope everything's good, we added a couple new specials this month" reads like a person wrote it. A coupon blasted to five hundred people reads like a business trying to hit a number.

Send it from a real person if you can, and keep the list small enough that a reply gets a reply. A regulars list of eighty names, messaged individually a handful at a time each week as they cross the gap, does more for the relationship than the same eighty names hit with one bulk email a quarter.

Handling the reply

A short, personal message tends to get short, personal replies, and that's the part businesses are least prepared for. Someone needs to watch for responses and answer like a person would, rather than let a reply sit unread for a week because nobody claimed the job. If a text or email comes from the owner's number, the reply belongs to that same person, not a general inbox that gets checked once a week.

A reply is also the best signal you'll get about whether the message landed right. A guest writing back "see you this weekend" confirms the tone worked. Silence across a whole batch is worth treating as feedback too, a cue to adjust the wording or the timing before the next round.

Building it without a POS export

Not every small business runs a POS that tracks customers well, or runs one at all. A gift card log, a catering order book, or a stack of business cards collected at the register over a year is still a usable starting point. Type what you have into a spreadsheet by hand when the volume is small enough; a few dozen names is an afternoon. The list doesn't need to be complete on day one. It needs to exist, so every new contact from here forward has somewhere to go.

A loyalty program, even a simple punch card or a phone-number-at- checkout system, is worth setting up specifically because it builds this list automatically going forward. The point isn't the free item after ten visits so much as the record: every visit gets logged against a name without anyone having to remember to write it down.

Beyond win-back

Once the list exists, win-back outreach is the obvious first use, but it's far from the only one. A short note to your top twenty regulars before a menu change, a heads-up about a holiday closure sent only to people who visit regularly, or a birthday message tied to whatever contact info you collected, all draw on the same list. It's an asset once it exists, useful for more than bringing back lapsed guests.

Resist building a separate list for each of these uses. One list, with a visit count and a last-visit date, covers win-back, announcements, and anything else worth reaching regulars about. Splitting it into several lists adds exactly the kind of complexity that turns a fifteen-minute monthly habit into a chore nobody keeps up with.

What to skip

  • A full CRM. For most businesses under a few hundred regulars, a spreadsheet handles everything a CRM would, without a monthly bill or a new login for staff to learn.
  • Segmenting into more than two or three groups. Regulars, lapsed regulars, and everyone else covers almost every situation worth acting on.
  • Discount-first outreach. Leading with a coupon trains regulars to wait for one instead of coming back because they want to.
  • Messaging the whole list at once. A blast to everyone on the same day reads as a campaign. Individual messages triggered by an actual gap read as attention.

Respecting an opt-out

Anyone who replies asking to stop getting messages comes off the list immediately, with no follow-up question. This matters on its own, and it protects the list as a whole. A regulars list that only contains people who want to hear from you gets read when it lands. A list padded with people who've asked to be left alone trains a business to send generic messages to everyone, the exact outcome this approach is meant to avoid.

Keep a simple record of who's opted out, even just a column on the same spreadsheet, so a re-export from the POS doesn't add them back in a few months later. A business that respects a stop request consistently earns the trust to reach out again down the line, if the guest ever comes back on their own.

Privacy, kept simple

A list like this holds names, contact details, and ordering habits, worth handling with the same care you'd want a business to use with your own information. Keep the spreadsheet somewhere only a couple of trusted people can open, skip sharing it over unsecured email threads, and never sell or hand it to another business. None of this requires a formal policy for most small operations, mainly common sense and a short list of people with access.

Keeping it current

A regulars list decays if nobody touches it. Re-export from the POS every month or two, add anyone who's crossed into repeat territory, and drop anyone who's gone quiet long enough to count as lapsed. Fifteen minutes a month keeps the list honest, which matters more than how sophisticated it looks.

Going deeper

The full customer playbook in KJDC membership covers setting up contact capture at checkout if you don't have it yet, message templates for a few different win-back situations, and a simple way to track which outreach brought someone back.