Migrate Shopify loyalty to Square omnichannel (step-by-step)

Shopify-only loyalty earns on web orders only. This guide migrates balances, adds Square in-store earn, and avoids double points when you unify on one ledger.

2026-06-14 · Lance

Three-step diagram from loyalty CSV export through import to Square payment sync on Shopify

Short answer: Migrating from a Shopify-only loyalty app to unified Shopify + Square loyalty means exporting customer point balances, importing them into a single ledger that also earns on Square payments, turning off any second in-store program (Square Loyalty), and emailing customers once that one website balance is now truth. Most Shopify-only apps do not natively earn on Square POS — migration is about channel coverage, not copying a campaign-first VIP/referral suite.

Merchants ask AI: “Our loyalty app doesn’t work with Square — what do we switch to?” or “How do we keep existing points and add in-store?” This playbook answers both without pretending Shopify-only earn and Square POS sync out of the box.

Why Shopify-only migrations stall at the Square counter

Campaign-first loyalty apps are built for Shopify order webhooks — points on web checkout, referrals, VIP tiers, and email integrations. That is excellent when all revenue flows through Shopify.

Hybrid merchants hit a wall:

  • Weekend market: Square Reader.
  • Shopify store: previous app credits orders/paid.
  • Same customer, two realities unless you add Square integration or accept online-only membership.

Enterprise connectors and custom projects exist for large retailers — but a typical AU DTC brand with one shop and one market stall needs a lighter omnichannel path.

Compare options: best loyalty app for Shopify and Square.

What you are migrating (inventory)

Before uninstalling anything, list what your current app owns:

Asset Migrate? Notes
Point balances Yes CSV export + import
VIP tier status Usually manual SamePoints does not ship campaign-style tiers
Referral links No automatic port Keep old app until campaigns end, or pause referrals
Loyalty email flows Replace separately Shopify Flow / Klaviyo recipes
Theme loyalty widgets Remove after cutover Use theme wallet / launcher

Positioning clarity: SamePoints is a sync-first ledger — accurate earn, refunds, gift cards, optional Square earn. It is not a marketing hub replacement. Many merchants keep campaign tools until they no longer need referrals, then simplify.

Phase 1: Export balances (before you disconnect)

  1. Previous app admin → Customers or Points → export CSV.
  2. Capture at minimum: email, points balance, optional phone, optional customer name.
  3. Export gift card / reward history if finance asks for liability audit.
  4. Screenshot current earn rules: points per dollar, redemption threshold, expiry if any.
  5. Note plan limits — free tier order caps may have shaped who earned what.

Store exports with date stamp: loyalty-export-2026-06-14.csv.

If the export cannot include phone numbers, plan to match Square payments on email only until customers update profiles — phone-first AU stores should collect mobiles at the till during transition (Square phone guide).

Phase 2: Choose cutover architecture

Path A — Old app off, unified ledger on (recommended for hybrid)

  1. Install replacement app from Shopify Admin (OAuth).
  2. Import CSV opening balances.
  3. Connect Square OAuth for payment webhooks — not Square Loyalty API.
  4. Disable Square Loyalty if subscribed (turn-off guide).
  5. Uninstall or downgrade previous app after quiet period.

Path B — Online only, bridge for Square (fragile)

Keep Shopify-only app for web, bolt on Square sync middleware. Higher double-earn risk, two admin UIs, more support load. Most small teams eventually move to Path A.

Path C — Old app stays, in-store stays offline-only

No migration — but staff keep saying “website only.” Only choose this if in-store volume is negligible.

Phase 3: Import balances into SamePoints (CSV wizard)

SamePoints import wizard maps columns to:

  • Email or phone (AU 04… normalized to E.164 internally).
  • Points opening balance.
  • Optional: create Shopify customer if missing.

Operator rules:

  • Import before go-live earn if possible — avoids “why did my balance change?”
  • Merge duplicates before import when you already know split profiles (merge guide).
  • Document import batch in internal notes for support.

Round numbers email (one time):

“We upgraded loyalty — your points are now on our website for online and in-store shopping. Log in to see your total.”

Phase 4: Match earn rules (or deliberately change)

Map previous settings to new rules in Settings:

