The Loyalty Members CSV import brings your customers' points balances, VIP tiers, birthdays, and member details into Mage in one upload. It is the easiest way to move from another loyalty app, and it also works for bulk updates from a spreadsheet.
You upload one CSV file. Mage checks every row, shows you a preview, and then imports your customers while you watch the progress live.
Before You Start
Create your VIP tiers first. If your file assigns VIP tiers, those tiers need to exist in Mage with the same names before you import. Capitalization does not matter.
Customers must exist in your Shopify store. Mage matches every email against your Shopify customers. Emails that do not belong to a customer of your store are skipped, and the results page shows you exactly which ones.
Plan availability. CSV import is available on the Starter plan and above. If you are on a trial and want to migrate early, message us on live chat and we will switch it on for you.
Preparing Your File
Download the template from the import page for a ready-made example. Your file needs one row per customer, with these columns:
Column | Required | What it does |
Required | The customer's email address. Used to find them in your store. | |
points | Optional | Their current points balance, for example 500. |
date_of_birth | Optional | Their birthday in YYYY-MM-DD format, for example 1990-05-15. Used for birthday rewards. |
enrolled_at | Optional | The date they first joined your loyalty program, in YYYY-MM-DD format. |
vip_tier_name | Optional | The VIP tier to place them in. Must match a tier name in Mage. |
loyalty_status | Optional | Either member or excluded. Excluded customers cannot earn or redeem points. |
first_name | Optional | Their first name. If left empty, Mage uses the name from your Shopify store. |
last_name | Optional | Their last name. If left empty, Mage uses the name from your Shopify store. |
lifetime_points | Optional | The total points they have earned over their lifetime. |
redeemed_points | Optional | The total points they have spent over their lifetime. |
Leave any optional cell empty and Mage simply skips that detail for that customer. Dates must use the YYYY-MM-DD format. Files can contain up to 150,000 rows.
Running the Import
Open the importer. In Mage, go to Settings, then CSV Import.
Choose Loyalty Members as the import type.
Upload your CSV. Mage checks every row before anything is imported. If any rows have problems, such as a misspelled VIP tier or an invalid date, you will see exactly which rows and why, so you can fix the file and upload it again.
Click Import. You will be taken to a progress page that updates live. You can safely close it; the import keeps running in the background and you can come back any time.
What Happens to Each Customer
Customers already in Mage are updated with the values from your file.
Customers in your Shopify store who are not in Mage yet are added as loyalty members.
Emails that do not belong to a customer of your store are skipped and listed on the results page, so nothing is ever created for an unknown email.
It is safe to upload the same file more than once, for example after fixing skipped rows. Customers are never duplicated.
Migrating From Smile
Moving from Smile.io? You can use your Smile customer export with this importer. Export your customers from Smile, open the file in a spreadsheet, and rename these column headers:
Smile column | Rename to |
Points balance | points |
First name | first_name |
Last name | last_name |
Vip tier name | vip_tier_name |
Date of birth | date_of_birth |
The renamed headers must be lowercase with underscores, exactly as shown. Any other Smile columns, such as Smile Customer ID, Membership status, and Referral url, can stay in the file. Mage ignores them.
Before you upload, create your VIP tiers in Mage with the same names as your Smile tiers so every customer lands in the right tier.
Questions about your migration? Message us on live chat and we will walk you through it.
