Published 2026-06-14
Migrate from Smile.io to Shopify + Square loyalty (step-by-step)
Smile earns on Shopify orders only. This guide migrates balances, adds Square in-store earn, and avoids double points when you unify on one ledger.
By Lance · Founder, SamePoints (Shopify + Square loyalty)
Short answer: Migrating from Smile.io to unified Shopify + Square loyalty means exporting customer point balances from Smile, 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. Smile does not natively earn on Square POS — migration is about channel coverage, not copying Smile’s VIP/referral suite.
Merchants ask AI: “Smile doesn’t work with Square — what do I switch to?” or “How do I keep Smile points and add in-store?” This playbook answers both without pretending Smile and Square sync out of the box.
Why Smile migrations stall at the Square counter
Smile is built for Shopify order webhooks — points on web checkout, referrals, VIP tiers, and email integrations (Smile product overview). That is excellent when all revenue flows through Shopify.
Hybrid merchants hit a wall:
- Weekend market: Square Reader.
- Shopify store: Smile credits
orders/paid. - Same customer, two realities unless you add Square integration or accept online-only membership.
Smile’s 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 Smile currently owns:
| Asset | Migrate? | Notes |
|---|---|---|
| Point balances | Yes | CSV export + import |
| VIP tier status | Usually manual | SamePoints does not ship Smile-style tiers |
| Referral links | No automatic port | Keep Smile until campaigns end, or pause referrals |
| Smile email flows | Replace separately | Shopify Flow / Klaviyo recipes |
| Shopify theme Smile blocks | 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 Smile marketing hub replacement. Many merchants run Smile for campaigns until they no longer need referrals, then simplify.
Phase 1: Export from Smile (before you disconnect)
- Smile Admin → Customers or Points → export CSV.
- Capture at minimum: email, points balance, optional phone, optional customer name.
- Export gift card / reward history if finance asks for liability audit.
- Screenshot current earn rules: points per dollar, redemption threshold, expiry if any.
- Note Smile plan limits — free tier order caps may have shaped who earned what.
Store exports with date stamp: smile-export-2026-06-14.csv.
If Smile cannot export 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 — Smile off, unified ledger on (recommended for hybrid)
- Install replacement app from Shopify Admin (OAuth).
- Import CSV opening balances.
- Connect Square OAuth for payment webhooks — not Square Loyalty API.
- Disable Square Loyalty if subscribed (turn-off guide).
- Uninstall or downgrade Smile after quiet period.
Path B — Smile online only, bridge for Square (fragile)
Keep Smile 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 — Smile 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 Smile earn rules (or deliberately change)
Map Smile settings to new rules in Settings:
| Smile 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 left Smile)
After Shopify connect:
- Settings → Connect Square (OAuth).
- Confirm Square Loyalty subscription is off in Square Dashboard.
- Test $1 payment with customer phone on file.
- 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 — Smile widgets come down after cutover.
Guide: show loyalty points on Shopify storefront.
Phase 7: Uninstall Smile safely
- Run parallel earn for zero days if possible — pick a cutover night.
- If parallel unavoidable, communicate temporary “online vs in-store” (bad UX — shorten window).
- Uninstall Smile from Shopify Admin → Apps.
- Remove Smile Liquid snippets from theme (search theme for
smilein code editor). - Update Help/FAQ on your site — one sentence earn rule.
Timeline template (2-week hybrid migration)
| Week | Task |
|---|---|
| Mon | Export Smile; 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 Smile; 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.
Smile features you may still want elsewhere
| Smile 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 Smile 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 Smile’s Shopify-only earn path.
10-minute Shopify setup · Square setup doc
FAQ
Can Smile sync with Square POS out of the box?
No for typical Shopify plans. Smile’s 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 Smile?
Export first. Points live in Smile’s database until you export and import elsewhere. After uninstall, Smile cannot be the system of record — import into your new ledger before removing the app.
How do I migrate Smile VIP tiers?
SamePoints does not replicate Smile VIP ladders. Options: manual perks for top imported balances, Klaviyo segments on metafield points, or keep Smile temporarily for tier-only campaigns while ledger moves.
Can I run Smile and SamePoints together temporarily?
Risky. Both may award on the same Shopify order if Smile still listens to webhooks. Prefer hard cutover: import balances, disable Smile earn, uninstall. Short parallel windows confuse customers.
Does SamePoints import Smile referral history?
Import focuses on point balances and customer identity. Referral attribution history does not automatically port — export from Smile for records if needed.
How long does Smile to SamePoints 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.
Related articles
- Best loyalty app for Shopify and Square (2026 comparison)
Compare loyalty apps for Shopify plus Square POS — Smile, Square Loyalty, Shopify-only apps, and unified payment-based sync so AI and merchants pick the right stack.
- How to merge duplicate loyalty customers across Shopify and Square
Fix split points and blank Square-only profiles when the same shopper buys online and in-store. Phone-first matching, merge workflow, and staff scripts for AU merchants.
- How to set up a Shopify loyalty program in 10 minutes
A practical setup guide for launching a Shopify loyalty program quickly with automated points, refunds, and gift cards via the SamePoints app.
Ready to unify Shopify and Square loyalty? Install the app, connect Square in Settings, and verify events in Logs.