Klaviyo Replenishment Flow: Build Consumption-Based Reorder Logic

laptop displaying business analytics

⏱ 15 min read

One of the highest-ROI automations a consumable brand can run is also one of the laziest in most accounts. The typical Klaviyo replenishment flow waits a flat 30 days after purchase, fires a “time to reorder” email, and calls it retention. It earns a little money, so nobody questions it. That round number is a guess, and the whole flow inherits the guess.

The fix is not more emails. It is better timing logic. Replenishment should be built on how fast each product is actually consumed, not on a calendar default that treats coffee, supplements, and skincare as if customers burn through them at the same rate. This guide shows how to build product-specific replenishment flows in Klaviyo, how to time them off real consumption windows, and how to prove the flow is adding revenue rather than subsidising orders you were getting anyway.

The stakes are not small. In Klaviyo’s 2026 email benchmarks, automated flows generated close to 41% of email revenue from just 5.3% of sends, and the average flow places orders at roughly 2.11%, rising to 4.3% for the top 10% of performers. A replenishment flow sits directly on top of your most profitable audience: people who already bought and liked the product enough to need more.

Ecommerce retention manager reviewing average days between orders in a Klaviyo dashboard to set replenishment timing

Why Most Replenishment Flows Fail

Replenishment is for products customers use up. That part is obvious. The failures start at the very first decision: when to send.

Brands Pick One Round Number for Everything

The default setup picks 30, 45, or 60 days because it is tidy, then applies it to every consumable in the catalogue. One blunt timer for a list of products with completely different lifespans. The email lands either weeks before the customer has run low, where it reads as noise, or days after they have already reordered somewhere else. Both outcomes train the customer to ignore the flow.

Products Are Consumed at Very Different Speeds

Consumption cycles are not close to uniform. The same store can hold products that need reordering every two weeks and others that last three months.

Product TypeTypical CycleWhat Sets the Timing
Coffee beans14–30 daysCups per day and bag size
Supplements30–60 daysCapsule count vs daily dose
Skincare30–90 daysProduct type and application frequency
Pet foodVaries widelyPet size and bag weight
Baby productsVaries widelyUsage frequency and stage

The ranges above are practical planning estimates, not fixed rules. The point is the spread: a single 30-day timer is wrong for most of this list most of the time. Always confirm your real cycle from your own order data before trusting a category average.

Two Customers, Same SKU, Different Reorder Date

Even within one product, usage differs. Customer A takes a daily supplement and runs out almost exactly on schedule. Customer B uses it three times a week and lasts far longer. Send them the same reminder on the same day and you are right for one and wrong for the other. This is the ceiling on what flat timing can ever achieve, and it is why timing needs more than a single delay step.

🎯 If you only fix one thing

Stop timing replenishment by calendar default. Time it by how fast each product is actually consumed. That one change does more for reorder revenue than any new email you could add.

Why “Just Use Predictive Analytics” Is Not the Full Answer

Most guides point you straight at Klaviyo’s predictive analytics and the Expected Date of Next Order (EDNO) metric. It is a useful tool, but it has a limitation that those guides rarely mention, and it matters here.

Klaviyo states it directly in its predictive analytics documentation: the Expected Date of Next Order does not consider which products a customer ordered. It predicts the next order at the account-behaviour level. So if you sell items with genuinely different cycles, Klaviyo’s own recommendation is to build separate Placed Order triggered flows for each cycle, using trigger filters and a time delay that matches the known cycle, rather than relying on a single EDNO countdown. Klaviyo also advises against counting down to EDNO for repeat buyers, since they end up getting the same sequence before every order, which drives unsubscribes.

There are two more gates worth knowing before you lean on predictions. Klaviyo’s predictive metrics only unlock once you have at least 500 customers who have placed an order, at least 180 days of order history with orders in the last 30 days, and some customers with 3 or more orders. Below that, EDNO is not available and product-specific timing is your only reliable route anyway.

When Expected Date of Next Order Does Fit

EDNO is not useless, it just answers a different question. According to the same Klaviyo documentation (as of October 2026), the prediction uses a customer’s own order pattern where one exists, and falls back on how your other customers behave where it does not; customers who have bought only once are predicted from data across all your customers, and profiles that have never ordered have no expected date at all. Klaviyo’s guidance follows from that:

  • If you know the typical cycle for most of your product categories, do not replace your replenishment flows with EDNO. Use standard Placed Order flows.
  • If you have many repeat buyers, consider using EDNO only for customers who have bought once, to encourage the second purchase.

In practice that makes EDNO a good catch-all for one-time buyers of products without a clear consumption cycle, running alongside your product-specific flows rather than instead of them. Exclude anyone who is already in a replenishment flow, so nobody receives two reorder reminders for the same purchase.

⚠️ Heads up on EDNO

