Meet Mage AIDiscover

How to Migrate from Smile.io to a New Loyalty App Without Losing Customer Points

Written by
Graeme
Graeme
Co-Founder
Reading time
10 min read
Last updated
September 11, 2026
White text reading “How to Migrate from Smile.io” over a soft gradient background

Can you migrate from Smile.io to Mage without losing customer points or VIP status? This guide explains how to migrate from Smile.io to Mage without losing customer points or VIP status. Treat the move as a controlled data migration and program rebuild, rather than a single CSV upload. A Shopify loyalty program carries customer value that needs to remain accurate on day one.

Short answer: Export the standard customer CSV, create matching VIP tiers in Mage, then go to Settings > Data Migration > Import Data and upload a Loyalty Members file. Validate balances and tiers before launch. Import historical points logs separately only when your team needs transaction-level history.

How to migrate from Smile.io to Mage without losing customer points

What this migration actually needs to preserve

The documented migration scope covers each customer’s current points balance, VIP tier, birthday, first name, and last name. Those fields protect the customer-facing promise: members should find the balance and status they had before the change.

That does not mean every part of the old program appears automatically in the new one. Earning rules, rewards, referral settings, campaigns, discount codes, and customer-facing placements need their own review and configuration.

The safest migration principle: separate balances from history

Start with current balances and VIP tiers. Then decide whether historical points activity serves a clear support, reporting, or audit purpose.

Current balances are what customers need to redeem rewards. Historical logs are useful context, but they add mapping work and duplicate-import risk. If you are still deciding whether the move warrants the effort, review the Smile.io alternative page and assess the program you want to run after launch.

“Cannot say enough good things about the team at Mage Loyalty, one of the absolute best organizations we have ever worked with, full stop! So glad we connected with them, completely redid our loyalty program, new concepts, use of loyalty, increasing user engagement, showing us where we were not valuing our best customers, just WOW, amazing team!”
Shawn Norris
Shawn Norris
Founder, West Coast Goalkeeping
West Coast Goalkeeping

Read the West Coast Goalkeeping case study →

Phase 1: Audit your Smile.io program before exporting anything

Program elementImport or rebuild?Source of truthValidation check
Current points balancesImportCustomer CSVTotal and sampled balances match
VIP tiersImport and rebuildCustomer CSV and tier settingsMembers have expected tier
Earning rulesRebuildExisting program settingsRules are configured before launch
RewardsRebuildExisting reward catalogRewards display and redeem correctly
Historical points activityOptional importActivity exportNo duplicate events
Customer-facing surfacesRebuildTheme and program designSurfaces are visible on storefront

Create a migration inventory

Before exporting, record your member count, total current points, VIP tier names, tier thresholds, expiry settings, earning rules, rewards, referral settings, active campaigns, and every place customers currently see loyalty information.

Mark each item as one of four actions: import, rebuild, validate, or retire. This separates customer data from program configuration and prevents the mistake of assuming the CSV contains the whole program.

Record your total outstanding points before cutover. That figure is part of your customer-value liability. Read more about loyalty breakage before treating unredeemed balances as an amount you can ignore.

Decide what must be rebuilt in Mage

Set up earning rules, rewards, referral campaigns, and customer-facing surfaces in Mage separately. Mage Canvas can be used to rebuild the loyalty page, Rewards Widget, account experience, referral surfaces, wishlist, and saved-for-later surfaces.

Also decide whether you will preserve points as points or make a future change to the reward currency. A migration week is usually the wrong moment to change too many customer-facing rules at once. If you are considering it, compare loyalty points vs store credit after the balance migration is stable.

Set a cutover owner and freeze window

Assign owners for exports, configuration, and final approval. A single person can hold multiple roles, but accountability should be explicit.

Set a short freeze window for changes to balances, tiers, and rewards while you prepare the final export. Prepare customer-support responses for missing balances, tier questions, old reward codes, and account access.

Phase 2: Export the right customer file from Smile.io

Use the standard customer export

Export the standard customer CSV containing points balance, VIP tier, date of birth, first name, and last name. Mage’s Smile.io migration guide covers the documented customer-data workflow.

