Customer story · Supplement retail
The founding store: an independent supplement retailer that left TapMango.
This is the store the platform came out of, so it's the least arm's-length case study on the site. An independent supplement retailer paying enterprise money for a kiosk with someone else's logo on it, texts that got quietly filtered by carriers, and a POS workflow that never quite knew about its own Shopify orders. It now runs on this, and every release still ships here first.
01 — The migration
Leaving a loyalty vendor is mostly about consent
Moving member records and point balances is the easy half — an import, a reconciliation, done. The half that matters is consent. An opt-in you inherited from another platform is not an opt-in a carrier will accept on your behalf, so imported members land with their consent state marked pending rather than quietly flipped to yes. They opt in themselves, at the kiosk, with a checkbox they tap and a recorded source and timestamp. It costs some list size on day one and buys deliverability for the next three years.
The rest of the cutover: reward definitions rebuilt in the rewards catalog, balances imported and marked as imported so check-in history stays honest, the sender registered with the carriers, and the kiosk configured in the store's own brand before it went on the counter. The full side-by-side of what changed is on vs TapMango — the honest version, since it's the platform we paid for ourselves.
02 — What runs the counter
Loyalty, kiosk, and the POS in one member record
- The loyalty enginePoints, tiers, and redemptions on one member record keyed to a phone number, with the redemption applied at the register rather than handed over on trust.
- Kiosk check-in on an iPadMembers tap in their number, see their balance and what it unlocks, and claim on the spot. It wears the store's logo, not ours, on the store's own subdomain.
- Shopify POS point syncPaid orders award points automatically, so the kiosk's job is the visit and the consent while the purchase takes care of itself. Free-item rewards are guarded to one unit — learned the hard way when a free-shake reward zeroed both shakes on a ticket.
- A member portal and appBalance, reward history, scan history, and challenges in the member's hands, on the store's brand, so the counter isn't the only place the program exists.
- One record, many capture pointsKiosk, POS, sign-up form, and app all resolve to the same member by phone number — and a name change in the app is written back to the POS instead of drifting apart.
03 — Messaging
Deliverability is the product, not a support article
The reason the store left its old platform wasn't features — it was texts that didn't land. So SMS here is built around the boring parts: A2P brand and campaign registration filed for the store by name during setup, with the kiosk's explicit checkbox as the documented opt-in flow carriers ask about; sends drip-throttled rather than blasted; quiet hours enforced; opt-out instant and never mass-flipped. If you want the full explanation of why a campaign gets filtered and what registration actually involves, we wrote it up: the A2P 10DLC guide for retail.
Who gets a text is decided by lifecycle segments — new, active, lapsing, lapsed, plus store-level filters so a two-location retailer can text one store's members without double-sending to people who shop at both. The store's own write-up of how it segments is here.
04 — Body scans
InBody programs, a leaderboard, and a TV on the wall
The scan program is the thing a general-purpose loyalty vendor was never going to build. Body-composition scans post from the scanner straight onto the member's record, which turns a scan from a printout into three useful things at once: a visit, a history the member can see in the app, and a segment you can message. The store's own account of why this sells is on the blog.
On top of that sits a leaderboard and rolling quarterly challenges. Competitions are configured in the portal — pick a metric like fat-loss percentage, muscle gain, weight-loss percentage, scan count, or a combined score, with optional age and gender multipliers so a fair competition doesn't require an asterisk. Joining is opt-in and snapshots a baseline, so nobody is entered into a contest they didn't know about. Challenges close on schedule, winners are computed, and points are awarded exactly once per member per challenge — idempotent, because a cron that runs twice must not pay twice.
Then the screen: an in-store TV mirrors scan results as they happen. It's provisioned with a token and a store key rather than a login, takes over the screen for a minute when a fresh result lands, and falls back to a branded idle state the rest of the time. Multi-location retailers map each scanner's serial to a store so results only appear on the right screen. It is, in practice, the best advertisement for the scan program the store has — the next customer in line watches somebody's results come up on the wall.
05 — Why this one matters
It's the staging environment with real customers in it
Everything on this site shipped here before it shipped to anyone else, and the store's Saturday traffic has broken most of it at least once. The free-item guard exists because a reward zeroed two shakes instead of one. The app's name-change write-back exists because we found it had been silently failing against the POS for months. The kiosk's consent checkbox is a checkbox instead of a verbal question because a verbal question collects a phone number without marketing permission — which is a compliance problem and a deliverability problem wearing the same coat.
That's the whole credibility argument, and it's also the limit of it: we know retail deeply because we stand in a store, and we say so rather than claiming category expertise we don't have. More on that on the about page, and the vertical write-up for stores like this is supplement & nutrition retail.
06 — Questions
Straight answers.
What actually moves in a TapMango migration?
Member records, point balances, reward definitions, and consent state. Imported members are marked as imported so their consent is treated as pending rather than assumed — an opt-in you inherited is not an opt-in a carrier will accept. Migration is our labor as part of the one-time $500 setup.
Who registers the SMS sender with the carriers?
We do, by name, as part of setup — including the A2P brand and campaign filing with the opt-in flow the kiosk actually uses. Throttling, quiet hours, and opt-out handling are in the platform rather than in a help article, because a carrier-filtered campaign is worse than no campaign.
How do body-scan programs connect to loyalty?
Scans post from the scanner straight onto the member record, so a scan is a visit, a history, and a segment — not a printout. Competitions are configured in the portal with a metric, they close on schedule, and points are awarded once per member per challenge, idempotently.
What does it cost to run a store on this?
$200/mo for the platform with 5,000 texts included and 2¢ per text after that, plus a one-time $500 setup and migration. No contracts. Workforce and construction builds are quoted separately — see pricing.
07 — Next step
See the founding store's live system.
Book a 20-minute demo — the portal, the kiosk, a real campaign send, and exactly what migrating your store off your current vendor would involve.
$200/mo platform · 5,000 texts included · $500 one-time setup & migration · no contracts