You are leaving Smile, LoyaltyLion or a home-grown scheme and every customer must keep their points. The safe order is: import balances → verify → switch the event feed → go live.
1. Freeze the old programme
Stop earning and redeeming there first, then export. A file exported while the old programme is still moving will be wrong by the time it lands.
2. Import the balances
Admin → Import data → Move balances from another app takes the old provider's member export (Smile and LoyaltyLion column names are recognised; anything else needs email and points). Nothing is written until you confirm:
- Upload → a dry run shows how many rows match, how many would be created, and the total points.
- Check the total against the old provider's liability report.
- Commit. Members are created (as prospects if they have not agreed to your terms) and each balance lands as a single
migrationledger entry. - If something is wrong, Reverse undoes the whole batch — one action, no leftovers.
Prefer doing this from the admin rather than scripting POST /v1/members/{id}/adjust per customer: the batch is atomic, reversible and visible to your team.
3. Verify
A few spot checks through the API:
curl https://stickytier.com/v1/members/ref:CUST-1001 -H "Authorization: Bearer $KEY"curl https://stickytier.com/v1/tenant/liability -H "Authorization: Bearer $KEY"liability.outstanding_cents should equal the old provider's figure, allowing for anything you chose not to bring across.
4. Order history stays behind
Do not replay historical orders as order.paid events: they earn like any other order, and members would be credited twice — once by the migrated balance and once by the replay. Tiers build from real orders from go-live; if a member's old tier must survive the switch, set it by hand from the member's page in the admin (it is kept until the next evaluation window closes).
5. Switch the feed
Point your store's order events at StickyTier and start sending customer.* and order.*. From this moment the new programme is the only one earning.
6. Tell members
Send one email, from your own domain, explaining that points moved and where the new rewards page is. The rewards page signs them in by email code — no passwords to migrate.