Keep the original export unchanged and use a separate working copy for checks and preparation.

Check the file before editing

Confirm that email is present for every row you expect to import. Email is the required field in Mage’s Loyalty Members CSV.

Check for blank emails, inconsistent formatting, duplicate records, and unexpected tier names. Record the source row count and the sum of current balances before making changes. Those two numbers become your first reconciliation test after import.

Do not use Shopify’s customer CSV importer as a substitute for a loyalty migration. Shopify customer CSV files support customer-profile data, not loyalty balances or order information.

Phase 3: Create matching VIP tiers in Mage before importing

Source tier nameMage tier nameEntry methodThresholdQA status
Base tierBase tierAmount spent0Pending
Mid-tierMid-tierAmount spentRecord source thresholdPending
Top tierTop tierAmount spentRecord source thresholdPending

Configure the default base tier

Configure your VIP tiers in Mage before uploading customer data. Mage includes a default base tier with a threshold of 0. You can rename it, but you cannot delete it.

Mage supports up to 10 tiers. Keep the structure manageable, especially if your old program has tier names that are no longer useful to customers.

Match names exactly

The tier names in the source CSV must match your configured Mage tier names. If they do not match, the customer imports without a tier.

Build a small mapping sheet before the import. List the exact source name, the exact Mage name, the entry method, and the threshold. This gives your team a direct QA reference and reduces avoidable status errors.

Customers care about more than point totals. Their VIP tier status may determine their perceived access, perks, and relationship with the brand.

Choose the correct entry method

Mage uses one primary entry method across the VIP program: amount spent, points earned, or number of orders. Additional criteria can be configured alongside the primary method using AND or OR logic.

After import, Mage automatically applies the Shopify customer tag format Mage VIP Tier: [Tier Name]. Use that tag as a second check in Shopify customer profiles, filters, and segments.

Phase 4: Import customer balances with Mage's Loyalty Members importer

Mage Loyalty Import Data settings page with Migrate from a provider and Manual CSV Import options
Mage Loyalty CSV Import screen with import types, CSV upload, required and optional columns and VIP tier names

Open the correct admin area

In Mage admin, go to Settings > Data Migration > Import Data. Choose Manual CSV Import, then select Loyalty Members for current member data.

Mage provides separate import types for Loyalty Members, Points Logs, Rewards History, and Wishlists. Pick the importer that matches the data you are moving. Do not add transaction history to a member-balance file.

Prepare the Loyalty Members file

The Loyalty Members import requires email. It also supports optional fields for points, date of birth, enrollment date, VIP tier, loyalty status, first name, last name, lifetime points, and redeemed points.

Prepare the working customer export for Mage’s expected structure. The documented Smile migration scope preserves current points balance, VIP tier, birthday, first name, and last name.

Keep the file focused on member data. Earning rules, rewards, campaigns, referral settings, and storefront components are configured separately in Mage.

Run the import and monitor the result

Upload the file and monitor the import result rather than treating the upload action as confirmation that every record is correct.

If customers are missing a VIP tier, check the source value against the Mage tier name first. A name mismatch is the documented reason tiered customers can import without status.

Do not start issuing new points, changing tier rules, or launching customer messaging while the import is still being checked.

Phase 5: Decide whether to import historical points logs

When a balance-only migration is enough

A balance-only migration is often the safer first move. Customers can see the correct current balance and redeem it, while your team avoids importing years of activity that may not affect the launch experience.

Use this route when the main business need is continuity of customer value, not transaction-level reporting inside the new platform.

When historical logs are worth importing

Import historical points activity when your team needs transaction-level records for reporting, audits, or support.

Mage handles this through a separate Points Logs CSV import. Review the required mapping before preparing the file, since historical records may need corresponding earning-rule references.

Avoid duplicate history

Do not re-run a points-history import until you have confirmed what already entered the account. Re-importing overlapping records can create duplicate history and make reporting harder to reconcile.

Historical rewards and wishlists should also be treated as separate projects. Import them only if you have the relevant source data and a clear reason to preserve those records.

Phase 6: Validate the migration before customers see it