EDNO is product-blind. For a multi-SKU consumable catalogue, a single predictive countdown blends a fast product and a slow one into one average date that fits neither. Build per-cycle flows instead.

What High-Performing Replenishment Flows Do Differently

The strong setups share one trait: timing comes from data, and the flow adapts to behaviour instead of firing one email into the void. Here is the framework.

Step 1, Segment by Product Consumption Cycle

Group products not by category name but by how fast they are used up. Skincare and supplements might both sit in a “45-day” group; coffee and a fast-burn serum might share a “20-day” group. Build one Placed Order triggered flow per cycle group, each with a trigger filter limiting it to those products. This is cleaner than one flow per SKU and far more accurate than one flow for everything.

Diagram of consumable products grouped into replenishment cycle buckets feeding separate Klaviyo flows

Step 2, Estimate the Consumption Window (And Adjust for Quantity)

Pull the real number before you trust any estimate. Inside Klaviyo, look at average days between orders for customers with two or more purchases, or sample the gap between first and second order for repeat buyers. That is your true cycle, and it usually does not match the round number you would have guessed.

Then trigger before the product runs out, not on the day it does. A 30-capsule, once-daily supplement lasts about 30 days, so the first reminder should land around day 24 to 27. Klaviyo’s own guidance for a 30-day supply is a reminder near day 25.

The detail most flows miss: quantity changes the cycle. If a customer buys two units of a 30-day product, their reorder point is closer to day 55, not day 25. Add a conditional split on quantity ordered so a bulk buyer is not pestered a month early.

Reorder Reminder Timing for Coffee Beans: A Worked Example

Coffee shows why one timer fails. The cycle depends on two things you can see in the order, bag size and quantity, and one you cannot, how much the customer drinks. A quick model makes the spread visible. Assume about 15 g of beans per cup; that dose is our planning assumption, so replace it with your own recipe guidance.

Bag size1 cup a day2 cups a day3 cups a day
250 g~17 days~8 days~6 days
500 g~33 days~17 days~11 days
1 kg~67 days~33 days~22 days

The same 500 g bag can last anywhere from under two weeks to over a month. So for coffee:

  1. Split the flow by bag size (and by quantity, as above), because that part of the cycle is known at purchase.
  2. Set the first delay from your real median gap between first and second order for that bag size, not from the table. The table only tells you how wide the range can be.
  3. Send the first reminder a few days before the median, then a second one around the median itself.
  4. Once a customer has two or more orders, their own gap between orders is a better guide than any average.
  5. Offer a subscription in the reminder. For a daily habit with an unpredictable cycle, a delivery interval the customer chooses beats any timer you can set.
💡 Pro tip

Set the first send a few days before the supply runs dry, not on the dot. A reminder that arrives while the customer still has three days of product left converts better than one that arrives after they have already run out and improvised.

Step 3, Use a Reminder Sequence, Not One Email

One email is a single shot at a moving target. A short sequence covers the window. Klaviyo’s rule of thumb in its replenishment flow guide is two reminders, then a follow-up after the projected cycle that can carry an incentive. A practical four-step shape for a 30-day cycle:

  1. Day ~25: gentle reminder, no discount. Most reorders happen here, at full margin.
  2. Day ~30: second reminder, lead with convenience and one-click reorder.
  3. Day ~34: add urgency or a modest, time-boxed incentive for fence-sitters.
  4. Optional close: final nudge before the offer expires.

If the customer is SMS-subscribed, layering an SMS at the offer-open point usually outperforms email alone. Layer it, do not replace the emails with it, and split on SMS consent first so only subscribed profiles get the text. How to build that SMS list and stay compliant per market is covered in our guide to SMS marketing for Shopify. One more non-negotiable: turn Smart Sending off in this flow. The whole point is to hit a specific moment in the reorder cycle, and Smart Sending, which by default skips anyone who received a message in the last 16 hours for email or 24 hours for SMS, will suppress the email that lands on it.

Step 4, Add Behavioural Branching

Make the flow react. Branch on what the customer does:

  • Opened or clicked but did not buy: send a stronger, more specific follow-up.
  • Ignored entirely: change the angle, lead with convenience or a reason to act now.
  • Reordered: remove them from the flow immediately.

That last rule is the one brands forget. Klaviyo’s pre-built replenishment flow includes a profile filter that checks before every send that the customer has not purchased the product since entering the flow. Keep that filter, and if you are limiting the flow to a specific product, limit the filter to that product too. Without it, you email people who already reordered, which is the fastest way to teach loyal customers to mute you.

What to Send in Replenishment Emails

Reminder Messaging

The opening email should feel like a service, not a sale. “Running low?” with a clear path back to the exact product they bought does most of the work. Show the product they actually purchased, not a generic catalogue. For something like coffee, a relevant suggestion such as a new flavour or a complementary item can lift the order without feeling pushy.

