Every loyalty platform website has a line that says something like "your data is yours." It's table stakes copy. Almost no one digs into what it actually means in practice, because the question doesn't feel urgent until you're trying to leave — and by then the answer is usually "your data is yours, but the only way to get it out is to ask us nicely for a CSV that will arrive in three to four weeks and won't have the field structure you need."
I built Loyalty Flow on the explicit premise that an operator should be able to leave with their data, in standard formats, on their own timeline. That requires answering some specific format questions that most platforms don't answer specifically. Let's do that.
What "your loyalty data" actually consists of
The data that matters to an operator who's evaluating, running, or leaving a loyalty platform is roughly four things:
- Members. Names, contact info, identifiers, tier, tags, sign-up date, attribution source. The directory.
- The points ledger. Every credit and debit, with timestamp, source, amount, the member it applies to, and a reference to the underlying event (a treatment, a redemption, a manual adjustment). The accounting.
- Transactions. Every charge, refund, gift-card sale, membership renewal, with the processor reference. The financial record.
- The catalog and configuration. Your tiers, your rewards, your treatments, your drops, your memberships, your campaigns. The structure of the program.
Most platforms will give you the first item — the member directory — without a fight. Many will give you the third item if you push. The second and fourth are where it gets interesting.
Why the ledger matters more than the directory
If you leave a platform with just the member list, you can re-engage those patients on a new system, but you can't honor what you owe them. A member with 4,280 points and a Platinum tier sitting on a $200 reward balance is not the same as a name and an email — they have an account balance. That balance is what creates loyalty in the first place. If you can't carry it with you, you've effectively bankrupted your patient's account and asked them to start over.
The ledger is also what gives your accountant something to look at. Loyalty obligations are an unrecognized liability on your books until they're redeemed or expired. If you can't pull the ledger out of the platform in a standard format, you can't reconcile.
A loyalty platform that won't give you the ledger isn't storing your data. It's holding it hostage.
The specific question to ask
Before signing any platform, ask the literal question: can I export the full points ledger as a timestamped CSV with member identifiers, event types, and references, on my own initiative, at any time, with no support ticket required?
The answer should be yes, with a download button somewhere in the admin. If the answer is "our team can prepare an export for you," you're not data-portable. You're renting access to your own records.
What formats actually qualify as portable
The bar for "portable" is pretty specific. Three checks:
- Open format.CSV, JSON, or both. Not PDF. PDF is not a portability format, it's an obfuscation format with delusions of grandeur.
- Stable schema.Field names that don't change between exports. A column called member_id today should still be called member_id next year.
- Self-referential.The ledger references members by an ID that's also in the member export. The transactions reference the same member ID and the same ledger entries. The three exports stitch together with foreign keys. If they don't, you have three lists with no way to reconnect them.
These three properties sound technical, but they're the difference between a real export and a ceremonial one. A platform that hands you three unrelated CSVs has technically complied with "data portability" without giving you anything you can actually move.
What Loyalty Flow does
Three things, all built today, none of them are roadmap items.
One-click export from the admin. Members, ledger, transactions, and the configuration catalog — each as a CSV, in stable schemas, downloadable from the admin without a support ticket. The exports are designed to import into a spreadsheet, an accounting system, or a competing platform without translation.
Public API for read + write. If you want to integrate a separate system, the API gives you read and write access to members, ledger, and transactions. This is currently in beta with the founding cohort and will be GA soon.
Documented schema.Field names, types, and relationships are published. We'll version this so when fields change, you have a migration path.
I built it this way because I wanted to remove the lock-in as a reason an operator would sign with us. I want operators to stay with Loyalty Flow because it's the best product, not because leaving is impossible. The pricing model already does that on the fee side — the export model does it on the data side.
Why most platforms don't do this
Because lock-in is a business model. The rev-share fee is one form of capture; data hostage-taking is another. The two together create a switching cost that's effectively a tax on leaving.
Some of this is unintentional — small platforms genuinely haven't built the export tools and won't prioritize it. Some of it is deliberate. It's usually impossible to tell which from the outside, which is why the question to ask isn't "is my data portable?" (every platform says yes) but "can I download a stitched export of members, ledger, and transactions from my admin right now, without asking you?"
If the answer requires a ticket, the answer is no.
Your data is the most valuable asset your loyalty program creates. Make sure the platform you choose treats it that way.
— Robbie