Meet Mage AIDiscover

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

Written by
Graeme
Graeme
Co-Founder
Reading time
9 min read
Date posted
October 16, 2026
White text reading “How to Migrate from Yotpo Loyalty” over a soft gradient background

Tea Drops migrated 200,000+ member records, points balances, and loyalty history from Yotpo in under two weeks. To migrate from Yotpo Loyalty safely, treat the move as a data, storefront, and messaging project, not a CSV handoff. Your replacement Shopify loyalty program needs to preserve what customers have earned and what your team has built around it.

Short answer: Start before your renewal or notice deadline, audit loyalty data and Klaviyo dependencies, then build and test the replacement before switching anything off. Freeze Yotpo activity for the final snapshot, import balances and history, manually sync Klaviyo, validate key customer journeys, and uninstall Yotpo only after the new program is live and reconciled.

Migrate from Yotpo Loyalty before the renewal date, not after it

Find the contractual deadline first

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.

Also establish who owns cancellation. Ecommerce, finance, and legal teams can each assume someone else has sent the notice.

Build backward from the launch date

Start the migration before the notice deadline, even if that means a short overlap between systems. That overlap gives you room to configure earning rules, rebuild emails, test the storefront, reconcile balances, and fix surprises without rushing a launch.

A points import may be quick, but the work around it is not. If you are evaluating a replacement, use a Yotpo alternative for Shopify review as one input, then assess your own program requirements.

What to ask Yotpo before exporting

Confirm which loyalty records you can access, how long exports remain available, and whether any app removal affects storefront code or connected workflows. Save exports and screenshots before you cancel access. Your customer data handling should also follow your wider approach to loyalty data and privacy.

Audit the program before you export Yotpo loyalty data

AreaExport or record from YotpoRebuild or validate in the new platformOwner
Member dataBalances, lifetime points, birthdays, enrollment datesField mapping and identity matchingEcommerce
VIP programTier names, members, thresholdsTiers, entry rules, expiry settingsRetention
RewardsRecord redeemed activity and current reward typesReward catalog and checkout behaviorEcommerce
Customer experienceScreenshots of pages, widget, checkout, emailsStorefront design and messagesDesign and CRM
AutomationsProperties, events, flows, segmentsNew triggers and personalizationCRM

Create a data inventory

A points balance export is only one file in the migration. Inventory current balances, lifetime points, earning and redemption activity, VIP tiers, birthdays, enrollment dates, loyalty status, referral records, pending rewards, campaigns, and expiry rules.

Separate what must move from what must be rebuilt. Balances and member attributes are data. Earning rules, reward logic, referral timing, page design, and emails are settings.

Use a Shopify customer export as an identity check, not as a loyalty-data replacement. Shopify customer CSV exports and imports are limited to 15 MB, so larger files may need splitting.

Record the live customer experience

Capture the loyalty page, widget, account area, checkout redemption, referral experience, reward descriptions, and loyalty emails.

This becomes your test script. Without it, a team may import balances correctly but miss a broken referral link, tier message, or checkout reward.

List every downstream dependency

List each Klaviyo flow, segment, campaign, template, conditional split, and dynamic field tied to loyalty data. Include support workflows and Shopify automations if they reference member status or VIP tiers.

Assign an owner to every dependency. The migration is ready for launch only when each owner has confirmed their work.

Choose direct API migration or a CSV fallback

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
Migration routeBest forData handledMain risk or limitation
Direct Mage importA supported Yotpo export pathBalances, history, tiers, birthdays, enrollment datesLater activity after snapshot does not carry over
Loyalty Members CSVControlled spreadsheet-based migrationMember balances and profile fieldsEmails must match Shopify customers
Points Logs CSVPreserving selected earning historyHistorical positive earning activityDoes not change balances and repeat uploads duplicate history

Direct Yotpo migration into Mage

Mage offers a direct migration from Settings > Migrate from Yotpo. It requires the Yotpo Loyalty API Key and GUID, not Reviews API credentials. The import brings across current balances, lifetime earned points, approved earning and redemption activity, VIP memberships, birthdays, and enrollment dates when available.

The job runs in the background with progress tracking. If a retry is needed, customers already imported are not duplicated. Existing Mage customer activity remains intact, while imported history is added alongside it.

Create VIP tiers before starting. Tier names match by name, ignoring capitalization, but otherwise must be identical. “Gold” matches “gold.” “Gold Member” does not match “Gold.”

CSV member import

Use a CSV when the direct path is unavailable or when your team wants spreadsheet-level control. Mage’s Loyalty Members import can include email, points, birthday, enrollment date, VIP tier, loyalty status, first and last name, lifetime points, and redeemed points.

The member import establishes the current balance. It also updates existing loyalty records rather than duplicating customers. Rows for emails that do not match a Shopify customer are skipped, so review the results before treating the import as complete.

Historical points logs

Points Logs add historical earning activity to a customer record but do not alter the current balance. Import Loyalty Members first, then follow the destination platform’s required format for historical points logs.

