Skip to main content

Migrating from Yotpo

Learn how to migrate from Yotpo Loyalty to Mage Loyalty in just a few clicks

Written by Kris - Mage Loyalty
Updated over 2 weeks ago

Bring your Yotpo loyalty data into Mage. The import covers:

Points balances (current redeemable + lifetime earned)

Point history (approved earning and redemption activity)

VIP tier memberships (matched by tier name)

Birthdays and enrollment dates (when available)

Before you start

Using VIP Tiers? Create your VIP tiers in Mage first.

Create your VIP tiers with names that match Yotpo

Tier matching works by name. A "Gold" tier in Yotpo maps to a "Gold" tier in Mage.

Case doesn't matter ("gold" matches "Gold"), but the name must be identical otherwise. "Gold Member" won't match "Gold."

Customers with no matching tier get imported without one. You can assign tiers manually afterward.

Configure your VIP settings

Set your entry method (points, spend, or orders), program start date, and tier progress expiry (lifetime, calendar year, or rolling year). Changing these after the migration triggers a recalculation that may override imported tier assignments.

Earning rules, rewards, and other program settings don't affect the import. Set those up whenever you're ready.

Running the migration

  1. Go to Settings β†’ Migrate from Yotpo

  2. Enter your Yotpo API Key and GUID (found in Yotpo under Settings β†’ General Settings)

  3. Click Connect & Import

Mage checks your credentials, then runs the import in the background. A progress indicator tracks the work. You can leave the page and come back.

Third-party integrations like Klaviyo, Omnisend, and Postscript won't pick up the changes automatically. If you use any of these, trigger a manual sync after the migration completes to push the updated customer data. This can be triggered by visiting the 'integrations' page, selecting the relevant integration, and clicking the 'sync all customers' button.

Timing

The import fetches each customer from Yotpo's API individually, at roughly 8 per second.

  • 1,000 customers: ~2 minutes

  • 10,000 customers: ~20 minutes

  • 100,000 customers: ~3.5 hours

Existing customers

Customers already in Mage get their points, lifetime stats, tier, and birthday updated with Yotpo data.

Existing Mage activity history stays intact. Yotpo history items appear alongside it.

Customers who have Yotpo data but no Mage loyalty record yet get one created during the import.

Credentials

Your API Key and GUID are sent to the import job and discarded after. Mage does not store them.

Troubleshooting

Invalid Yotpo credentials - Check your API Key and GUID in Yotpo's dashboard. Use the Loyalty API credentials, not the Reviews API credentials.

Migration failed - The error message on the page tells you what broke. Re-enter your credentials and click Connect & Import to retry. Already-imported customers won't duplicate.

Missing tier assignments - Your Mage tier names must match Yotpo's. Case doesn't matter, but spelling does. "Gold Member" in Yotpo won't match "Gold" in Mage.

Points mismatch - The import snapshots each customer's balance from Yotpo at the time of migration. Points earned or redeemed in Yotpo after the import starts won't carry over.

Did this answer your question?