Loading
Sorable Sdn Bhd, Kuala Lumpur · Last updated 29 September 2026 · 15 min read
A loyalty program for a small business is a promise you can keep at the counter. The customer buys the thing you already sell. After a set number of visits they get one of those things free, or a clear discount. The card records the visits. Staff stamp it in the same breath as the receipt. If the promise needs a meeting to explain, it is too large for a shop with one till.
People search this because the public examples are chains. Starbucks, airlines, and hotel points show up in the same results as a neighbourhood cafe, and the advice copies the chain. Ubersuggest, United States, English, September 2026, puts "loyalty program for small business" at about 590 searches a month, with a suggested bid around US$35. Nearby phrases — "loyalty program small business", "small business loyalty program", "loyalty program for small businesses" — add another couple of thousand searches. The pages that rank are mostly software homepages and listicles. A shop owner still has to decide the reward, the stamp count, and what the Saturday staff actually do.
This guide is that decision, written for a single outlet or a short row of them. coloyalty is the card we build for that job: a QR on the counter, a card that lives in the phone browser, and one tap from staff. The price after a 7-day trial is US$99 a year. The steps below work if you use that card or a paper one you already trust. The arithmetic does not change.
Count the people who would notice if you closed on Tuesday. In a cafe that is the office worker who takes the same drink before 9, the parent after school pickup, the builder who eats at the same table. In a salon it is the client booked every six weeks. In a bakery it is the household that buys the same loaf. Those people are the program. Tourists, one-off gifts, and the lunch rush that never repeats are not the reason to print a card.
Write down a rough number. Twenty regulars is enough to start. Two hundred is a queue problem, which is a better problem. If you cannot name fifteen people who come at least twice a month, fix the product and the hours before you invent a reward. A card amplifies a habit. It does not create the first visit.
Ask those regulars one question while you make their order: "If the tenth coffee were free, would you keep the card on your phone?" You want a yes that sounds bored. Excitement is a bad sign. The good programs feel obvious.
Pick a reward a new staff member can grant without asking you. "Free coffee, any size." "Free regular cut." "A loaf on the house." Put the size and the exclusions in the same line the customer reads on the card. "Any hot drink, not including bottles from the fridge" is a rule. "Manager's discretion" is a fight waiting for a Friday.
Keep the reward inside the thing you already make. A free drink costs you beans, milk, a cup, and two minutes. A free tote, a partner voucher, or a draw for a holiday costs you a second system and a conversation. Chains can run points, tiers, and birthday engines because they have a team whose job is the program. You have the person on the espresso machine.
If you sell two things with very different margins, stamp the one you want repeated. A pizza shop can stamp pizzas and leave garlic bread alone. A cafe can stamp drinks and leave retail beans on a separate, rarer offer. Two cards for one visit is how paper piles up in a drawer.
The romantic number is ten. The affordable number depends on your margin and how often the regular already comes.
Take a coffee sold at 12 ringgit, or about US$3 if you price in dollars. Beans, milk, cup, lid, and the labour of that one drink might land near 4 ringgit. A free coffee is roughly that 4 ringgit, given away. If the card needs nine paid drinks to earn it, you have taken in 108 ringgit and given away 4. The giveaway is under 4 percent of those sales. If the same customer was going to buy eight of those drinks anyway, the card's job is the ninth, the tenth, and the habit of not trying the new place on the next block.
Short cards feel generous and get expensive. A "buy 4, get 1" on a low-margin pastry can hand away a fifth of the sales to people who were coming anyway. Long cards feel mean and get abandoned. Twelve stamps for a daily coffee is fine. Twelve stamps for a haircut every eight weeks is a two-year project, and the card will be lost before the reward.
A practical range for cafes and fast repeat visits is 8 to 10 stamps for one free item of the same kind. For slower visits — a treatment, a service, a large grocery basket — use a smaller count or a fixed discount on the next visit, and say the expiry out loud. coloyalty lets you set the number when you set up the card. Change it only when you are ready to honour both the old count and the new one for anyone mid-way. Moving the goal after people have stamps is how a program earns a bad name in a small town.
Write the sum on paper and stick it near the till for the first month. You should be able to point at it when someone asks why the free drink sits at nine.
A paper punch card is honest. It is also a piece of card in a wallet, a school bag, or last month's jacket. Shops that have run paper for years know the failure modes: the customer who swears the card had eight holes, the staff member who punches twice because the customer asked nicely, the stack of blank cards that goes soft in the humidity.
Move to a phone card when those failures cost more than the setup. The useful version is dull. The customer scans a QR, enters a phone number, and keeps the card in the browser. Next time they open the same phone and show the card. Staff see the stamp count and add one. When the card is full, staff confirm the redemption and the count goes back to the start.
That is the whole product shape of coloyalty. There is no app to install, which matters because the regular who will not download a cafe app will still open a link. There is no extra hardware. The printer you already own can produce the QR. The phone behind the counter can scan or take a number.
| Paper punch card | Phone card | |
|---|---|---|
| Where it lives | Wallet, pocket, or the other jacket | The customer's browser |
| Lost card | The stamps are gone | The same phone number restores the card |
| Staff action | Punch a hole | One tap, or type the number |
| Full card | Another hole, easily given | Confirm the reward, then the count resets |
| Best for | A stall you will not see twice | Regulars who come back |
Use paper when you will not see the person again. Use the phone card when the same people return and the paper is what gets lost.
A small shop does not need an email marketing department to recognise a person. A mobile number, with the country code, is enough to find the same card next Tuesday. On the coloyalty join page the customer types that number, agrees to the short privacy line, and can opt into messages. The card is then stored on that phone.
If they change phones or clear the browser, your counter can issue a recovery QR for the same number. They scan it and the stamps are back. That recovery path is the difference between a digital card and a digital loss. Say it once, on the QR stand: "New phone? Tell us and we will put the card back."
Treat the number as the customer's, which it is. Do not read the full list aloud at the pass. Do not use it for a blast because Tuesday was quiet, unless they opted in and you have something specific to say. A win-back note to someone who has gone quiet for 60 days is a different act from a weekly shout.
Write the counter rule on one card and tape it inside the till, facing the staff.
When the customer pays for a stampable item, they show the card or give the phone number. You add one stamp. If a second scan happens in the same moment, the system drops the duplicate, so a nervous double-tap does not give two stamps. When the card is full, you do not stamp again. You confirm the reward, hand over the free drink or the free service, and the balance returns to zero.
That confirm step is the control. A full card should open a redemption, not another hole punch. New staff get this wrong on paper because punching is the only gesture they have learned. On a screen, the full card should look different. In coloyalty the counter shows that the reward is ready, and the person on the till confirms it.
If a customer argues, the rule is the same as paper: the card on the phone is the record. You can look up the number. You do not invent stamps to end a conversation. You can, if you are the owner, add a stamp yourself when you know you forgot at the machine. That power stays with the owner, not with whoever is covering a shift.
Print the QR large enough to read from a step away. Put it where the customer already pauses: beside the card machine, on the pastry case, at the booking desk. A QR on the front door is a poster. A QR at the moment of payment is a card.
For the first fourteen days, you say the same sentence. "We keep the stamp card on your phone. Scan this, and the tenth coffee is free." Then you wait. The customer who wants it will scan. The customer who does not will still pay. Chasing every table burns the staff and trains people to feel sold to.
On day one, join the card yourself and stamp it, so you know what the customer sees. On day two, ask one regular to join while you watch. Time it. In our own pilots the median from opening the QR to holding a card was about nine seconds. If your QR is slow, the problem is usually the stand, the lighting, or a join page that asks for too much. Name and phone are enough.
At the end of week two, look at three numbers only. How many cards exist. How many stamps happened on a normal day. How many rewards you gave away. If cards exist and stamps do not, staff are skipping the tap. If stamps happen and nobody is near a reward, the count may be too long for how often people come, or you have only just started, which is fine. If rewards are flying out in week two, you set the count too low or someone is stamping items you meant to exclude.
A new member can receive one stamp for joining, so the card starts with a mark on the day they switch. One welcome each. A person who already holds a card does not get another for visiting the join link again.
Keep a second, quieter list: members with no visit in 30, 60, or 90 days. A new shop will see that list empty. When it has names, the useful note is specific. "You are two stamps from the free one." A code with three conditions is a voucher, and it should carry a cap and an end. Pause it when the promotion is over, and make sure the till refuses a paused code. The stamp card stays the ordinary visit. The voucher is the slow afternoon.
A second counter can share the same card if it is the same brand and the same reward. Give that counter a short PIN for the stamp screen, so the owner's login is not passed around in a group chat. Two unrelated menus are two cards.
Budget the program as a slice of the sales it touches, plus a small fixed cost. The slice is the reward you already priced. The fixed cost should look like a tool, not a hire. US$99 for a year of coloyalty is the figure we charge after the trial. No card is taken when you open the shop. You can run the trial, print the QR, and stop if the counter hates it.
Refuse anything that needs a new device on the counter, a monthly fee that grows with "contacts", or a setup call before you can stamp the first drink. Those costs are how a loyalty program becomes a software project. A small business loyalty program is a till habit. If the tool fights the habit, keep the paper until you find a quieter tool.
Write the reward, the stamp count, and the shop name in the customer's language, which is usually short. "Nine coffees, the tenth is free. Any size we make. One stamp per visit." If you exclude a category, say so on the card, not in a terms document nobody opens. If stamps never expire, say that too. If you do expire them, pick a window longer than a holiday season and show the date.
Pause the card when you need to stop honouring it — a renovation, a price change you have not finished, a staff shortage that makes free drinks reckless. A paused card should look paused to you and should stop collecting stamps. Resume it when the promise is real again. Deleting the program and starting over throws away the phone numbers of people who already trusted you.
Once the QR is in the right place and every closer can stamp and confirm, stop tinkering. Change the stamp count only with a reason you can say to someone holding seven stamps. Look at the quiet list once a month. One card, one reward, one tap is a program you can still explain in a year.
A shop can set the card up in an afternoon and learn, inside two weeks, whether staff will actually stamp it.
Eight to ten for a daily or weekly purchase of the same item. Fewer if the visit is rare or the item is expensive. More only if the regular already comes often enough to finish the card in one or two months.
You need a record the customer can open and the till can update. A browser card does that without an install. An app is an extra step you will pay for in people who mean to join and never finish.
Yes. They pay by coming back. Charging a membership fee is a club, and a club needs benefits you can list. A free coffee on the tenth visit does not.
For a short overlap, yes. Pick a date, honour the paper holes by adding the same number of stamps to the phone card, and then stop punching paper. Two live systems teach staff to forget one of them.
Cards created, stamps on a normal day, and rewards given. If regulars are joining and staff are stamping, the program is on. Revenue myths can wait until you have a month of those three numbers.
coloyalty is the card these guides describe. A 7-day trial, then US$99 a year. Customers keep it in the phone browser.
Start a shop