Importing loyalty members
Bringing balances over from Smile, LoyaltyLion or Yotpo — and the one field that silently ruins your tiers.
4 min read
On this page
Rewards → Import / Export. Upload a CSV exported from your current loyalty provider.
Recognised sources: Smile, LoyaltyLion, Yotpo Loyalty, and generic CSV. As with reviews, each source has its columns pre-mapped, with a manual mapping step for anything unrecognised.
Set lifetime points, not just the balance
This is the one that goes wrong.
A loyalty account has two numbers: the current balance (what they can spend) and lifetime points (everything they have ever earned). Tiers are calculated from lifetime points, not from the balance.
If you import only the balance, every customer who has ever redeemed anything arrives with a lifetime total lower than their real one — and a customer who has spent everything arrives at zero. Your entire membership drops to Bronze on migration day.
Map a lifetime points column. If your old provider does not export one, the least-wrong reconstruction is balance plus total redeemed. If you cannot get that either, import at the balance and expect to hand-correct your top tier.
What to export from your old provider
Ask for, at minimum: email address, current points balance, lifetime or total earned points, tier, and account creation date. Take referral codes too if they are offered, though see below.
Check the result, not the status
An import that reports Completed having created zero accounts has not worked. Read the processed, skipped and failed counts, not the badge.
The usual causes of a mass skip are a header row the mapper did not recognise and an email column that is not where the source template expects it.
Referral codes
Evident generates a unique referral code for every imported account that arrives without one, so nobody ends up unable to refer.
What cannot come across is your old provider’s referral links. A Smile link on i.refs.cc, for example, points at Smile’s infrastructure — those URLs stop resolving to anything useful when you leave, and there is no way to redirect them to Evident. Any code a customer has already shared publicly is lost. Plan a re-share.
After the import
- Set the orders start date before creating an
ORDER_PLACEDrule, or accrual refuses to run. If you set it to a date in the past, historical orders after that date will be awarded — on top of the balances you just imported. Usually you want it set to the migration date. - Check your tier distribution against the old system before announcing anything. If almost everyone is Bronze, the lifetime points column did not come through.
- Consider points expiry carefully. If you enable it after importing a set of long-dormant accounts, the expiry start instant means everyone gets a full window from that moment — but that is a window, not an exemption. Decide whether you want to inherit dormancy or start everyone fresh.
Exporting
The same screen exports members and balances as CSV.
One caution: the export includes customer email addresses and is not currently gated behind anything narrower than access to the screen. Treat the file as personal data — do not drop it in a shared drive.
Something missing or out of date? Email [email protected] — docs corrections go straight to the team that builds the feature.