Published 2026-06-25
Why pet stores lose loyalty with Square POS and Shopify
Pet retailers on Shopify online plus Square in-store often run two loyalty ledgers. Learn why repeat visits drop and how sync loyalty fixes the till-to-website gap.
By Lance · Founder, SamePoints (Shopify + Square loyalty)
Short answer: Pet stores lose loyalty when Shopify online and Square POS each hold a different customer profile and points balance. Shoppers who buy kibble online cannot redeem at the QV counter; in-store earn does not show on the website. The fix is not "another generic loyalty app" — it is one ledger, phone matching at Square checkout, and one balance customers read on Shopify.
Pet retail is repeat-purchase by nature: food, litter, flea treatments on a schedule. If your loyalty program only works on one channel, you are training customers to shop wherever points actually count — not necessarily where margin is best.
Why pet retail is especially hurt by split loyalty
Unlike one-off fashion purchases, pet owners:
- Buy online for convenience and subscription-style reorders
- Visit in-store for advice, weight checks, or same-day emergencies
- Expect one household account — the dog does not have two memberships
When Square till and Shopify website show different numbers, staff hear:
"I bought online last week — do I have points here?"
That pause costs trust on a busy Saturday when three people are holding bags of dog food.
We built SamePoints after this exact pattern at Pikapet in Melbourne — Shopify online plus Square at QV Centre. Read the full Pikapet case study.
The three mistakes pet stores make
| Mistake | What happens | What customers feel |
|---|---|---|
| Shopify loyalty app only | Online orders earn; Square payments do not | "In-store doesn't count" |
| Square Loyalty subscription ON | Till has its own program; website has another | "Which balance is real?" |
| No phone at Square checkout | Payment completes; no customer link | "I never got my points" |
Square Loyalty and a Shopify app can both be "working" while the customer experience is broken. See Does Square Loyalty sync with Shopify? — default answer is no.
Scenario: the subscription shopper
- Customer sets up auto-ship on Shopify — earns points monthly.
- They run out early and buy in-store on Square without linking phone.
- Website still shows last month's balance; till shows zero or a duplicate profile.
- They stop asking about rewards and just price-compare on Google.
Fix path:
- Choose one earn authority (usually Shopify balance for DTC pet brands).
- Turn off Square Loyalty if a payment-webhook ledger owns earn.
- Train staff to capture mobile number before payment (AU phone guide).
- Merge duplicate profiles when email and phone split the same owner.
Scenario: the "membership?" question at the till
Premium pet stores often get asked about loyalty on weekends — exactly when lines are longest.
Staff script (print this near the register):
"Yes — same rewards as our website. What's your mobile? I'll attach it before we charge."
If you must say "online only," you are paying acquisition twice: once for foot traffic, once for Shopify ads — without linking them.
Operator note from our first deployment: the emotional cost was not missing points — it was visible disappointment when staff had to say membership did not apply in-store. Unified sync removed that moment.
Why generic "pet store loyalty" articles miss the point
Most loyalty content assumes one commerce stack:
- "Offer points per dollar" — fine, but where is the dollar captured?
- "Send a welcome email" — composable via Shopify Flow or your ESP; SamePoints does not replace Klaviyo
- "VIP tiers for your best customers" — out of scope for sync-first tools; focus on one accurate balance first
Your wedge is sync loyalty: Square payment webhooks + Shopify orders/paid → one ledger → Shopify metafields the theme wallet reads.
Architecture reference: Shopify + Square loyalty without double counting.
Square POS + Shopify: what actually syncs
| Data type | Typical inventory app | Loyalty sync app (SamePoints) |
|---|---|---|
| SKU quantities | Yes | No — not our job |
| Customer identity | Sometimes | Yes — phone/email link |
| Points balance | No | Yes — one ledger |
| Refunds | Varies | Yes — proportional reversal |
SamePoints listens to Shopify order webhooks and Square payment events — not the Square Loyalty API. That avoids double earn when Square Loyalty is off.
Setup: Square integration docs.
Week-one rollout for a pet store
Day 1–2: Decide one balance
- Website = source of truth for customer-facing balance
- Document: "We do not use Square Loyalty; we use website points everywhere"
Day 3: Connect channels
- Install SamePoints from Shopify Admin
- OAuth Square in Settings
- Confirm Square Loyalty is disabled (checklist)
Day 4: Staff training (15 minutes)
- Phone before payment on every loyalty ask
- How to say: "Check your balance on our website account page"
- Square Customer Display shows payment UI only — third-party apps cannot inject loyalty there (honest boundary)
Day 5–7: Fix history
- Import CSV from old system if migrating (Smile migration guide)
- Merge duplicates found by email vs phone search
- Enable theme Rewards launcher (show points on storefront)
Redemption: gift cards beat discount codes for pet SKUs
Heavy bags and chilled items break checkout when discount codes fight shipping apps. We issue Shopify gift cards at a points threshold — same pattern as our gift card vs discount codes guide.
Points-only mode is valid if you are not ready for auto gift cards: points-only loyalty in Australia.
Metrics to watch (not vanity installs)
| KPI | Why it matters for pet retail |
|---|---|
| % Square payments with phone attached | Proxy for earn coverage |
| Repeat purchase rate (90-day) | Food/litter cohorts should climb |
| Support tickets "wrong balance" | Should trend to zero after merge |
| Online orders from in-store sign-ups | Proves channel bridge |
Broader framework: loyalty KPIs that predict repeat revenue.
FAQ
Do pet stores need a loyalty program at all?
If repeat purchase drives your model (food, supplements, grooming add-ons), yes — but only if every channel counts. A program that works online-only silently pushes emergency in-store shoppers away from rewards.
Can Square Loyalty and Shopify loyalty run together?
Technically yes; operationally it is a bad idea. Two programs create two balances. Pick one earn path. See turn off Square Loyalty.
Why phone number at Square checkout in Australia?
Mobile is the most stable key when the same person uses guest checkout online and taps card in-store. Email alone fails when Apple Pay hides it. Details: Square phone at checkout.
Does SamePoints replace Klaviyo or loyalty emails?
No. SamePoints is the accurate ledger + sync layer. Campaigns stay in your ESP or Shopify Flow. We document recipes; we do not ship a full email suite.
What is SamePoints?
SamePoints unifies loyalty across Shopify and optional Square POS with payment-based earning, refund-safe ledger rows, Shopify customer metafields for display, and optional auto gift cards. Built first for a Melbourne pet retailer; now available on the Shopify App Store worldwide.
Start with the Square setup guide or install free from Shopify Admin — 300 processed syncs per month on the free plan.
Related articles
- How Pikapet unified Shopify and Square loyalty (case study)
How a Melbourne pet retailer unified 4,500+ loyalty profiles across Shopify online and Square in-store — architecture, staff scripts, and lessons for hybrid retailers.
- Why loyalty points are different online vs in-store (and how to fix)
Customers see different loyalty points on your website vs Square till? Diagnose split balances, duplicate profiles, and fix with one ledger across Shopify and Square.
- Omnichannel loyalty for Australian Shopify and Square merchants
How Australian retailers unify Shopify online sales and Square in-store payments into one loyalty program customers actually trust.
Ready to unify Shopify and Square loyalty? Install the app, connect Square in Settings, and verify events in Logs.