The repeat purchase rate isn’t a loyalty problem—it’s a timing, targeting, and post-purchase sequence problem. Most Shopify brands burn cash acquiring buyers who were never likely to repurchase, then send the same generic abandoned-cart logic to everyone. Fix it by splitting your customer base into behavioral segments, not just tags. Build a consumption-based replenishment flow in Klaviyo that fires when the product should be running out. Suppress recent purchasers from your Meta prospecting for the correct window so you stop re-acquiring the people you already own. If you’re sitting at a 12% repeat rate and want to cross 25%, the playbook is specific: one great post-purchase flow, one replenishment trigger, and audience exclusions that actually match your purchase cycle. Do those three things before you touch a loyalty program.
Most brands optimize the buying event, not the re-buying window. They run lookalike audiences sourced from all purchasers, including one-and-done buyers who churned after a single order. That seeds the pixel with low-quality signals and Meta does exactly what you trained it to do: it finds more one-and-done buyers.
Inside the email stack, the same pattern plays out. A welcome series that pushes a second-order discount on day 2, before the customer has even used the product. A post-purchase flow that’s just a receipt and a “review us” link. No trigger based on consumption cadence. No cross-sell tied to the specific SKU they bought. The customer doesn’t hear from the brand again until a generic sale blast 60 days later, by which point they’ve already repurchased from a competitor who actually emailed them at day 28.
Go to Customers → Segments in Shopify and create two segments. First: “Orders equals 1.” Second: “Orders greater than 1.” These are your two working audiences. Export them as customer lists.
Now split the one-time segment further by order date. Create a bucket for 0–30 days, 30–60 days, 60–90 days, and 90+ days. The 30–60 day bucket is usually your highest-opportunity group—they’re past the return window but still within the repurchase cycle for most consumables and replenishable goods. This segmentation alone tells you whether your problem is a leaky 30-day window or a dead 90+ day graveyard.
Create a Klaviyo flow triggered by the “Placed Order” event with a conditional split based on the product SKU or product category. For a 30-day supply, set the first email to fire at day 28. For a 60-day supply, day 55. The email subject line should reference the product directly: “Your XYZ is probably running low.”
Keep the email one product, one CTA. Don’t stuff it with a catalog. Use the customer’s actual order data to pre-populate a reorder link if possible. If your tech stack supports it, add a dynamic discount for customers who haven’t opened any of your last three emails—and no discount for the engaged ones. Measure the flow’s success by attributed revenue per recipient, not open rate.
Sync your Shopify customer list to Meta as a custom audience, then create an exclusion audience of anyone who purchased in the last 30, 60, or 90 days depending on your product cycle. Apply this exclusion to all prospecting campaigns—Advantage+ Shopping, lookalike audiences, interest-based targeting.
Every dollar you spend showing a cold ad to someone who bought a two-month supply ten days ago is a dollar you’ve set on fire. The pixel will still claim a view-through conversion and you’ll think the campaign is working, but you’re just paying for sales that would have happened anyway. Exclusion windows are the cheapest repeat-rate lever available.
Drop the day-2 discount. Instead, build a four-email sequence: (1) transactional receipt with delivery tracking, sent immediately. (2) Usage tips or “unboxing” content at day 7, tied to the product they bought. No offer. (3) Social proof—a customer result or review for that SKU—at day 14. (4) A replenishment nudge at the consumption window close, with a modest offer only if they haven’t purchased again.
This sequence does two things. It gives the product time to work before you ask for more money. And it screens out the customers who would have repurchased anyway, so you’re only spending discount dollars on the fence-sitters. If a customer opens all four emails and doesn’t buy, flag them for a small retargeting budget, not a fire-sale coupon.
In Klaviyo, build a segment of customers who purchased Product A in the last 14 days and have not purchased Product B. Send a single cross-sell email that references Product A by name and explains why Product B is the natural next step. For a skincare brand, that’s “You bought the cleanser—here’s the moisturizer formulated to work with it.”
The data on this is unambiguous. Cross-sell emails to recent buyers generate 3x the click rate of catalog blasts, and the customers who buy a second SKU within the first 60 days have a significantly higher lifetime value than single-SKU buyers. You don’t need a quiz or a recommendation engine. You need one thoughtful product pair per hero SKU.
For customers who haven’t purchased in 90+ days, create a three-touch sequence in Klaviyo with a hard stop. Email 1: “We noticed you stopped ordering—anything wrong?” No offer, just a reply-to. Email 2 (7 days later): a different product from the same category with a small incentive. Email 3 (7 days later): a larger incentive with an expiration. After that, suppress them permanently from email and paid retargeting.
Winback campaigns rarely recover more than 3–5% of lapsed customers, and the cost of chasing someone who’s gone cold for 18 months is higher than acquiring a fresh buyer. Set a firm cutoff, stick to it, and redirect the budget toward improving the 0–30 day experience—that’s where the real compounding happens.
Take a $4M skincare brand running Shopify plus Klaviyo plus Meta. They’ve got a 14% repeat purchase rate, $65 AOV, and they’re spending $40 to acquire a customer on Meta. Their welcome flow offers 15% off a second order on day 2. Their Meta account has no purchaser exclusion windows. Their only post-purchase email is a receipt.
We run the numbers. They have 3,200 one-time buyers in the 30–60 day bucket from the last quarter. That’s $208,000 in revenue that didn’t repeat. Their average repeat order isn’t $65—it’s $58, because the second order tends toward a single replenishment item rather than a bundle.
Step 1: Kill the day-2 discount. Replace it with the four-email post-purchase flow I outlined above. This costs nothing to implement and stops the brand from handing margin to customers who would have repurchased anyway.
Step 2: Build a replenishment flow in Klaviyo for their top-selling moisturizer, which has a 45-day usage cycle per their own product team. Single email at day 42, subject line “Your moisturizer is almost out—reorder before you run dry.” No discount, just a direct reorder link preloaded with the SKU. Expected conversion rate on this email, based on Klaviyo benchmarks for replenishment flows, is 2.5–4%. At 3%, that’s 96 additional orders from the 3,200-person segment, worth roughly $5,500 in revenue per quarter. More importantly, it resets the purchase clock for those buyers.
Step 3: Add a 60-day purchaser exclusion on all Meta prospecting campaigns. The brand’s current blended ROAS is 1.8; Meta’s own case studies suggest that excluding recent purchasers from cold audiences typically improves reported ROAS by 10–15% by removing cannibalization. Even at 10%, that’s an extra $0.18 on every dollar of ad spend—significant when they’re spending $15k/month.
After three months, the expected lift is the 14% repeat rate moving to 18–20%. That’s not a ceiling, it’s a first pass. The brand hasn’t even touched cross-sell flows or a real SKU pairing strategy yet. But with three specific, zero-creative-cost changes, they’ve added roughly $35,000–$45,000 in annualized repeat revenue. All from segmenting the one-time buyers they already had and sending the right message at the right time.
A repeat purchase rate of 25% or higher is a strong benchmark for most Shopify brands under $10M, per 2024 Klaviyo benchmarks. At that level, your existing customer base is generating a full quarter of your revenue before you spend a dollar on acquisition. Your post-purchase email flows should be driving 10–15% of total email-attributed revenue. Your Meta campaigns should show a true new-customer ROAS that’s cleanly separated from existing-customer conversions.
Operationally, good looks like this: you open your Klaviyo dashboard and see replenishment flows firing to the right people at the right cadence, not a single generic blast. Your 30–60 day one-time buyer segment shrinks quarter over quarter because you’re converting them before they hit the 90-day dead zone. And your acquisition cost stays flat or declines because you’re no longer paying Meta to re-acquire people who bought three weeks ago.
The playbook above works, but finding the right consumption window, the right exclusion cadence, and the right segments for your specific product mix usually takes weeks of digging through Shopify and Klaviyo data. Persona LM’s free audit does it in 24 hours. We connect read-only to your stack and hand back the exact segments, email triggers, and campaign concepts ranked by expected lift—so you skip the guesswork and start shipping the emails that actually move repeat rate.
It varies by vertical, but across apparel and beauty, a repeat purchase rate of 20–25% is solid for brands doing under $5M. Skincare and consumables can hit 30–35%. If you’re below 15%, your first-purchase engine is likely subsidizing one-time buyers. The fix is almost never a generic loyalty program. It’s usually a timing and segment problem that lives inside your email and paid media setup. (Klaviyo benchmarks, 2024)
No, not by default. A blanket second-order discount trains customers to wait for the coupon. Instead, trigger a modest offer only after the expected consumption window closes with no repurchase. For a 30-day supply of supplements, that’s a nudge at day 35, not day 3. Save hard discounts for customers who engage with the post-purchase flow but don’t convert, not everyone who bought once.
Klaviyo lets you build flows triggered by the purchase date, product SKU, and subsequent browsing behavior. The best repeat-purchase setups combine a simple thank-you flow, a consumption-based replenishment reminder, and a cross-sell flow gated to buyers of a specific product line. If you’re only running an abandoned cart and a welcome series, you’re leaving most of the repeat opportunity untouched.
The most common reason is that the product experience was fine but not remarkable, and the brand did nothing to stay top of mind during the repurchase window. The second most common reason is that the ad creative attracted a low-intent buyer who was never going to repurchase. When those two problems overlap, your repeat rate flatlines. You have to fix the targeting and the post-purchase timing in parallel.
Absolutely. Most sub-$10M brands don’t need a points program. They need a tight replenishment flow, a well-timed cross-sell email, and a Meta retargeting audience that excludes recent purchasers for the correct number of days. Loyalty programs add operational complexity. Behavioral flows move money faster.
In Shopify, create a customer segment where number of orders equals 1 and last order date is between 30 and 90 days ago, depending on your product’s repurchase cycle. Sync that segment to Klaviyo or Meta as a custom audience. Tailor the message to the specific product they bought. Broad winback emails to “come back and save 15%” burn your sender reputation and rarely break even on discount cost.
Identify your best repeat buyers and high-AOV customers on Shopify without spreadsheets. Use RFM scoring, Klaviyo segments, and Persona LM’s free audit to turn VIPs into profit centers.
Read →Most first-time buyers never buy again. Here’s the exact follow-up sequence, segment logic, and Klaviyo flows that turn them into repeat customers—fast.
Read →A tiny Customer Match list kills your Google Ads performance. Fix the root cause by expanding your seed audience with real behavioral data, not just email uploads.
Read →Learn to increase average order value on Shopify using bundling, post-purchase upsells, and customer segmentation. Get your free audit from Persona LM.
Read →Your Klaviyo flow not converting because your emails treat one-time discount hunters the same as VIP repeat buyers. Learn the behavioral fix + get a free Persona LM audit.
Read →Stop sending one-size-fits-all flows. These Klaviyo flows examples target real customer segments to drive repeat purchases, AOV, and lifetime value.
Read →Free. Seven-minute connect. Six named buyer archetypes plus 18 ranked campaigns delivered to your inbox.