Skip to main content

Import Loyalty Members with a CSV File

Bring your customers' points, VIP tiers, and member details into Mage from another loyalty app with a single CSV upload.

Written by Kris James

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

email

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

  1. Open the importer. In Mage, go to Settings, then CSV Import.

  2. Choose Loyalty Members as the import type.

  3. 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.

  4. 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

Email

email

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.

Did this answer your question?