flows

The Replenishment Email Flow: Count Units, Not Days

Most replenishment flows use one delay for every order, so the customer who bought 2 gets "running low?" a month early. How to set the run-out date, split by quantity in Klaviyo, and why not to use the predicted next order date.

Oct 6, 2026
The Replenishment Email Flow: Count Units, Not Days

A replenishment email flow reminds a customer to reorder before they run out. Send 3 emails: 5 days before the run-out date, on the day, and 7 days after. Work out the run-out date from how many units they bought.

A replenishment email flow reminds a customer to reorder before they run out. Send 3 emails: 5 days before the run-out date, on the day, and 7 days after. Work out the run-out date from how many units they bought.

When should a replenishment email send?

Every guide tells you to time it to the product. Klaviyo gives the classic example. For a supplement with a 30 day supply, it says to send a reminder "about 25 days after customers enter the flow" and stops there.

That works for one customer: the one who bought 1 bottle and got it the next day. Everyone else gets the wrong email.

Klaviyo's flow starts on Placed Order. The clock starts when they pay, not when the box arrives. And the delay is the same for every order, no matter how much is in the box.

Customer Bought Shipping Reminder on day 25 lands when they have A 1 bottle 1 day 6 days left B 1 bottle 6 days 11 days left C 2 bottles 3 days 38 days left

Customer C is the problem. They bought double. They are your best customer in this table. And they get "Running low?" with more than a month of product on the shelf.

So set the date from the box, not the calendar.

Run-out date = delivery date + (units bought x days per unit)

Then send the first email 5 days before that date. If you do not get a delivery event, add your real average shipping time to the delay. Check that number against carrier data, not your shipping policy page.

What if they bought more than 1?

Split the flow by how much they bought.

A Klaviyo user asked this on the community forum. They wanted 20 days for 1 item and 40 days for 2. The answer came from someone who used to work at Klaviyo. Trigger on Placed Order, not Ordered Product. Then add a trigger split on the Item Count property. Each branch gets its own delay.

A trigger split sorts people by data from the order that started the flow. That is what you want here. The order is the thing that sets the date.

Two things to watch:

  • Item Count counts everything in the cart. 1 bottle of vitamins and 1 t-shirt is an Item Count of 2. If you sell more than consumables, split on the product first. Then split on the count.
  • Test it before you turn it on. On another forum thread, a WooCommerce store found their quantity filter did not work in preview. Build a test order for each branch and check where it lands.

Keep the branches simple. 1 unit, 2 units, 3 or more. Another Klaviyo alum suggested a filter that keeps multi-unit buyers out of the flow. That is a fair call for the 3 or more branch.

Should you use Klaviyo's expected date of next order?

No. Not for products with a known supply.

It sounds like the answer. Klaviyo predicts when each customer will order next. Why not count down to that?

Klaviyo says not to. Its help center is blunt about it. Brands with known cycles "should stick with a standard Replenishment Flow and not use this feature" according to Klaviyo. It also warns about counting down to the predicted date. Repeat buyers get the same emails before every order, and Klaviyo says that "may result in unsubscribes" too.

You also may not have it. Predictive analytics needs at least 500 customers who have ordered, 180 days of order history, and some customers with 3 or more orders.

The product already tells you when it runs out. A 60 day bottle lasts 60 days. Use that. Save prediction for customers who miss the date.

How many replenishment emails should you send?

  1. Klaviyo's own rule of thumb lands in the same place: 2 reminders, then 1 follow-up after the date passes with an incentive.
Field Value Trigger Placed Order, with a trigger split on product and Item Count Filter Has not placed an order since starting this flow Emails 3 Timing Run-out minus 5 days, run-out day, run-out plus 7 days Exit condition Placed order One job Get the reorder before they run out

The filter is the most important line in the table. Klaviyo checks it before every send. Someone who reorders after email 1 never sees email 2.

Email 1, 5 days before run-out. "Running low on your vitamins?" One product, one button that drops it straight in the cart. No discount. This email is a favor, not a sale.

Email 2, on the run-out day. "Don't run out." Same button. Add one line of proof from your own store: how many customers reorder this product each month. Use your real number. If you do not have it, leave the line out.

Email 3, 7 days after run-out. The last one. Here you can add a small reason: free shipping or a small discount. Then the flow ends.

Should a replenishment email include a discount?

Not in the first 2.

Email 1 goes to people who are about to buy anyway. A discount there pays them to do what they were going to do. And it teaches them to wait for the code next time.

By email 3 things have changed. They are a week past the date. Maybe they switched brands. Maybe they still have some left. A small push is fair here.

Where this sits in the system

Replenishment starts where the post-purchase flow ends. That flow gets the product used. Replenishment gets it bought again. The review request email runs in between, once the product has had time to work.

When email 3 gets no order, the customer has missed their window. That is the job of the winback flow. In the 12-flow guide, winback starts on that missed date. That is why this flow must end clean, after 3 emails.

For the full build order, start at the ecommerce customer retention hub.

Get the whole system

This is 1 flow of 12.

12 flows, 37 emails, one job: repeat purchases. Every trigger, every send delay, every exit condition, written out so you can build them this month.

12 flows, 37 emails, one job: repeat purchases.

Send me this plus the 12-flow guide.

Questions

When should you send a replenishment email?
5 days before the customer runs out. Work out the run-out date from delivery plus units bought times days per unit. A single delay from the order date sends the wrong email to anyone who bought more than 1 or waited on shipping.
How many replenishment emails should you send?
3. One 5 days before run-out, one on the run-out day, one 7 days after. Klaviyo's own rule of thumb is similar: 2 reminders, then 1 follow-up with an incentive after the cycle has passed.
How do you handle customers who ordered more than 1 unit?
Trigger the flow on Placed Order and add a trigger split on Item Count, with a different delay per branch. Item Count includes every item in the cart, so split on product first if you sell more than consumables.
Should you use Klaviyo's expected date of next order for replenishment?
Not for products with a known supply. Klaviyo's help center says brands with known cycles should use a standard replenishment flow, and warns that counting down to the predicted date may cause unsubscribes.
Should a replenishment email include a discount?
Not in the first 2 emails. Those go to people about to reorder anyway. A small incentive, like free shipping, fits the last email, 7 days after the run-out date.