CheckExpected resultOwnerStatusEvidence
Source and imported rowsCounts reconcileData ownerPendingExport and import totals
Current pointsTotal and sample balances matchData ownerPendingBalance comparison
VIP tiersMembers appear in expected tiersProgram ownerPendingCustomer records
Shopify tier tagsCorrect Mage tag appearsShopify ownerPendingCustomer profile screenshot
Storefront surfacesPlanned loyalty features displayTheme ownerPendingStorefront screenshots
Test redemptionReward applies at checkoutQA ownerPendingTest order record
Duplicate activityNo duplicate points or historyData ownerPendingCustomer activity review

Run data reconciliation

Compare source and destination row counts. Then compare total current points and a sample of individual balances.

Sample one customer from every tier, the default tier, the highest tier, a zero-balance customer, a customer with a birthday, and a high-balance customer. Check names, birthdays, loyalty status, points, and tier names.

Test representative customer records

Open the corresponding Shopify customer profiles and confirm the expected Mage VIP Tier: [Tier Name] tag is present.

Test a reward with a controlled customer account. The customer should see the expected balance and redeem a reward at Shopify Checkout without needing to copy a discount code.

Also check that a test order does not create duplicate points. If you imported historical activity, confirm that the customer history contains no repeated events.

Check the storefront experience

Enable the Mage Loyalty app embed on the live theme. Storefront features will not appear without it.

Test only the surfaces in your launch plan: the Rewards Widget, dedicated loyalty page, account sidebar, and checkout redemption. Review them on mobile as well as desktop. A correct import still feels broken when customers cannot find their balance.

Build a launch checklist

Capture evidence as you validate. Screenshots, exported totals, test-order records, and a completed checklist make it easier to approve launch and investigate any later discrepancy.

Phase 7: Cut over, communicate, and retire the old app carefully

Use a final export before launch

Take a final customer export after your program freeze. If balances changed after your first export, treat the final file as the source of truth.

Record exactly which file was imported, when it was imported, and who approved it.

Tell customers what changes

Send a short message explaining that points and VIP status are moving, where customers can see their balance, and where they can get support. Keep the message practical.

Do not promise that customer passwords migrate through CSV. Shopify states that customer passwords cannot be imported through a customer CSV, so customers may need to create new passwords under Shopify’s customer import rules.

Uninstall only after validation

Keep the old app available until Mage data checks and storefront QA are complete. Uninstalling early removes your easiest reference point for source data and settings.

Shopify says uninstalling an app stops future billing cycles, though a pending charge already generated for an upcoming invoice can remain according to Shopify app billing guidance.

Monitor the first post-launch week

Review support requests, redemption failures, missing tiers, duplicate balances, and the first group of repeat orders. Run another reconciliation after 24 hours, then again after the first full reporting period.

Keep a simple issue log. Record the customer, the symptom, the expected result, and the resolution. That record helps distinguish one-off account issues from a migration pattern.

FAQ

What data can I migrate from Smile.io to Mage?

The documented Smile.io migration to Mage includes current points balance, VIP tier, birthday, first name, and last name. Earning rules, rewards, referral links, discount codes, campaigns, and historical redemptions should be reviewed separately rather than assumed to transfer with the customer CSV.

How do I export customer points from Smile.io?

To export customer points from Smile.io, download the standard customer CSV containing points balance, VIP tier, date of birth, and customer names. Preserve the original export, create a separate working copy, then record the row count and total points before preparing the file for Mage.

Do Mage VIP tier names have to match Smile.io names?

Mage VIP tier names need to match the tier names in the source CSV for imported customers to retain their tier. Create the Mage tiers before importing, including the default base tier, then compare exact names in a mapping sheet before uploading customer data.

Can I import historical points activity into Mage?

Historical points activity can be imported into Mage through the separate Points Logs importer. It is optional for preserving current customer balances, so use it when your team needs activity records for reporting, audits, or support.

How do I prevent duplicate points during a loyalty migration?

Prevent duplicate points by freezing balance changes, taking a final export, importing current balances once, and documenting any historical-log imports. Validate row counts, total balances, sampled customer records, and test-order behavior before launch.

