Ask a café owner how business was last month and you get a number. Ask them who came in and the answer thins out fast: the man who orders a cortado at eight, the two women on Fridays, the office that sends someone over for six flat whites. Maybe twenty people out of several thousand visits.
That is not a memory problem. It is a record-keeping problem, and it is the reason most independent venues can only ever advertise to strangers. You cannot bring back a customer whose name you never had.
What a customer record actually needs
Small venues avoid customer databases because they picture a sales CRM: pipelines, tags, lifecycle stages, fields nobody fills in. A café needs four things per person:
- One contact method — a phone number or an email address. One. Not both, not an address.
- First seen — the date they first turned up.
- Last seen — the date they were last in.
- Visit count — how many times in total.
That is enough to answer every question a small venue can act on. Anything beyond it is admin you will stop doing by the second week.
Why the manual list always dies
Every owner has tried one of these, and they fail for the same reason: they need a human to remember, during a rush, to do something that has no immediate payoff.
| Method | What you get | Why it stops |
|---|---|---|
| Clipboard by the till | Names, illegibly | Nobody asks after week one |
| Spreadsheet after close | A partial list | Typing it up is unpaid work at 7pm |
| Wi-Fi login page | Emails, no visit history | Half the entries are fake, none tie to a purchase |
| Delivery aggregator | Nothing you can keep | The platform owns the relationship and rents it back |
| Till / POS | Transactions, rarely people | Most small tills do not attach a card sale to a person |
The pattern is clear. A list that depends on someone choosing to build it will not get built. A list that fills itself as a by-product of something the customer already wanted to do will.
The two moments that create a record for free
There are exactly two points in a small venue where a customer will hand over a contact detail without being pushed, because they are getting something in return:
- Joining the loyalty programme. They want the stamps. Giving a phone number to hold their card is a fair trade and they know it.
- Ordering ahead. You cannot hand a finished order to an anonymous person; a name and a contact are part of the transaction, not an extra step bolted onto it.
Both are ordinary counter behaviour. Neither asks staff to do anything extra during service, which is the only reason they survive contact with a Saturday morning.
Ask once, and say what it is for. "Number for your stamp card?" is a question people answer. "Can I get your details?" is one they dodge. Tell them what you will use it for, keep it to that, and let anyone off the list who asks. Whatever privacy rules apply where you trade, that behaviour is the floor.
The three questions the list answers
Once records exist, sorted by two dates and one counter, you can answer things that were guesswork before.
1. Who are my regulars, actually?
Sort by visit count. The answer is usually a surprise — the people you assume are your best customers are often the loudest ones, not the most frequent. The quiet person with fourteen visits matters more to the year than the friendly one with three.
2. Who is drifting away?
Sort by last seen. A customer who came weekly for four months and has not been in for three weeks has not decided anything yet — they have drifted, usually because something changed in their route or their routine. That is the one group where a small nudge still works, and the window is short.
3. How many people came once and never again?
Count the records with one visit. This is the least comfortable number in the business and the most useful. A high one-visit share means the problem is not traffic, it is the second visit, and hiring more marketing to fix it just pours more people into the same leak.
What to do with it without spamming anyone
Having the list does not mean blasting it. For a venue with one location, most of the value is offline:
- Recognition at the counter. A customer whose visit count is visible when their card is scanned can be treated like a regular by staff who have never met them.
- Knowing what a regular is worth. Visit frequency multiplied by average ticket is the number that tells you what a free coffee on the stamp card actually costs you, and what a lost regular costs you.
- Launching anything. New opening hours, a second site, a Christmas pre-order sheet — the list is the only audience you can reach without paying a platform for permission.
- Sanity-checking your own story. "We're busy but it's all new faces" is a claim the last-seen column either supports or kills.
The ownership question
This is the part worth being blunt about. When a customer orders through a marketplace, the marketplace has the relationship. You get an order, they get a customer. When that customer opens the app again, the platform decides who they see, and if you want to be near the top of that list, there is a price for it.
A direct list has none of that dynamic. It is not bigger or cleverer than what a platform holds. It is just yours, and it does not change the rent every quarter.
Before you commit to any tool that collects customers, ask what happens on the day you stop paying for it. If the answer is that the list stays with them, it was never your list.
Starting from zero
You do not have to backfill anything. Turn on the two collection points — a stamp card people join at the counter and an order-ahead page they use before they arrive — and the list builds itself from the next customer forward. Within a month you will have your regulars in it, because your regulars are, by definition, the people who come back soonest.
Coffeeloc builds the record automatically: every loyalty signup and every direct order creates or updates a customer record with contact details, visit count and last-seen date, and the list sits in your account rather than a marketplace's. The first 100 customers are free.