Home>Migrations & Replatforming>Lightspeed>Migrating Lightspeed Loyalty to Shopify

What's the migration path for Lightspeed's built-in customer loyalty program if Shopify has no native loyalty equivalent?

Lightspeed X-Series loyalty is denominated in dollars, not points, so its closest Shopify equivalent is native store credit rather than a points app. Shopify caps store credit at under $15,000 USD per customer account and exposes a storeCreditAccountCredit mutation for bulk loading (Shopify, September 2026). Neither Smile nor LoyaltyLion advertises a balance import on its listing.

Start with what your balances actually are

This is the step that gets skipped, and skipping it is why these migrations land wrong.

Lightspeed X-Series Loyalty is a currency, not a points scheme. Its own documentation describes customers earning "loyalty dollars to spend in your store" and redeeming "their earned loyalty on sales made in store as if it were cash" (per Lightspeed X-Series support, September 2026). It requires "the Advanced plan or the Loyalty module."

That single fact reframes the whole migration. You are not moving a rewards program. You are moving a customer-held dollar liability that happens to have been marketed as a loyalty program.

Getting the balances out

X-Series carries the balance in the customer export. Lightspeed's own instructions for bulk adjustment are to download the customer list as CSV, edit "the loyalty_balance column," and import it back (per Lightspeed X-Series support, September 2026). The same page states the ceiling: "You can only download 1000 customers per CSV file."

For a retailer with 40,000 enrolled customers, that is forty exports, and they need to be taken close together so the balances are a consistent snapshot rather than a moving target. Freeze earning for the extraction window if you can.

R-Series runs a separate Loyalty module with no documented balance export. Plan a report-driven extraction with Lightspeed support rather than assuming a CSV exists.

The two destinations, and why the obvious one is often wrong

Shopify native store creditA points app (Smile, LoyaltyLion, others)
UnitCurrencyPoints, at a rate you set
Maps to a dollar balanceDirectlyBy conversion, which you have to justify to customers
In-store redemptionYes in Shopify POS, but it "can't be active as a payment method on Shopify POS without it also being active on your online store" (Shopify, Sep 2026)Depends on the app; LoyaltyLion's listing names POS support (Sep 2026)
Bulk loadstoreCreditAccountCredit mutation, write_store_credit_account_transactions scope (Shopify, Sep 2026)Not advertised on either listing we checked
Ceiling"You can only issue store credit amounting to less than $15,000 USD on a single customer account" (Shopify, Sep 2026); Shopify's API docs note the limit "can differ depending on the currency of the account"App-specific
Partial useNo. Only full amounts apply; "partial amounts aren't permitted" (Shopify, Sep 2026)App-specific
Earning rules, tiers, referralsNone. It is a balance, not a programThe whole point of the category
CostIncludedSmile: free to 200 monthly orders, $15/mo to 500, $79/mo to 1,000, $199/mo to 2,500 (Sep 2026). LoyaltyLion: free to 400 monthly orders, Classic $199/mo (Sep 2026)

The obvious move is to pick a loyalty app, because that is the category name. The honest move is usually to split the problem in two:

  1. Land the existing balances in native store credit, because they are dollars and store credit is dollars, and because there is a documented API for loading them.
  2. Choose the go-forward program separately, on its own merits, with earning rules you would design today rather than the ones you inherited.

Doing both in one step forces you to invent a points conversion rate for balances that were never points, and then explain that rate to customers who can do arithmetic.

The two limits to design around before you commit

  • The under-$15,000 per-account ceiling. In a retail loyalty book this affects almost nobody, but it will affect somebody, and you want to find them in the export rather than in an error log. Filter the export for accounts near the cap before you start.
  • Full-amount-only redemption. A customer with $180 of credit buying a $40 item is a real scenario, and Shopify's store credit does not part-apply. If your loyalty balances skew large relative to basket size, this is the finding that sends you to a points app instead, and it is knowable from your own data in an hour.

The customer communication, which is the actual risk

Whatever you choose, the balance appears somewhere new and is called something different. Send the notice before cutover, state the balance in dollars, state where it will live, and give a date. A customer who discovers on their own that "loyalty" has become "store credit" assumes they lost something, and the support cost of that assumption exceeds the engineering cost of the migration.

When NOT to migrate the loyalty program at all

  • When enrolment is nominal. If most balances are under a few dollars and redemption is rare, an honest offer to convert balances to a one-time credit on request is cheaper and more popular than a bulk load.
  • When the program was never working. A migration is the cheapest moment you will ever get to retire a program nobody redeems. Take it, and say so plainly to customers.
  • When you have not decided the go-forward rules. Loading balances into an app whose earning logic is still under debate means loading them twice.

The Deploi point of view

Our own position, from building on Shopify. Separate from the facts above.

  • Our take: Separate the liability from the program. The balances are dollars and belong in Shopify's native store credit, which has a documented bulk-load path; the go-forward loyalty scheme is a marketing decision that should not be held hostage to a data migration deadline. Most projects fuse the two and end up designing a rewards program in a cutover week.
  • What we refuse to do: Invent a points conversion rate for balances that were never points. That conversation is where this decision stalls, and it is self-inflicted: it only exists once someone has decided a dollar balance has to become points before it can move.
  • Where we disagree: The standard answer to "Shopify has no native loyalty" is a list of apps. That answer skips the question of what your balances are denominated in, which is the only fact that determines whether an app is the right destination at all. Shopify does have a native, dollar-denominated, API-loadable customer balance. It is just not filed under loyalty.
  • What this page adds: that Lightspeed X-Series loyalty is dollar-denominated rather than points-based, that the balance rides in the customer CSV's loyalty_balance column under a 1,000-row ceiling, and that Shopify's native store credit has a per-account cap and a full-amount-only redemption rule that together decide whether store credit or a points app is the right landing place.

Reviewed by Martin Dejnicki, Director of SEO & AI Search. Facts verified 2026-09-14.