What are Shopify loyalty cards, and who are they wrong for?
Shopify loyalty cards are a customer-facing balance in card form: a wallet pass on a phone, a stamp card on an account page, or both. The card shows points, stamps or a tier, and a QR or barcode value that resolves to one customer record. Most guides cover installing an app. This one covers the part those pages skip: what the card should do for a subscriber whose orders arrive without them lifting a finger.
A loyalty card built for one-off shoppers quietly fails subscribers. A monthly customer who never has to come back to the store never sees the card move, and the card becomes a screen that says “a few percent of the way to a reward” for two years. The rest of this article is the setup order that avoids that, with the setting values you need to write down first.
The article is written for brands at $3M or more in revenue, on Shopify Plus or a paid subscription platform, with recurring orders as a real share of the business. A brand below that floor, or one with no repeat purchase at all, should not build a card programme yet. The app fees and the attention are better spent on getting a second order.
If you have not yet decided whether to run a programme at all, read the broader piece on Shopify loyalty programmes first, and the platform comparison in ecommerce loyalty platforms. Both cover the choice of tool. This page assumes you have made it.
What a card is not
A loyalty card is not a discount code with a nicer front. A code is stateless: it is valid or it isn’t. A card holds a running balance that changes with every order, refund and adjustment, so it is a second ledger sitting beside your order history. Treat it as a ledger and the rest of the setup makes sense.
A card is also not a retention strategy on its own. It is one lever inside a wider subscription retention programme, and it works only when its rules match how subscribers actually behave.
What do you need in place before you set up a loyalty card?
Before you install anything, check five things. Each one is cheap to confirm now and expensive to discover after 20,000 customers have a balance.
- Customer accounts. The card needs an identified customer. Confirm whether your store uses Shopify’s current customer accounts or the classic version, because the login and the account page a card links from differ between them. Check Shopify’s help documentation for the version you run.
- One customer ID across systems. If your subscription platform creates or syncs its own customer record, find out how it matches to Shopify’s. Two records for one person is the most common source of a wrong balance.
- A margin figure per order. You need gross margin per average one-off order and per average renewal, after discounts. Without it you can’t price a point.
- A subscription cadence. Know how many days sit between renewals for your main products. The first-reward threshold depends on it.
- A place to send events. Klaviyo or an equivalent has to receive card events, or your flows will keep working from order counts and ignore the card.
If your renewals run through a subscription app such as Recharge or Loop, read how that app labels recurring orders in Shopify. Tags, order source and metafields differ between apps, and your loyalty app has to read whichever one yours writes. Our notes on Loop Subscriptions and the best subscription apps for Shopify cover the tool side.
How do you set up Shopify loyalty cards step by step?
The setup runs in eight steps, in an order that matters. Steps 2 and 3 are where the economics get set, so do not skip ahead to card design because it is the visible part. Setting names vary by app, so the steps describe the decision and the value to record, and you map each to your app’s field.
Step 1: Decide what the card represents
Pick one primary unit: points, stamps or tier status. Points suit a store with varied basket sizes. Stamps suit a store with one hero product where “buy 10, get one” is easy to grasp. Tiers suit brands with an obvious spread between light and heavy buyers.
Then write down the customer record the card belongs to, in one sentence: “One Shopify customer ID, matched on ID, never on email.” Every later problem with duplicates traces back to skipping this line. Keep the card to one currency. A card that shows points, stamps and a tier at once tells the customer nothing, and it triples the ledger you have to reconcile.
Step 2: Set the earning rule from margin
Start from the dollar value of one point, not from the earn rate. Choose a redemption value, for example 1,000 points for $10 off, which makes a point worth $0.01. Then set the earn rate and calculate what it costs you as a share of revenue and of gross margin.
The worked arithmetic here is illustrative. Take a hypothetical renewal of $40 and carries $20 of gross margin. At 1 point per $1, it earns 40 points, worth $0.40. In this hypothetical, that is 1% of revenue and 2% of gross margin. Illustratively, double points on renewals would make it 2% and 4%. Whether that is acceptable is a business decision, but it should be a decision, not an app default.
Assume full redemption when you calculate cost. Breakage, the share of points never redeemed, is not published for your store and varies by audience, so metric to confirm from your own ledger after several months of data. Until then, the full-redemption figure is your ceiling.
Step 3: Give subscription renewals their own rule
Renewals need a deliberate rule, and this is the step most teams get wrong. The default in most loyalty apps treats a renewal as any other paid order, or, depending on how the subscription app writes the order, does not treat it as an eligible order at all. Either way, nobody chose it.
Work through the illustrative numbers again. At 40 points per renewal and a first reward at 1,000 points, a monthly subscriber needs 25 renewals to reach the first reward. That is more than two years. A threshold that suits a shopper who buys every few weeks in varied baskets is unreachable for a customer on a fixed cadence and a fixed price.
There are three ways to fix it, and you can combine them:
- Lower the first threshold so a subscriber reaches a reward within roughly a quarter of renewals, working backwards from the cadence you wrote down in the prerequisites.
- Add milestone rewards tied to renewal count, such as a small gift at renewal 3 and another at renewal 6, independent of the points balance.
- Give a one-time joining bonus on the first renewal so the card never opens at zero.
Milestones deserve the most thought. Cancellations often cluster early in the subscription lifecycle, which we cover in why supplement subscribers cancel at month three. A reward that lands just before that point puts something in front of the customer at the moment they are deciding.
Whether recurring orders earn at all is the other half of the decision. The case for earning: the card looks alive and the customer sees progress. The case against: the customer is already retained by the subscription, so you may pay for behaviour you had anyway. Neither answer is right in general. Pick one, and test it against a holdout, using the random holdout covered in the churn section.
Step 4: Configure the card design and pass fields
Design comes fourth because it costs nothing to change and everything above costs money to change. Put three items on the front of the pass: the customer’s name, the current balance and the distance to the next reward, written as a plain sentence such as “120 points to your next reward”. Distance to a goal drives action more than a raw balance does.
Keep the barcode or QR value tied to the customer ID rather than to an email address or a card serial you generate yourself. If the app lets you add a back field, use it for the redemption rules and a link to the account page. Use your brand’s colours with enough contrast that the balance is readable in bright light, and check the pass in both light and dark mode on the device.
For a subscriber, add one more field: the date of the next renewal, if your subscription platform exposes it. A card that shows the next box date does something a points balance can’t, because it gives the customer a reason to open the pass.
Step 5: Choose where the card is issued
A card that has to be requested is one that most customers never hold. Issue it in three places: the order confirmation page, the order confirmation email and the first renewal email. Each contains an add-to-wallet link or a link to the account page where the customer can add it.
Do not gate the card behind a signup form separate from checkout. If the customer is already identified, the card should be one tap away. For customers who subscribed before you launched the programme, run a one-off email to the existing base with the link, and import their historical balance only after you have agreed the rule for backdated points. Backdating every past order at full rate creates a liability spike on day one.
Step 6: Wire card events into Klaviyo
Send four card events to Klaviyo: balance changed, reward earned, reward redeemed and expiry approaching. Include the balance and the points to the next reward as properties on the event, not only as a profile field, so that a flow can read the value as it was at that moment.
Build flows from those events instead of from order counts. A “reward earned” email that fires when the customer crosses a threshold is far more relevant than a generic thank-you. Our guide to Klaviyo flows covers the flow mechanics, and lifecycle flows covers the wider programme.
State the negative here: Klaviyo does not calculate loyalty balances. It receives them from your loyalty app. If the integration lags, an email can quote a balance that is a day old, so test the delay with a real order and decide whether a flow should wait before sending.
Step 7: Set expiry and redemption rules
Write down five rules and put them where the customer can see them: whether points expire and after what condition; what happens to points when an order is refunded; what happens on a chargeback; what happens when a subscriber cancels; and whether rewards stack with subscription discounts.
The stacking rule deserves attention. Many subscription plans already carry a recurring discount. If a loyalty reward stacks on top, a renewal can drop below the margin you priced in Step 2. Decide the floor, and set the app to apply only one discount or to exclude subscription orders from redemption if your margin can’t take both.
For expiry, an inactivity-based rule suits subscribers better than a fixed annual date, because an active subscriber never sees the card lapse. Laws on expiry and unclaimed value differ by jurisdiction, so confirm your rules with counsel before you publish them.
Step 8: Test with three customer types
Run three test customers through the full path before launch. The first is a new one-off buyer: check that the card is issued, the balance is right, and the email fires. The second is a subscriber: check that the first order, a renewal, a skipped renewal, a failed payment followed by a successful retry, and a cancellation each move the balance as you intended.
The last test customer has two email addresses, one used at checkout and another in the subscription portal. This case exposes the duplicate-record problem. If two cards appear, fix the matching rule before you launch, not after.
Which step do most teams get wrong?
The renewal rule, the third step, is the one that goes wrong most often, and it fails silently. Nothing errors. The app keeps issuing points, the pass keeps updating, and the dashboard shows healthy enrolment. The failure only appears in subscriber behaviour: nobody reaches a reward, and nobody notices the card.
There are two versions of the mistake. In the first, renewals earn at the standard rate against a threshold set for one-off shoppers, so the card looks like a promise that will never pay out. In the second, the subscription app writes renewals in a way the loyalty app doesn’t recognise, so subscribers earn nothing at all and hold an empty card. The second is worse, because it can run for months before anyone opens a subscriber’s account to look.
A related error sits next to it: reversing points correctly on a refund but not on a failed-then-recovered payment. When a renewal fails and a retry succeeds, some setups create the order twice in the loyalty app’s view, or award the points on the first attempt and again on the retry. Test this case explicitly. Our writing on involuntary churn and Recharge dunning explains how retries are structured, and that structure decides how many order events your loyalty app sees.
The fix is procedural. Compare the loyalty ledger against the order ledger for a sample of subscribers every week for the first month. Two ledgers that should agree and don’t are the signal, and it is far cheaper to spot the drift at 200 customers than at 20,000.
What settings should you write down before launch?
Record each setting from the following table in a shared document with the value you chose and the reason. Six months from now, whoever inherits the programme will need to know whether a rule was deliberate.
| Setting | What to decide | How to work out the value |
|---|---|---|
| Value of one point | Dollars per point on redemption | Choose a round redemption, then divide the reward by its point cost |
| Earn rate, one-off orders | Points per dollar | Cost as a share of gross margin per average order |
| Earn rate, renewals | Same, higher, lower or zero | Same calculation using renewal margin after subscription discount |
| First reward threshold | Points to first reward | Renewals per quarter multiplied by points per renewal |
| Milestone rewards | Renewal counts that trigger a gift | Place one before the point where your cancellation curve steepens |
| Expiry | None, fixed or inactivity-based | Balance retention against the size of the liability |
| Refund and chargeback | Reverse points or keep them | Reverse for any order that was refunded or lost in a dispute |
| Stacking | Allowed, blocked or floor-limited | Lowest acceptable margin on a renewal after all discounts |
| Customer match key | ID, email or both | Customer ID, with a merge step for duplicates |
Take from the table that every row is a decision with a method behind it, and that none of the values comes from an app’s default. The app’s defaults were chosen for a generic store, and your subscription economics are not generic.
How do you verify that the card is working?
Verification is a reconciliation job, not a visual check. A pass that looks right can still be wrong underneath. Work through these checks in the first week and again after the first full renewal cycle.
- Ledger match. Export a sample of customers and compare each card balance to the sum of points you would calculate from their orders under your rules. Any difference is a bug in the rules or the integration.
- Renewal coverage. Count subscribers who have had at least one renewal and hold a balance of zero. If the count is not close to zero, renewals are not reaching the loyalty app.
- Duplicate cards. Search for customers with more than one card or more than one loyalty record. Fix the match key, then merge.
- Event delivery. For a handful of test orders, confirm the four Klaviyo events arrive with the right properties and with an acceptable delay.
- Wallet update. Change a balance and check how quickly the pass updates on an iPhone and an Android device. Update limits and timing depend on the wallet platform and the app, and are not something to assume.
- Refund path. Refund a test order and check that the points reverse as your rule says.
Keep the test customers. You will use them again after every app update, because loyalty apps change how they read orders more often than their marketing pages suggest.
What breaks when the programme reaches volume?
At small scale most errors are invisible. At volume, four things break, and each one can be planned for.
Liability grows without a budget line
Outstanding points are a promise to give a discount later. Calculate the total each month: points outstanding multiplied by the dollar value per point, at full redemption. Show it to finance. If nobody owns that number, the first time it surfaces is when a redemption spike arrives during a sale, and the discount lands on top of a promotional price.
Subscription edits create orphan orders
Customers skip, swap and pause. Depending on how your subscription platform writes those changes to Shopify, a loyalty app may see an order that is later cancelled, edited or replaced. Check how cancellations and edits propagate, and run your weekly ledger comparison for a subscriber sample that includes those actions.
Stacking erodes margin quietly
A renewal that carries a subscription discount, a loyalty reward and a promotion can fall below the floor you set. Put a guard in place at the discount level, and review a sample of renewals with all three each month. If your app can’t block the combination, remove the reward from subscription orders and offer it on the next one-off purchase instead.
The card and the data warehouse disagree
Once someone builds a dashboard on loyalty data, it becomes a third ledger. Decide which system is the source of truth for balances, and have the others read from it. If you run reporting and analytics work on top of Shopify data, document which fields are loyalty-derived so a report does not double-count a reward as revenue.
Does a loyalty card reduce subscription churn?
Nobody can answer that for your store without measuring it, and a general number would mislead you. Published churn benchmarks exist for consumables subscriptions, and our subscription churn benchmark for DTC consumables is the place to see where your curve sits against comparable brands before you attribute any movement to a card.
To measure it properly, split new subscribers at random into a group that receives the card and a group that doesn’t, and compare their cancellation curves over the same calendar weeks. Do not compare before and after, because seasonality, a price change or a new product will move the curve regardless. If a holdout is impossible, record that the estimate is directional.
To size what a change is worth, use the subscription churn calculator: enter your current monthly churn and a hypothetical reduction, and read the effect on retained subscribers over twelve months. Treat the reduction as an assumption you are testing, not a promise. Loyalty cards are one small input to churn, and failed payments are another. A card does nothing for the share of cancellations that are involuntary, which is the job of payment recovery.
If you can only afford one experiment, test the renewal-milestone reward. That reward is the part of the card most specific to subscribers and the part competitors’ generic setups leave out.
Where does this leave a subscription brand?
Loyalty cards on Shopify are easy to install and hard to set up correctly for recurring revenue, because the card is a second ledger that has to agree with your orders, your subscription platform and your email flows. Getting the earning rule, the renewal rule and the reconciliation right is a subscription retention problem, and it is the work covered by our subscription retention service.
Sources
- No external figures are quoted. The worked numbers are labelled illustrative, and the article is written from how loyalty cards, subscription platforms and Klaviyo events fit together in a Shopify store. Check your app’s and Shopify’s own documentation for current setting names and limits.