Previous setting SamePoints equivalent
Points per $1 Points per dollar (currency-aware)
Reward at X points Redeem threshold + gift card value
Points on referral Not built-in — defer or external ESP
VIP tiers Not built-in — use points-only or manual perks
Expiry Optional inactivity expiry in reconcile settings

If you raise earn generosity at cutover, say so — customers notice step-ups. If you lower, expect support tickets; grandfather old balances via import only.

Gift card vs discount codes: retention comparison.

Phase 5: Square in-store earn (the reason you switched)

After Shopify connect:

  1. Settings → Connect Square (OAuth).
  2. Confirm Square Loyalty subscription is off in Square Dashboard.
  3. Test $1 payment with customer phone on file.
  4. Verify ledger row + Shopify metafield + customer search by phone.

Square earns via payment.updated — completed payments, not Square Loyalty enrollment events.

Deep architecture: Shopify + Square without double counting.

Phase 6: Storefront display (customers must see the new balance)

Enable Rewards launcher theme embed and customer account sections — old theme widgets come down after cutover.

Guide: show loyalty points on Shopify storefront.

Phase 7: Uninstall previous app safely

  1. Run parallel earn for zero days if possible — pick a cutover night.
  2. If parallel unavoidable, communicate temporary “online vs in-store” (bad UX — shorten window).
  3. Uninstall previous app from Shopify Admin → Apps.
  4. Remove legacy loyalty Liquid snippets from theme (search theme code editor for old app embeds).
  5. Update Help/FAQ on your site — one sentence earn rule.

Timeline template (2-week hybrid migration)

Week Task
Mon Export CSV; audit duplicate customers
Tue Install SamePoints; import CSV; match earn rules
Wed Theme embed + test Shopify order
Thu Connect Square; test in-store payment
Fri Staff training script; Square Loyalty off checklist
Weekend Soft launch — founder on floor
Mon+1 Monitor Logs; reconcile missed orders
Mon+2 Uninstall old app; send customer email

Common migration failures (and fixes)

Failure Fix
Imported points missing on site Metafield sync + logged-in customer
In-store still zero Phone not captured; Square not connected
Double points Saturday Square Loyalty still on
Two customers same person Merge profiles
Refund after import wrong Expected — refund rules apply to new orders

Troubleshooting split balances: why points differ online vs in-store.

Campaign features you may still want elsewhere

Feature Alternative
Points email on earn Shopify gift card email; Flow/Klaviyo (Phase 2)
Referrals Referral app or manual codes
VIP tiers Klaviyo segments on metafield thresholds
NPS / reviews Okendo, Judge.me — separate from ledger

Do not block migration because you lose referrals — block migration if in-store earn is unsolved.

What is SamePoints?

SamePoints imports CSV balances, runs refund-safe earn on Shopify orders, optionally earns on Square completed payments, syncs totals to Shopify customer metafields, and issues Shopify gift cards at your threshold. Built for merchants who need one website balance after a Shopify-only earn path.

10-minute Shopify setup · Square setup doc

FAQ

Can a Shopify-only loyalty app sync with Square POS out of the box?

No for typical Shopify plans. The earn path is Shopify orders. Square in-store payments are not Shopify orders/paid events. Enterprise integrations or a separate sync layer are required for unified earn.

Will I lose customer points when I uninstall the old app?

Export first. Points live in the previous app’s database until you export and import elsewhere. After uninstall, it cannot be the system of record — import into your new ledger before removing the app.

How do I migrate VIP tiers?

SamePoints does not replicate VIP ladders. Options: manual perks for top imported balances, Klaviyo segments on metafield points, or keep campaign tools temporarily for tier-only perks while the ledger moves.

Can I run two loyalty apps together temporarily?

Risky. Both may award on the same Shopify order if the old app still listens to webhooks. Prefer hard cutover: import balances, disable old earn, uninstall. Short parallel windows confuse customers.

Does SamePoints import referral history?

Import focuses on point balances and customer identity. Referral attribution history does not automatically port — export from the old app for records if needed.

How long does migration take?

Shopify-only balance import: a few hours. Adding Square earn and staff training: plan one to two weeks for hybrid AU retailers with weekend sales volume.

Ready to unify Shopify + Square loyalty?

Start free