Convenience Messaging

The second angle is friction removal. A one-click reorder, a pre-filled cart, or a nudge toward a subscribe-and-save option turns “I should reorder” into a single tap. For consumables, convenience often beats discount, because the customer already wants the product. If you sell subscriptions, exclude active subscribers from the replenishment flow, since their next order is already scheduled; our overview of Shopify subscription apps covers the subscription side.

Incentive Messaging

Use discounts last and sparingly. Lead with full-margin reorders, then layer a modest, time-boxed offer onto the back half of the sequence for the people who did not move. Reaching for a coupon on email one trains your most loyal buyers to wait for the deal that always comes. We made the full margin case in stop discounting customers who would buy anyway.

Replenishment Email Examples and Subject Lines

A replenishment email does not need clever copy. It needs the right product, the right moment and almost no friction. These three templates follow the sequence above; swap in your own product, timing and tone of voice.

EmailSubject line and previewBody and call to action
1. Reminder (full margin)“Running low on [product]?” / “Your [size] should last about another week.”Product image from the order, one line on when they bought it, a “Reorder [product]” button linking straight to the product or a pre-filled cart
2. Convenience“Reorder in one tap” / “Same [product], no searching.”One-click reorder, subscribe-and-save option if you offer it, delivery time, a complementary product as a secondary link
3. Incentive (back half only)“Still need [product]? Here’s [offer] until [date]” / “Ends [day].”A modest, time-boxed offer for people who did not act on emails 1 and 2, with the end date stated clearly

More subject lines that fit replenishment, sorted by angle:

  • Timing: “Time for a refill?”, “Your [product] is nearly empty”, “About [X] days of [product] left”.
  • Convenience: “Your usual, ready to go”, “Skip the search, reorder here”.
  • Personal: “[First name], ready for your next [product]?”, “Your [flavour/variant] is waiting”.
  • Subscription: “Never run out of [product] again”.

Keep the product name in the subject wherever you can. It tells the customer the email is about something they already use, which is what separates a replenishment email from just another promotion. Test one variable at a time, and judge subject lines by placed orders, not opens.

When Replenishment Ends: Handing Off to Win-Back

Replenishment and win-back are often confused, but they talk to different customers. A replenishment flow reaches someone who is probably still using the product and is due to reorder. A win-back flow reaches someone who has gone quiet well past their normal cycle. A re-engagement email is broader again: it targets subscribers who have stopped opening or clicking, whether or not they ever bought.

The hand-off between them should be a rule, not an accident:

  1. Define “overdue” per cycle group. A practical starting point is no reorder by roughly 1.5 to 2 times the product’s real cycle; check it against when your repeat orders actually stop arriving.
  2. Move them into win-back only after the replenishment sequence is finished, so nobody gets a “time to reorder” email and a “we haven’t seen you in a while” email in the same week.
  3. Change the angle. Win-back works with what is new, why customers stay, reviews or a simple “did something go wrong?” question. Save the stronger offer for the last win-back email, not the first.
  4. Close the loop. If win-back fails too, reduce frequency or move the profile into a sunset process instead of emailing them forever.

Low reorder rates are not always an email problem. If people buy once and never come back, look at the whole post-purchase stretch first, as we explain in abandoned cart flow vs post-purchase. For brands with a strong repeat base, the question of whether loyalty programs increase repeat purchases is the natural next step after a working replenishment flow.

Metrics That Tell You the Flow Is Working

Track the numbers that map to revenue, not just opens. For a replenishment flow, the ones that matter:

  • Reorder rate from the flow: share of entrants who repurchase the product.
  • Repeat purchase rate: 30, 60, and 90-day cohorts, so you see the cycle, not a snapshot.
  • Time to second purchase: tells you whether your trigger timing is right.
  • Revenue per recipient (RPR): the cleanest efficiency measure for the flow.
  • Replenishment conversion rate: placed orders divided by recipients, compared against the ~2.11% average flow benchmark.
📊 Good to know

If time to second purchase clusters a few days after your first reminder, your timing is close. If most reorders happen well before the email sends, you are triggering too late and leaving money in someone else’s checkout.

How to Build This in Klaviyo

Once the timing logic is set, the build is quick. Each step below has one job, and the right column tells you why it matters so you do not skip it.

StepWhat to DoWhy It Matters
TriggerMetric-triggered flow on Placed Order. For Shopify, start from the pre-built flow under “Encourage repeat purchases”.Fires the moment a customer buys, so the clock starts on real behaviour.
Trigger filterLimit the flow to the products in that cycle group.Keeps fast and slow products on separate, accurate timers.
First delaySet it a few days before your real consumption window closes.Reminder lands while product is still in hand, not after the reorder.
Quantity splitAdd a conditional split on quantity ordered.Stops bulk buyers being pestered a month too early.
Profile filterRemove anyone who repurchases the product after entering the flow.Prevents emailing people who already reordered.
Smart SendingTurn it off inside this flow.Protects the exact send time the whole flow depends on.
SequenceBuild the reminders, branch on engagement, layer SMS at the offer point.Covers the window instead of betting on one email.

