Klaviyo Replenishment Flow: Time It With Your Data
Most replenishment flows fail in the first decision. A brand picks a round number — 30 days, 45 days, 60 days — and builds the whole Klaviyo replenishment flow off it. The number was a guess. The flow inherits the guess, and revenue tracks somewhere between "underwhelming" and "why did we build this."
The right answer to "when should the first replenishment email send" lives in your data, not in a best-practices article. This post covers how to pull that timing data out of Klaviyo, the email count and cadence that actually fit a consumable buying cycle, the discount math that determines whether your reorder offer is paying for itself, and the full replenishment flow build in Klaviyo — including the conditional split that decides whether you push subscription or stop short.
Who Should Actually Build a Replenishment Flow
Replenishment is for products customers use up. That sounds obvious, but it's where most of the bad decisions start.
Build one if you sell:
- Supplements, vitamins, and health & wellness consumables
- CBD or THC products
- CPG food and beverage
- Beauty and skincare that runs out on a predictable cycle
- Pet food and treats
- Razor-blade-model products — anything where a one-time durable purchase creates a recurring need (one client of ours sells firewood; same idea)
Skip it if you sell: fashion and apparel, durable home goods, electronics, or a single hero SKU that customers buy once. A replenishment flow targeting bed sheets is a guess pretending to be a system.
The test: does your average customer come back to buy the same thing on a roughly predictable schedule? If yes, replenishment earns its keep. If no, your reorder behavior is better served by a winback flow or a cross-sell, not a replenishment flow built on shaky timing.
Two Strategic Paths: All Repeat Buyers vs. Subscription-Focused
Before you build, decide which path your brand is on. The replenishment flow looks meaningfully different depending on the answer.
Path A: Subscription is small or doesn't exist
The replenishment flow handles all of your repeat-purchase nudging. One flow, triggered off Placed Order, targets every customer regardless of whether it's their second purchase or their twentieth. Most brands without a serious subscription program live here.
Path B: Subscription is a core part of the business
Split the journey in two. First-time buyers go through a first-purchase bounce-back flow designed to get them from purchase #1 to purchase #2 — usually more discount-tolerant, because the marginal value of a second purchase is enormous (our LTV by purchase count benchmarks show how steeply repeat-customer value grows). Customers with two or more purchases enter the standard replenishment flow, where the goal shifts: nudge them toward subscription instead of repeatedly winning each individual reorder.
Why split it? Because subscription conversion almost never happens on the first purchase. Customers need to use the product, like it, reorder once, and then they'll consider subscribing. Targeting subscription pushes at first-time buyers wastes the message; targeting margin-friendly replenishment messaging at repeat buyers who would've subscribed wastes the LTV.
Replenishment Is Not Winback. Don't Conflate Them.
These two flows do fundamentally different jobs and they shouldn't share logic, timing, or messaging.
| Replenishment | Winback | |
|---|---|---|
| Job | "You used it up — time to reorder." | "You haven't come back. Want to?" |
| Timing | Near the average reorder cycle (e.g., day 25-35 for a 30-day product) | 2-3x the average reorder cycle (e.g., day 60-90 for a 30-day product) |
| Audience state | Current customer who just ran out | Lapsed customer who's already missed the reorder window |
| Discount stance | Avoid upfront; backend only if math works | Usually included — you're paying to get them back |
For the winback playbook including how to set its timing off the same repeat-order data, see Klaviyo Winback Flow: How to Re-Engage Lapsed Customers.
Timing: The Most Important Decision, and the One Most Brands Get Wrong
Pick a number for the replenishment delay and you've already lost. The right delay is brand-specific and product-specific, and you can pull it from your own data in under thirty minutes.
Step 1: Pull your real days-between-repeat-orders
Inside Klaviyo, the simplest path is to look at average days between orders for customers with two or more purchases. You can get this a few ways:
- Klaviyo's built-in customer analytics surface average days between orders at the account level.
- Build a segment of profiles who have placed at least 2 orders and pull the "Time Between Orders" or "Last Order Date" — "First Order Date" gap from a sample.
- Export orders from Shopify, sequence them by customer ID, and calculate the average gap between order 1 and order 2 (and order 2 and order 3 if you want a richer picture).
Look at both the average and the median. They can diverge sharply if you already have a subscription program — subscribers reorder on a perfectly predictable cycle, which pulls the median down. The signal you care about for the replenishment flow is the non-subscribed repeat buyer, so exclude active subscribers from the calculation if you can.
Step 2: Send the first email a few days before the average
Here's the part most guides skip. Your average reorder is 30 days. Don't set the delay to 30 days. Set it to 25 or 27.
The reason is distribution. Some customers reorder at day 22, some at day 38. If you fire at the mean, you're consistently late for the early reorderers — they bought somewhere else, or they re-engaged with your site organically without your help. By firing a few days early, you catch the front half of the curve before they slip into "I forgot" or "I'll order it later." The customers on the back half of the curve get caught by your second and third emails.
If your average days between orders is 30, fire at day 25-27. If it's 60, fire at day 52-55. If it's 14 (some supplements brands), fire at day 10-12. The principle scales.
Email Count and Cadence
Two to five emails. Three or four is the sweet spot. The right number depends on your buying cycle, not on a template.
- Tighter buying cycles (every 14-30 days): shorter flow, tighter gaps between emails. The window in which the customer is actively running out is narrow, and once they're past it for too long, you've crossed into winback territory.
- Longer buying cycles (every 60-90 days): longer flow, bigger gaps. You can afford to spread out the touches because the natural reorder window is wider.
Within the flow, keep the first emails tight and let the tail stretch out. The first two emails are the conversion engine — they should land in the window where the customer is actually thinking about needing more. The tail emails are for stragglers and can sit further apart, especially if they're carrying an offer.
One rule that's non-negotiable: if you open an offer, you close it. A discount with no end date trains customers to wait for the discount and then never feel any urgency to take it. Every offer email gets paired with a close email a day or two later ("last chance", "expires tonight"). Offer open → offer close. If you can't commit to closing the offer, don't open it.
Discount Strategy: Where Most Brands Bleed Margin
We don't lead with a discount on the replenishment flow. Most brands do, and most brands shouldn't.
The reason is that the customers most likely to reorder at full price are the same ones reading email 1. When you put a 15% discount in front of them, you don't convert more people — you convert the same people for less money. Margin walks out the door, and the discount didn't earn it.
The math: what discount actually costs you
Run the break-even on any discount before you decide to include it. The math is unforgiving.
If your cost of goods is 35% and you offer a 15% discount, you need a 30% increase in sales volume just to break even on the margin you gave up. A 20% discount on the same COGS requires a 44% sales lift. Most replenishment flow offers don't come anywhere close to those numbers — the offer drives a small bump in conversion at a steep margin cost, and the brand ends up net negative.
Run your own numbers with our discount margin calculator. Plug in your COGS and your proposed discount and you'll see the sales lift required to make the offer worth running. Then ask whether your replenishment audience realistically delivers that lift. For most brands, the honest answer is no — at least not on the first email.
Where the discount earns its keep
The customers worth discounting aren't the ones who would've bought anyway. They're the fence-sitters — the ones who saw email 1, didn't open it; saw email 2, didn't reorder; and would have churned without a push. By the time you reach those people, you've already captured the easy reorders at full margin.
Our default for a four-email replenishment sequence: no discount on emails 1 and 2, offer open on email 3, offer close on email 4. You convert the high-intent customers at full price, then layer the discount onto the back half to catch the people who needed the extra nudge. You're still giving up margin on the people who take the offer — that's the cost — but you've minimized the discount's footprint to the segment where it actually changes behavior.
Why split testing usually fails here
The honest answer to "should I A/B test this" is: probably not, unless you have volume most brands don't. A meaningful split test on replenishment flow conversion needs a few thousand profiles passing through the test branch within a reasonable window. Most ecommerce brands don't put that volume through a single flow in a quarter. You'll get noisy data that confirms whatever you wanted to believe.
If you have the volume, test it. If you don't, default to the no-discount-upfront rule and revisit if your reorder rate stalls.
Want a second set of eyes on your replenishment math before you discount? Send us your numbers and we'll tell you whether the offer pays for itself.
Building the Replenishment Flow in Klaviyo
Here's the technical setup. This is what we deploy for clients.
Trigger and initial delay
- Trigger: Placed Order metric
- Initial delay: Your average days between orders, minus 3-5 days (per the timing section above)
- Flow filter: Has placed 0 orders since starting this flow. This is the exit condition — if they reorder mid-sequence, the flow stops sending.
Trigger on Placed Order, not on a segment, for the same reason we trigger winback on Placed Order: the delay clocks from each individual customer's last purchase. A segment-based approach batches everyone together and ignores the actual reorder window for each customer.
Product or category filter (optional but recommended)
If you sell a mix of consumable and non-consumable products, add a trigger filter so the flow only fires on orders containing replenishable products. The last thing you want is the replenishment flow firing for a customer who bought a one-time gift or a non-consumable accessory. Use the Placed Order trigger filter with an "Item Variant SKU contains [your consumable SKUs]" or an "Item Categories contains [your consumable category]" check.
Subscription split (Path B only)
If you're running the subscription-focused path, add a conditional split early in the flow:
- If the customer is an active subscriber: exit the flow. They're already getting their reorder.
- If not: continue into the email sequence, with at least one of the tail emails making the case for subscribing.
Smart Sending: off. Always.
We don't use Smart Sending inside flows. Ever. Smart Sending suppresses sends to anyone who's received an email within a configured window, which means a customer who happens to be on a recent campaign list silently misses the replenishment email. The whole point of a replenishment flow is to land at a specific moment in the reorder cycle — Smart Sending defeats that. Leave it on for campaigns; turn it off here. For the full case (and the audit pattern that costs brands the most revenue), see Klaviyo Smart Sending: Turn It Off in Flows.
SMS in the flow (if you have it)
If the customer is SMS-subscribed, an SMS at the offer-open point of the sequence usually outperforms the equivalent email-only flow. Don't replace emails with SMS — layer them. A typical setup: email 1 (no discount), email 2 (no discount), SMS + email 3 (offer open), email 4 (offer close). The SMS does the hard work of breaking through inbox fatigue.
What Each Email Actually Says
Using a four-email sequence for a 30-day reorder cycle as the worked example. Adjust delays and email count to your data.
Email 1 — "Time to restock" (fires at day 25-27)
Low-friction reorder nudge. No discount. The hero is the one-click reorder of the product they bought. Subject line is direct: "Running low?", "Time to restock your [product]", "A heads-up about your [product]". Body is short — image of the product, the customer's reorder, a single "Reorder Now" CTA. The goal is to catch the customer at the moment of mild friction ("I need to reorder this") and make the reorder a one-tap action.
Email 2 — "Don't run out" (fires 5-7 days after email 1)
Same product, slightly more urgency. Still no discount. Layer in a usage tip, a recent review, or a reason this product specifically deserves the reorder. This is the "you should be running low right now" email — written for the customer who saw email 1, made a mental note, and forgot. Subject line: "Almost out?", "Reminder: your [product] reorder".
Email 3 — Offer open (fires 5-7 days after email 2)
Now the discount lands, with a defined end date. "X% off your reorder — ends [day, date]". The math justifies it because you're only discounting the customers who didn't reorder on emails 1 and 2 — the ones who needed the push. Subject line: "[X]% off your reorder — 48 hours", "A discount to make this easy".
Email 4 — Offer close (fires 1-2 days after email 3)
Urgency closer. Same offer, with the deadline front and center. "Last chance — your discount expires tonight." If you don't close the offer, the flow trains customers to wait for the discount and never reorder until one shows up. Closing the offer is the whole reason it works.
If you're running the subscription-focused path, this is also the email to make the subscription case: "Or skip the reminders — subscribe and save Y% on every reorder." Don't bury it. Make it a secondary CTA next to the one-time reorder.
Common Mistakes to Skip
- Picking 30 / 45 / 60 days from a feeling. Pull your data. The delay is the single biggest lever in the flow.
- Discounting on email 1. You're paying customers who would've bought anyway.
- Opening an offer without closing it. Trains the audience to wait for permanent discounts.
- Targeting first-time buyers on a subscription-focused brand. First-time buyers belong in a first-purchase bounce-back flow; replenishment is for 2x+ buyers.
- Leaving Smart Sending on. Customers silently miss the email and you don't know it's happening.
- No exit condition. Without "has placed 0 orders since starting this flow" as a filter, customers keep getting reorder reminders after they've already reordered.
- No product or category filter on the trigger. The flow fires off non-consumable purchases (gifts, one-time accessories) and the messaging makes no sense.
FAQ
What if I don't have enough data to calculate an average reorder window?
If you're early enough that you don't have a meaningful sample of two-time buyers, you don't need a replenishment flow yet. Focus on the post-purchase flow and the first-purchase bounce-back to drive customers into second purchases. Once you have a few hundred two-time buyers, you have enough signal to calculate a sensible average and build the replenishment flow.
How is this different from a winback flow?
Replenishment fires near the average reorder cycle (e.g., day 25 of a 30-day cycle) and assumes the customer is about to run out. Winback fires at 2-3x the average reorder cycle (e.g., day 60-90 of a 30-day cycle) and assumes the customer has already lapsed. Different timing, different message, different goal. They don't overlap and they shouldn't share logic.
Should I push subscription inside the replenishment flow, or run a separate subscription-acquisition flow?
For most brands, the cleanest move is to push subscription inside the replenishment flow rather than running a parallel flow. The replenishment flow is already firing at the moment of highest reorder intent — that's also the moment of highest subscription-conversion intent. Make subscription a secondary CTA on the tail emails (3 and 4) and you don't need a separate flow competing for the same window.
What if my customers have multiple consumable products with different reorder cycles?
You have two options. Build a single flow that uses the average across all products and accept some imprecision, or build product-specific replenishment flows triggered by specific SKU or category filters. The product-specific approach is sharper but more expensive to maintain. For most brands, a single well-timed flow outperforms three poorly maintained ones.
Does the replenishment flow eat into post-purchase or cross-sell revenue?
Not if the flows are scoped correctly. Post-purchase fires immediately after the order and runs for the first 1-2 weeks, focused on usage and review collection. Cross-sell can run in parallel or sit later, targeting complementary products rather than reorders of the same product. Replenishment fires near the natural reorder window, weeks after post-purchase ends. They occupy different slots in the customer's timeline and don't cannibalize each other when built that way.
The Short Version
Pull your real days-between-repeat-orders data. Fire the first email a few days before the average. Keep the first two emails discount-free. Open an offer on email 3 with a defined close on email 4. Turn Smart Sending off. Add a flow filter so customers exit when they reorder. If subscription is core to your brand, split the journey: first-purchase bounce-back for 1x buyers, replenishment with subscription push for 2x+ buyers.
Most of the value comes from the timing decision and the discount decision. Get those two right and the rest of the Klaviyo replenishment flow build is execution.
Related Reading
- Complete Guide to Klaviyo Flows — the full flow stack and where replenishment fits
- Abandoned Cart Flow in Klaviyo — the earliest flow in the customer lifecycle
- Browse Abandonment Flow in Klaviyo — the high-volume flow that catches pre-purchase intent
Want us to build this for you?
We build replenishment flows for consumables brands every week. Send us your account and we'll tell you straight up what's working, what's missing, and what the timing data says the delay should be.