Do not upload the same Points Logs file twice. A second upload creates duplicate history. Keep a dated copy of every file and reconcile row counts before moving to the next stage.

“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 →

Map balances, tiers, and rewards before the final snapshot

Build a field-mapping sheet

Create one shared mapping sheet with five columns: source field, destination field, transformation, validation owner, and test customer. Include email, current balance, lifetime points, redeemed points, birthday, enrollment date, VIP tier, loyalty status, and historical activity date.

Use test customers that represent awkward cases: a zero balance, a high balance, a recently redeemed reward, an expired tier, and an email that may not match Shopify.

Match VIP tiers by name

Create and review destination tiers before importing members. Match names exactly apart from capitalization, then avoid changing the configuration until imported assignments have been validated.

Review customers with a tier name that does not map cleanly. Decide whether they should be assigned manually, moved to a default tier, or excluded until resolved.

Decide what not to recreate

Map reward types to fixed discounts, percentage discounts, free shipping, free products, points, or store credit as appropriate. Configure rules before launch so testing reflects the live program.

Decide separately how to handle pending points, expired points, unused rewards, referral links, and customers without a matching Shopify record. Export a final report immediately before the freeze. That report is your reconciliation baseline if a customer later disputes a balance.

Rebuild Klaviyo properties, variables, and flows before cutover

Klaviyo dependencyOld dependency to auditNew property or event to mapValidation test
Balance emailPoints-balance profile fieldMage Loyalty Points BalancePreview zero and non-zero balances
Tier campaignTier property and segmentMage Loyalty VIP Tier NameCheck each tier audience
Earned-points flowLoyalty event triggerPoints AwardedSend a test event
Redemption messageReward event and variablesReward RedeemedRedeem a test reward
Tier celebrationTier-change triggerVIP Tier ChangedMove a test customer tier

Replace profile properties

A loyalty migration changes the source of your profile data. Do not assume old properties, segments, or variables will continue to update after cutover.

Mage syncs points balance, lifetime points, redeemed points, VIP tier, birthday, enrollment date, and, where flexible redemption is enabled, points as cash balance. Review every message that displays a balance, tier, reward, or loyalty date.

For a points-balance email, use:

{{ person|lookup:'Mage Loyalty Points Balance'|default:'0' }}

The default prevents a blank value when a customer has a zero balance.

Replace event triggers

Rebuild or duplicate flows in draft status. Mage can send events including Points Awarded, Reward Redeemed, and VIP Tier Changed. Send test events, preview emails, and inspect conditional splits for missing tiers or zero-point customers.

Use loyalty email templates as a practical reference while rebuilding customer-facing messages.

Send a manual sync after import

Imported records do not automatically update third-party integrations. After the migration completes, open the relevant integration settings and run Sync All Customers.

Then validate profiles, segments, and test-event behavior through the Klaviyo loyalty integration.

Plan a realistic timeline for 10,000 to 200,000 members

Member volumeDocumented import exampleWhat still needs timePlanning implication
1,000About 2 minutesMapping, QA, flow testingSuitable for a controlled test
10,000About 20 minutesReconciliation and storefront testingSchedule a freeze window
100,000About 3.5 hoursCRM rebuild, approvals, launch supportPlan the wider project in weeks
200,000+Tea Drops completed a full Yotpo-to-Mage migration in under two weeks, customer case studyFull program and communications workUse as an example, not a promise

Separate import time from project time

Mage documents direct-import processing at roughly 8 customers per second, including about 20 minutes for 10,000 customers and about 3.5 hours for 100,000. That is API processing time, not the complete project timeline.

Configuration, data review, Klaviyo work, QA, reconciliation, approvals, and customer communication take longer.

Use the member count to plan risk

Tea Drops is a useful scale reference, not a service-level guarantee. Its 200,000+ member migration completed in under two weeks.

Plan several weeks for complex programs or large lists. Data quality and approval speed usually create more delay than the import itself.

Why large migrations need a freeze window

Schedule the final snapshot during a lower-volume period. Avoid launching directly before a major promotion, when orders, rewards, and customer-service demand make discrepancies harder to diagnose.

Cut over without downtime or balance mismatches

Freeze the old program

Use a short, controlled freeze for earning and redemption activity. Record the exact timestamp. Running two loyalty systems in parallel for weeks creates conflicting balances and makes reconciliation harder.

Mage snapshots each customer’s Yotpo balance when the import begins. Points earned or redeemed after that moment do not transfer automatically.

Import and sync the new program

Run the final import, then manually sync connected customer data to Klaviyo. Reconcile low, medium, and high balances, every VIP tier, recent earners, recent redeemers, birthdays, and unusual loyalty statuses.

Check total members, total points, tier distribution, and recent activity against the final export. Investigate exceptions before enabling the new customer experience.

Run the launch checklist