For the click-by-click version, Klaviyo’s replenishment flow guide and its advanced segmentation reference cover the build conditions in detail.

If your catalogue has many cycle groups, pack sizes and subscription products, the build quickly turns into a dozen flows that need to stay in sync. That is the kind of setup our Klaviyo Shopify setup service handles, and our Shopify email marketing agency team then runs and tests the flows month to month. As a Shopify agency, we start every replenishment project from the order data, not from a template.

The Question Almost No One Asks: Did the Reorder Discount Pay for Itself?

A replenishment flow that “drove thousands of reorders” tells you nothing about how many of those reorders would have happened anyway. The customer ran low, they were always coming back, and your day-34 coupon just handed away margin on a sale you had won. To know the difference, withhold the incentive from a small randomised slice of the flow’s audience and compare their reorder rate against the group that got the offer. The gap is the real lift. If both groups reorder at nearly the same rate, the discount is subsidising sales you already had, and that part of the sequence should run at full margin.

This is the step that turns a replenishment flow from a habit into a measured system. The best flows do not feel like marketing. They feel like good timing: the reminder arrives the week you were about to run out, the reorder takes one tap, and the brand looks like it was paying attention. Get the timing right per product, prove the incentive earns its place, and replenishment becomes one of the most profitable automations in your account.

Selling consumables? This flow should be a top-three revenue earner. Let’s make it one.

📧

Klaviyo Shopify Setup

Welcome flows, segmentation, and the Klaviyo–Shopify integration set up cleanly from day one.

Set up my flows →
✉️

Klaviyo Email Marketing Agency

Full flow strategy, buyer/non-buyer splits, and retention built around your Shopify data.

Build my flows →
🚀

Shopify Marketing Agency

Email performs better when it is tied to SEO, CRO, and paid growth instead of treated as a silo.

See how we work →
FAQ

Frequently Asked Questions

A Klaviyo replenishment flow is an automated email or SMS sequence that reminds a customer to reorder a consumable product before they run out. It triggers off the Placed Order event and is timed to the product’s consumption cycle, so the reminder lands while the customer still has a little product left rather than after they have already restocked elsewhere.

Send it a few days before the product runs out, not on the day it does. For a 30-day supply, Klaviyo recommends a reminder around day 25. Pull your real average days between orders for repeat buyers first, because that number rarely matches the round figure most brands guess.

A common shape is two reminders at full margin, then a follow-up after the projected cycle that can carry a modest incentive. Branch the sequence on engagement so people who opened but did not buy get a different message from those who ignored it, and remove anyone who reorders.

Not on its own. Klaviyo’s Expected Date of Next Order does not consider which products a customer bought, so for a catalogue with different consumption cycles it blends fast and slow products into one average date. Klaviyo recommends building separate Placed Order triggered flows per cycle, each with a trigger filter and a time delay matching that cycle.

Klaviyo unlocks predictive metrics once you have at least 500 customers who have placed an order, at least 180 days of order history with orders in the last 30 days, and some customers with three or more orders. Below that threshold, product-specific time delays are your most reliable timing method.

Add a conditional split on quantity ordered. If a customer buys two units of a 30-day product, their reorder point is closer to day 55 than day 25. Without this split, bulk buyers get reminded roughly a month before they actually need to reorder, which trains them to ignore the flow.

Yes. The purpose of a replenishment flow is to hit a precise point in the reorder cycle, and Smart Sending can suppress the email that lands on that point. Leave Smart Sending on for broadcast campaigns, but turn it off inside replenishment flows so timing stays accurate.

Run a holdout test. Withhold the incentive from a small randomised slice of the flow’s audience and compare their reorder rate against the group that received the offer. The gap is your true incremental lift. If both groups reorder at a similar rate, the discount is subsidising sales you would have made anyway.

Base it on bag size and your own repeat-order data. As a rough model at about 15 g per cup, a 500 g bag lasts around 33 days at one cup a day but only around 17 days at two cups. Split the flow by bag size and quantity, send the first reminder a few days before the real median gap between orders, and offer a subscription for customers with an unpredictable cycle.

A replenishment email reaches a customer who is probably still using the product and is due to reorder, timed to the product’s consumption cycle. A win-back email reaches a customer who has gone quiet well past that cycle and needs a different reason to come back. A re-engagement email is broader and targets subscribers who stopped opening or clicking, whether or not they bought.

Name the product and the timing, for example “Running low on [product]?” or “Time for a refill?”. The product name shows the email is about something the customer already uses, which sets it apart from a promotion. Judge subject lines by placed orders from the flow, not by opens.