A tactical Shopify guide to increase repeat purchase rate. Calculate your real RPR, benchmark by vertical, and use 6 levers to win the second order.

Most of your first-time buyers buy once and vanish. They never come back for a second order, and that quiet leak between order one and order two is where your repeat purchase rate dies. Fix that one moment and everything downstream gets easier.
To increase repeat purchase rate on Shopify, win the first-to-second order inside the first 30-90 days with a timed post-purchase flow, a loyalty programme, replenishment, win-backs and frictionless reordering.
Keep reading and I'll show you how to calculate your real number, what "good" looks like in your category, and the six levers that actually move it.
Repeat purchase rate isn't a vanity stat. It's the best predictor of whether your store compounds or stalls. Bain & Company research (Reichheld, 2014), popularized by Fred Reichheld, found that lifting customer retention by just 5% can raise profits by 25% to 95%, so a few points of repeat rate is real money.

Repeat purchase rate, or RPR, is the share of your customers who've bought more than once. Plain and simple.
The formula is straightforward: (customers with 2 or more orders / total unique customers) x 100, measured over a window that matches your product's natural repurchase cycle. So if 300 of your 1,200 customers reordered in the period, that's 25%.
The window matters. A coffee brand should measure over 60 to 90 days. A mattress brand should measure over a year or more. Use the wrong window and your number is meaningless.
Here's how to pull it manually:
Now the trap. Shopify's built-in "Returning Customer Rate" is not your RPR. That metric is order-based, counting returning-customer orders divided by total orders, not unique customers. It'll usually undercount the thing you care about. So calculate RPR by hand from the customer export. Don't trust the dashboard shortcut.
Across ecommerce, average RPR varies by category but often sits somewhere around the 20% to 30% range over a 12-month window. Treat the high 20s as solid and 30%-plus as outperforming. But that blended number hides almost everything useful.
The real spread is by category. Consumables like supplements, food and pet tend to run highest because people physically run out of the product. Beauty usually sits a notch below. Apparel is lower again, and big-ticket categories like home goods and electronics sit lowest because nobody buys a sofa every quarter. Industry estimates vary, so the exact figures matter less than the pattern.
So if you sell supplements and you're sitting at 28%, you don't have a "decent" rate. You have a leak. And if you sell mattresses at 18%, you might be doing great. Benchmark against your own shelf, not a vanity average.
If you only fix one thing this quarter, fix this. The majority of first-time customers never make a second purchase. That first repeat is the hardest one to earn, and it's where almost all your churn lives.
Timing is the other half of the story. Most repeat orders that do happen land inside the first 90 days, and a big chunk inside the first 30. After a year, the window has basically closed.
So most of your repeat revenue is decided in the first 30 to 90 days. So every lever below has one job: show up inside that window with a reason to buy again.
The first 48 hours after a purchase is when your open and click rates peak. Most stores waste that attention on a bare shipping confirmation.
A structured post-purchase flow in the first 14 days does the heavy lifting. Pair email with SMS so you catch people on the channel they actually open. Here's a flow that works:
Blume is a clean multi-lever example. The Shopify beauty brand pairs personalised post-purchase emails with SMS and win-back campaigns, all sitting on top of its Blumetopia loyalty programme. The emails remind people they've got points; the points make the emails worth opening.
If you run Klaviyo, Love Loyalty connects through Integrations > Klaviyo and syncs the customer's Love Points Balance and VIP tier straight into your profiles, so a "you've got 240 points waiting" line drops into a day-10 email instead of a generic 10% off. It even fires the 7-Day and 30-Day Point Expiry Reminder events into Klaviyo, so a "use them before they go" nudge is built off the real synced balance.
For the full breakdown, see our guide on the post-purchase email flow for Shopify.
This is the highest-leverage lever for most Shopify brands, and it's why we built Love Loyalty.
The economics are well documented. Love Loyalty's own case studies bear it out: one merchant, Rubino, sees members spend roughly 3x what non-members do, and Ironwear now drives 28% of its online sales from loyalty members. Three mechanics do the work:
Real brands show how flexible this is. 100% Pure's "Purist Perks" runs tiered perks like early access and faster shipping the higher you climb, which gives customers a reason to keep going. Gymshark ties rewards to behaviour, not just spend. Lola's Cupcakes runs a simple "Love Club" with points and a birthday treat. Different mechanics. Same point: give people a reason to come back.
Here's where execution makes or breaks it. A loyalty programme only works if customers see it at the moment they're deciding. The honest weakness of tools that bolt on top of Shopify is that they load rewards through an external widget, which can lag at exactly the wrong moment.
Love Loyalty is built exclusively for Shopify and stores everything in native Shopify metafields, so it loads fast with no external API lag. That's not a marketing line. It's a technical decision that keeps rewards from slowing your storefront down.
It puts rewards across 18 native storefront blocks, from the product page to the cart, account page and thank-you page (the points balance even shows at checkout). On every plan you get in-cart redemption, so a customer redeems points right there instead of "coming back later" and never doing it; redeeming at checkout itself is a Shopify Plus feature. That visibility is what separates a programme people use from one they forget. It's rated 5.0 stars across 200+ reviews on the Shopify App Store, so the merchants running it aren't betting on an unproven bolt-on.
On pricing, the free plan covers points, in-cart redemption and referrals for up to 150 orders a month. The Professional plan at $12/month adds POS for in-store purchases, and VIP tiers and paid memberships kick in on the Growth plan. Every paid plan includes a 14-day free trial. And if you're switching from another app, the done-for-you migration imports your point balances and credits past actions, usually within 24 hours, so members don't lose what they earned.
New to all this? Start with how to build a Shopify loyalty programme, then read up on points vs tiers to pick your mechanic.
If you sell something people run out of, the smartest move is to remove the reorder decision entirely.
The trick with replenishment is timing. Trigger the reminder at roughly 70% to 80% of the typical consumption window, so the nudge lands right as the product runs low. A well-timed "time to restock" message converts far better than a generic promo blast.
Subscription structure moves the needle too. Black Rifle Coffee Company offers flexible frequency and commitment tiers so the habit fits the customer. Dollar Shave Club built an empire on convenience-led razor replenishment. OLIPOP leans on variety packs to earn a recurring spot in the pantry.
One honest caveat: a brand like OLIPOP eventually earns a large share of its revenue through retail, not DTC subscriptions. So treat subscription as your retention engine, not necessarily the whole business. If you run subscriptions, you can award points on recurring orders via Shopify Flow, so subscribers keep earning toward tiers, which raises the cost of cancelling.
Selling to someone who already bought from you is far easier than chasing a stranger. The classic Marketing Metrics figure (Paul Farris, 2010) puts the probability of selling to an existing customer at 60% to 70%, versus just 5% to 20% for a new prospect. That gap is your whole win-back case.
Build a simple lapsed-customer segment based on your repurchase window. If your median second purchase lands at day 40 and someone's at day 90 with no reorder, they're lapsing. Hit them with a reason to return, not just a discount: the points balance sitting in their account, a new product in the line they bought, or a "we saved your spot" tier message.
This is where loyalty and lifecycle messaging compound. A win-back built in Klaviyo off the synced points balance ("your 300 points expire in 14 days") pulls harder than "we miss you, here's 15% off", and it doesn't train people to wait for discounts. With the Point Expiry Reminder events syncing into Klaviyo, that email fires off the real balance, not a guess.
Sometimes people want to buy again and you make it annoying. Don't.
Make reordering effortless: saved details, one-tap reorder of past purchases, and a visible points balance that gives them a reason and a clear next product. The account page is prime real estate, and one of the 18 storefront blocks where Love Loyalty surfaces points so the next purchase feels obvious.
In-cart redemption is the sharpest version of this, and it works on every plan. When a customer applies their reward right in the cart with no pop-up and no redirect, you close the "I'll do it later" gap that quietly kills repeat orders. No external widget loading over your storefront, no API lag.
The first experience sets the ceiling for the second order. A great unboxing, fast and honest fulfilment, and a relevant next-product nudge all push people back toward you.
Personalised recommendations matter most right after delivery, when the product is top of mind. Stack a "based on what you bought, try this" pick onto the Lever 1 flow and a one-time buyer starts becoming a regular. Blume keeps its repeat rate up by making the unboxing, the emails, and the rewards all say the same thing. The Turmeric Co. takes it further with a gamified points programme, awarding points for purchases, referrals, social shares and signups. That's CX and loyalty working together instead of two apps fighting for the same screen.
Don't guess. Re-pull your RPR on the same window and cohort after you ship changes, so you're comparing like with like. Watch time-to-second-purchase shrink, because a faster second order is an early signal before RPR catches up. And segment loyalty members against non-members so you can see the lift loyalty is actually driving.
A couple of points a quarter doesn't sound like much. Over a year it's real money.
Honest caveat: Love Loyalty is Shopify-only. If you're on WooCommerce or BigCommerce, this isn't your tool. But if you're on Shopify and your repeat rate is stuck below your category benchmark, a programme that's native to your storefront is the fastest lever you have, and the done-for-you migration moves your existing points over within 24 hours. It's rated 5.0 stars across 200+ reviews on the Shopify App Store and Built for Shopify certified, so you're not betting on an unproven bolt-on.
Ready to see Love Loyalty in action with your store? Book a free demo today.
A blended average often sits somewhere around the 20% to 30% range over a 12-month window, though industry estimates vary. But benchmark by category, since consumables like supplements tend to run higher than big-ticket categories like home goods and electronics. If you're below your own category's typical range, that's your leak.
Use (customers with 2 or more orders / total unique customers) x 100 over your product's natural repurchase window. Pull it from Admin > Analytics > Reports > Customers > "Customers over time", export the CSV, and count customers with 2 or more orders.
No. Shopify's built-in metric is order-based, counting returning-customer orders divided by total orders rather than unique customers, so it usually undercounts your true RPR. Calculate RPR manually from the customer export instead.
The majority of first-timers never make a second purchase, mostly because nothing brings them back inside the natural repurchase window. Most repeat orders that do happen land within that 30 to 90 day window, so that's where to concentrate your effort.
Yes. It gives customers a standing reason to come back: a visible points balance, tier perks worth climbing for, and referrals. One Love Loyalty merchant, Rubino, sees members spend roughly 3x what non-members do, and Ironwear drives 28% of its online sales from loyalty members.
There's a free plan at $0/month for up to 150 orders, which includes points, in-cart redemption and referrals. Professional is $12/month, or $10/month billed annually, and adds POS for in-store purchases plus a dedicated loyalty page and integrations. Growth is $79/month, or $59/month annually, and adds VIP tiers and paid memberships (1.8% membership transaction fee). Plus is $399/month, or $299/month annually, with a lower 0.8% membership fee, checkout extensions, API access and B2B. Every paid plan comes with a 14-day free trial, and all charges are billed in USD.
Yes. The free plan is $0/month for up to 150 orders, and it includes the points programme, in-cart redemption and referrals with full customisation and live chat support. It does not include POS, VIP tiers or paid memberships. POS support starts on the Professional plan at $12/month, and paid plans come with a 14-day free trial.
Watch time-to-second-purchase first, since it shifts before RPR does. Most repeat orders land within 90 days, so re-pull your RPR on the same window and cohort about a quarter after shipping changes to measure the real lift.