Test the journeys customers actually use:

  • Sign up and purchase earning
  • Reward redemption and checkout behavior
  • Refund handling on new orders
  • VIP progress and tier display
  • Referral attribution
  • Account area, loyalty page, and widget
  • Klaviyo events and flow delivery

Enable the replacement storefront only after a complete test order passes. Keep Yotpo installed but inactive while the team validates the new program, unless your Shopify configuration requires a different sequence.

Uninstall Yotpo last

Shopify recommends exporting needed data before uninstalling an app. It also warns that app-dependent workflows and store features stop after removal, and some theme code may need separate cleanup.

Uninstall only after the new program is live, reconciliation is signed off, and your team has saved exports, screenshots, and configuration notes. Shopify also states that, after an app is uninstalled, it sends the developer a request to erase customer personal information after 48 hours.

Validate the first 30 days after leaving Yotpo

Check data integrity

Compare imported member totals, total points balance, tier distribution, and recent activity against the final baseline. Monitor skipped records, duplicate emails, unmatched Shopify customers, missing tiers, and unexpected reward redemptions.

Monitor customer experience

Tag migration-related support tickets. Look for repeated issues such as missing balances, emails with blank personalization, reward confusion, or referral attribution problems.

Measure migration success

Track member logins, points earned, reward redemption, repeat purchase behavior, VIP movement, referral activity, and Klaviyo flow delivery. The first month gives you the baseline needed to assess the rebuilt program.

FAQs

What is the safest time to migrate from Yotpo Loyalty?

Start before your renewal or cancellation-notice deadline. Allow time to configure the replacement, audit exports, rebuild Klaviyo flows, test storefront behavior, and run a controlled freeze.

What Yotpo loyalty data can you export?

Available data depends on your access and destination process. Mage’s direct path can import current balances, lifetime earned points, approved earning and redemption activity, VIP memberships, birthdays, and enrollment dates when available. Confirm referral records, pending rewards, campaigns, and other program objects separately.

How long does it take to migrate 100,000 loyalty members?

Migrating 100,000 loyalty members through Mage’s direct import takes about 3.5 hours in the documented processing example. The full project takes longer because mapping, Klaviyo changes, QA, reconciliation, and launch support are separate workstreams.

How do you replace Yotpo loyalty variables in Klaviyo?

Inventory existing properties, event triggers, segments, and flow logic. Rebuild them with the new platform’s properties and events, send test events, preview dynamic fields, and manually sync imported customer data before activating flows.

Can you switch loyalty apps without downtime?

Yes, with preparation and a short controlled freeze. Build and test the replacement first, stop old-program activity for the final snapshot, import and reconcile data, then remove the old app after the new experience is working.

What happens to points earned during the migration?

In Mage’s direct Yotpo migration, balances are captured when the import begins, so later earning or redemption activity does not carry over automatically. Record the freeze timestamp and reconcile activity around that cutoff.

Start before the contract deadline, assign clear owners, and use the final export as your reconciliation document.

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

Yotpo Review 2026: Pricing, Pros & Cons
Reviews

Yotpo Review 2026: Pricing, Pros & Cons

Yotpo Loyalty and Rewards is a mature points, VIP, and referral app within Yotpo's wider retention suite, with order-based pricing that scales as your Shopify store grows.

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.

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 and Yotpo logos on frosted glass tiles comparing the Shopify loyalty apps
Comparison

Rivo vs Yotpo: Pricing, Features & Which to Pick in 2026

In this Rivo vs Yotpo comparison, Mage Loyalty, Rivo and Yotpo all run loyalty and referral programs for Shopify merchants, but they are built around different operating models. Mage Loyalty is a dedicated Shopify retention platform, Rivo combines Shopify accounts, loyalty and memberships, while Yotpo combines loyalty with reviews, UGC and AI visibility tools. Each can fit a particular stack, but Mage Loyalty is the strongest fit for most Shopify brands that want focused retention tooling with control over the customer experience.

Stamped.io vs Yotpo: Pricing, Features & Which to Pick in 2026
Comparison

Stamped.io vs Yotpo: Pricing, Features & Which to Pick in 2026

Compare Mage Loyalty, Stamped.io, and Yotpo for Shopify loyalty programs. Explore pricing, features, support, and integrations to find the right ...

Okendo and Yotpo logos on frosted glass tiles comparing the Shopify loyalty apps
Comparison

Okendo vs Yotpo: Pricing, Features & Which to Pick in 2026

Mage Loyalty, Okendo and Yotpo all run loyalty and referral programs, but they organize the work differently. In an Okendo vs Yotpo comparison, each platform can connect rewards to Shopify customers, purchases and retention activity. Mage Loyalty fits Shopify-first brands running loyalty as an owned retention system, Okendo fits teams consolidating commerce marketing tools, and Yotpo fits broader retention and UGC requirements. Mage Loyalty is the strongest fit for most Shopify brands because it keeps loyalty close to checkout, POS, customer accounts and the Shopify stack.