Should I uninstall Smile.io before importing data into Mage?

You should keep Smile.io installed until the Mage import and storefront QA are complete. Uninstalling ends future billing cycles, but Shopify says a pending charge already generated for an upcoming invoice may remain, so review billing after validation and before removing the app.

A safe migration preserves balances first, protects VIP status second, and gives the team enough evidence to resolve exceptions quickly. Launch only after customer records, Shopify tags, and the storefront experience pass the same checklist.

Ready to see Mage in action? Book a demo.

About the author
Graeme

Graeme

Co-Founder

Graeme is the co-founder at Mage Loyalty. He heads product development, from complex loyalty migrations and large-scale data handling to building the features shaping the future of loyalty on Shopify.

Build a loyalty experience your customers remember.

See how modern Shopify brands use Mage to build stronger customer relationships and drive repeat revenue.

Trusted by
  • Reelie
  • Gelato Pique
  • MiaDonna
  • Tea Drops
  • West Coast Goalkeeping
  • Joy Dravecky
  • Love Sweat Fitness
  • The GoTo
  • Youswim

Related articles

White text reading “Migrate Points to Store Credit” over a soft gradient background.
Loyalty & Retention

How to Migrate a Loyalty Program from Points to Store Credit (Without Losing Customer Balances)

Imagine a Monday support ticket asking why a customer’s 2,400-point balance now shows as $24, while a Klaviyo flow still promises “500 points until your next reward.” To migrate points to store credit safely, the data conversion and customer experience have to change together.

Rivo, Smile.io and Yotpo logos on frosted glass tiles comparing the Shopify loyalty apps
Loyalty & Retention

Rivo vs Smile vs Yotpo: The Three-Way Shopify Loyalty Comparison

This Rivo, Smile and Yotpo comparison examines four Shopify loyalty options with different operating models. Each supports core rewards and referrals, but Rivo centers Shopify-focused retention, Smile.io offers structured loyalty tiers, and Yotpo combines loyalty with a broader UGC ecosystem. Mage Loyalty is the strongest fit for most Shopify brands because it combines loyalty, branded customer-facing surfaces, POS, and operational control in one Shopify-native platform.

Minimalist landscape with the article title "The Big Five: Comparing Smile, LoyaltyLion, Yotpo, Growave and Rivo for Shopify"
Loyalty & Retention

The Big Five: Comparing Smile, LoyaltyLion, Yotpo, Growave and Rivo for Shopify

The reality is that most Shopify store owners spend way more time choosing a loyalty app than actually running one. You get overwhelmed by options, read contradictory reviews, and end up picking based on a free trial or because your friend uses it. Sound familiar?

Mage vs Smile vs Gameball: 2026 Comparison
Comparison

Mage vs Smile vs Gameball: 2026 Comparison

Loyalty program members can generate 12-18% more incremental revenue annually than non-members, yet choosing the right platform to unlock that growth remains a critical decision for Shopify merchants. The loyalty app landscape has matured significantly, with established solutions like Mage Loyalty, Smile.io, and Gameball each staking claims to different segments of the market. This article evaluates all three platforms on their own merits—examining their core strengths, pricing models, integration capabilities, and ideal customer profiles—so you can determine which aligns best with your brand's specific retention goals and operational needs.

White text reading “How to Migrate from Yotpo Loyalty” over a soft gradient background
Loyalty & Retention

How to Migrate from Yotpo Loyalty: Contract Timing, Data Export, and Klaviyo

Pull the agreement and find the renewal date, cancellation method, notice period, auto-renewal language, final billing date, and data-access terms. Do not assume a standard notice period or contract length. Verify the terms that apply to your account.

LoyaltyLion logo with an arrow pointing to the Mage Loyalty logo
Loyalty & Retention

How to Migrate from LoyaltyLion: Complete Step-by-Step Guide

How to migrate from LoyaltyLion Shopify is a controlled transfer of customer balances, tier status, and loyalty history into a new program. The work changes when you use Mage’s direct connector, because the main import should not begin with a spreadsheet.