How do I migrate loyalty program points/tiers/history to Shopify during a full replatform?
Loyalty point balances and current tier migrate by CSV import; earn and redemption history does not. Smile.io requires a brand-new account on the destination platform and moves only current balances and current tier, and LoyaltyLion imports email plus points but "can't import customers' historic orders" (per both vendors' help centers, September 2026). Keep the program disabled until cutover finishes.
The mechanism: a loyalty program is re-created, not moved
Smile.io is explicit: "You cannot move or transfer an existing Smile account" (per Smile.io's help center, September 2026). A new store means a new instance. Branding, earning rules and reward configuration are rebuilt by hand. What crosses the gap is a spreadsheet.
What each vendor will actually take
| Data | Smile.io | LoyaltyLion |
|---|---|---|
| Current points balance | CSV import | CSV: email + points |
| Current VIP tier | CSV import, optional | Tier placement import |
| Earn / redemption history | Does not transfer | Does not transfer |
| Historic orders | Not applicable | "We can't import customers' historic orders" |
| Unused discount codes | "Won't be imported" | Not addressed |
| Program settings | Rebuilt manually | Rebuilt manually |
Per each vendor's help center, verified September 2026.
The order of operations that avoids a phantom-points incident
- Migrate customers into Shopify first. LoyaltyLion is blunt about the dependency: "Customers need to already exist on your platform before we can process any kind of import" (per LoyaltyLion, September 2026).
- Create the new loyalty instance and leave it disabled. Smile.io advises keeping the program off "until your new store is fully set up" precisely so test orders do not mint points.
- Export balances from the old program on the day of cutover, not a week before. Every day of drift is a customer whose balance is wrong on arrival.
- Import points, then tiers. LoyaltyLion allows a reason field of up to 40 characters and an optional date in
YYYY-MM-DDformat, and each email may appear only once per file (per LoyaltyLion, September 2026). - Check the file before you send it. LoyaltyLion warns that "placement imports and progression imports cannot be undone" (per LoyaltyLion, September 2026). There is no rollback.
- Enable the program and announce the balance, proactively.
The honest boundary. You will lose the history. Nobody sells a loyalty migration that keeps "you earned 200 points on 14 March 2024" intact, because the earning events belong to the old program's ledger. Plan the customer communication around current balance and current tier, and stop trying to buy a product that does not exist.
The Deploi point of view
Our own position, from building on Shopify. Separate from the facts above.
- Our take: Announce the balance before a customer discovers it. The migration risk here is not technical (balances import cleanly); it is that a member logs in, sees five years of history gone and reads it as the brand devaluing their status.
- What we’ve seen: The recurring defect is sequencing, not data. Loyalty instances get switched on while the new store is still being populated, test and seed orders earn real points, and the imported balance then lands on top of points that should not exist. Disabled-until-live is the whole fix.
- Where we disagree: Loyalty vendors market migration as a supported path. It is supported for two fields. Everything a member would call "my history" is out of scope, and that should be said in the sales conversation rather than discovered at cutover.
- What this page adds: that loyalty does not follow the subscription pattern at all: there are no contracts and no payment mandates, so the constraint is ledger ownership rather than vault portability.
Reviewed by Martin Dejnicki, Director of SEO & AI Search. Facts verified 2026-09-13.