- Shopify replenishment email timing should be set per product, from how long it lasts and how long your customers actually wait to reorder. One store-wide “day 30” is a guess.
- Klaviyo’s example: a 30-day supplement gets its reminder around day 20–25, so there’s time to order and receive it before running out.
- Use the median days between reorders, not the average. A few slow buyers drag the average late.
- Send 2 reminders, then 1 follow-up after the cycle has passed. Klaviyo suggests saving the incentive for that last one.
- Filter out anyone who already reordered that product, then measure with the repeat purchase rate calculator.
Get Shopify replenishment email timing right and you have the most welcome email you’ll ever send: “running low? Here’s one click to reorder.” Get it wrong and it’s just another promo in a crowded inbox.
The fix is simple. Stop picking one delay for the whole store. Work out each product’s real reorder window from your order history, then send a little before it. Klaviyo’s own replenishment guide uses the same logic: a 30-day supplement gets its reminder around day 25.
Tricks first, then the timing formula, a cheat sheet and the exact Klaviyo build.
Repeat Purchase Rate CalculatorFind out how many customers come back today, then see what a well-timed reorder reminder could add.Run my numbers →6 tricks for Shopify replenishment email timing
1. One flow per use time, not one per store
Mascara and foundation don’t run out on the same day. Klaviyo’s replenishment blog uses that exact example. Group products by how long they last (2 weeks, 1 month, 3 months) and give each group its own delay.
2. Use the median, not the average
Averages lie here — the same trap shows up in the time to second purchase ecommerce benchmark. A few customers who stocked up, or forgot for six months, push the average later. Repeat’s help docs show an example face wash with a median of 74 days but a mean of 94. Time to the average and you’d send three weeks late for most people.
3. Pull the reminder in before runout
The email has to arrive while they still have some left, with time to order and get the delivery. Klaviyo’s blog sets a 30-day supply at 20–25 days. Its seltzer example: if customers go through a 24-pack in about 10 weeks, set the delay to 9.
4. Adjust for pack size
A 3-month bundle shouldn’t get a 30-day reminder. Multiply the per-unit window by the quantity they bought, or split the flow by variant.
5. Suppress anyone who already reordered
Klaviyo’s filter is Placed Order zero times since starting this flow, limited to that product. Without it, you’re thanking loyal customers with a nag. Also exclude active subscription customers if you run Recharge or similar.
6. Save the discount for the last email
Klaviyo’s rule of thumb: two reminders, then a follow-up after the buying cycle has passed with an extra incentive. Most people who are going to reorder don’t need a coupon to do it. Protect your margin with the profit margin calculator before you pick a number.
How to find each product’s reorder window
You already have the data. Here’s the spreadsheet method:
- Export orders from Shopify admin for the last 12 months or more, if you have them.
- Keep repeat buyers only: customers who bought the same product (or SKU) at least twice.
- Calculate the gap in days between each pair of consecutive orders of that product.
- Take the median gap per product. Also note the 25th percentile, the point where your fastest quarter of buyers reorders.
- Sanity-check volume. A median from 5 repeat orders is noise. Group similar products until you have a decent number of gaps.
Because you’re measuring order date to order date, shipping time is already baked in. If instead you start from the label (“30 servings”), add your normal delivery time.
No volume yet? Start from use time, then replace the guess with real data after a few months. If you have Klaviyo’s predictive analytics, its average time between orders is another input Klaviyo suggests.
The send-day formula
Then compare: if your 25th percentile is far below the median, some customers run out much faster. Consider sending email 1 nearer the 25th percentile for that product, and let the suppression filter catch the ones who already bought.
Timing cheat sheet by product type
Starting points only. Your own order data beats this table every time.
| How long it lasts | Typical examples | Email 1 | Email 2 | Email 3 (incentive) |
|---|---|---|---|---|
| About 2 weeks | Coffee beans, fresh pet treats | Day 9–11 | Day 14–16 | Day 21+ |
| About 30 days | Daily supplements, contact solution | Day 20–25 | Day 30 | Day 40+ |
| About 60 days | Shampoo, skincare serums | Day 45–52 | Day 60 | Day 75+ |
| About 90 days | Razor refills, filters, bulk packs | Day 70–80 | Day 90 | Day 110+ |
The 30-day row follows Klaviyo’s published supplement example. The other rows apply the same logic, roughly 70–85% of the cycle for email 1, and are my working defaults, not benchmarks.
Worked examples
A Shopify store sells a 60-capsule supplement, 2 a day. The label says 30 days. Orders take about 4 days to arrive.
- From the label: 30 − 4 days shipping − 2 days buffer = email 1 on day 24. That lands inside Klaviyo’s 20–25 day range.
- After 6 months of orders, the store exports the data. The median gap between repeat orders is 38 days, not 30. People skip doses.
- The store moves email 1 to about day 32, email 2 to day 38, and the discounted follow-up to about day 50.
A coffee brand sells 250g and 1kg bags. The median gap for repeat buyers of the 250g bag is 16 days.
- 250g: email 1 on day 12, email 2 on day 16.
- 1kg is four times the coffee, so the window is roughly 4 × 16 = 64 days. Email 1 around day 55.
- Sending the 1kg buyers a day-12 reminder would have been five reminders too many.
How to build it in Klaviyo
Klaviyo has pre-built replenishment templates for Shopify and BigCommerce. Go to Flows > Create Flow, then Browse by goal > Encourage repeat purchases, or search “replenishment”.
- Trigger: Placed Order, with a trigger filter like Items contains [product]. For stores where one order holds several products, Klaviyo’s community points out that Shopify also sends Ordered Product once per item, which makes product-level timing cleaner.
- Flow filter: Placed Order zero times since starting this flow, limited to that product. Klaviyo checks it again at every step.
- Time delay: your email 1 day. Use “delay until a specific time of day” so it lands at a sensible hour. Without it, Klaviyo counts each day as 24 hours from the order.
- Email 1, delay, email 2, delay, email 3. Klaviyo warns that a time delay must be followed by a live or manual action, or people skip it and exit.
- Go live: Review and turn on, set to Live.
What to put in each email
- Email 1, the easy reorder: “Running low on [product]?” Product image, one button that goes straight to the product or a pre-filled cart. Mention your subscription option if you have one.
- Email 2, the reminder: “Don’t run out.” A short usage tip or a review. Offer a bigger size if they keep reordering.
- Email 3, the incentive: the only one with a discount, and it can double as a check-in: “Still using [product]?”
Count these sends in your overall schedule. Replenishment plus a weekly campaign plus a post-purchase flow adds up. Plan it in the email frequency planner.
How to tell if your timing is right
- Lots of orders before email 1 sends? Your delay is too long, and the flow is taking credit for orders that would have happened anyway.
- Most reorders land after email 3? Your delay is too short.
- Watch days between orders before and after the flow goes live, and the share of customers who reorder at all. That’s your repeat purchase rate.
- Hold out a group. Send nothing to a small random slice to see the real lift. My post on Klaviyo A/B test sample size shows how many people you need.
Customers who still don’t reorder after email 3 aren’t a replenishment problem anymore. Hand them to your Shopify win-back email flow. For the bigger picture, see how to increase repeat purchase rate on Shopify, and price what each returning customer is worth with the customer lifetime value calculator.
Want Inboxoo to set this up for you?
We build and run Klaviyo email & SMS retention for Shopify brands and get paid on results.
Chat on WhatsAppWant to know the exact quotation? Contact now
FAQ
When should I send a replenishment email?
Shortly before the customer runs out, with enough time for them to order and receive the product. Klaviyo’s example for a supplement with a 30-day supply is a reminder about 20 to 25 days after the order. For products without a fixed use time, base it on the typical gap between repeat orders of that product.
How do I calculate the reorder window for a Shopify product?
Export your Shopify orders, find every customer who bought the same product at least twice, and work out the days between those orders. Take the median of those gaps for each product. If a product has only a handful of repeat orders, group it with similar products or start from its use time.
How many replenishment emails should I send?
Klaviyo’s rule of thumb is two reminder emails, then one follow-up after the projected buying cycle has passed, which can include an extra incentive like a discount. After that, let the customer move into your win-back flow.
Should a replenishment flow use Placed Order or Ordered Product?
Klaviyo’s help article builds it on Placed Order with a trigger filter for the product. Klaviyo’s community notes that Shopify also sends an Ordered Product event for every individual item, which makes product-level timing easier when one order contains several products.
How do I stop replenishment emails going to people who already reordered?
Add a profile filter for Placed Order zero times since starting this flow. Klaviyo says to limit it to orders for that product if the flow is product-specific, otherwise an unrelated purchase would stop the reminder.
Does order date or delivery date matter for timing?
If you measure the gap between two order dates, delivery time is already inside that number. If you start from how long the product lasts, add your usual shipping time so the reminder arrives before the last dose, not after it.
Want Inboxoo to set this up for you?
We build and run Klaviyo email & SMS retention for Shopify brands and get paid on results.
Chat on WhatsAppWant to know the exact quotation? Contact now
Keep reading
Time to second purchase ecommerce benchmark
BS&Co’s 156k-customer timing data, the median vs mean trap, vertical windows and how to time your flows.
8 min read →RetentionHow to increase repeat purchase rate
Measure it properly, then nine post-purchase, replenishment and SMS tactics that turn first-time buyers into repeat customers.
7 min read →Klaviyo flows7 Klaviyo post-purchase flow examples
Seven copy-ready post-purchase builds with triggers, splits and timing, from thank-you to replenishment and VIP.
8 min read →- Klaviyo Help Center: How to create a replenishment flow
- Klaviyo blog: How to set up a replenishment email flow (with examples)
- Klaviyo Help Center: How to add a time delay to a flow
- Klaviyo Community: Ordered Product vs Placed Order for product-based flows
- Repeat Help Center: Overview of your replenishment insights tab
Worked examples in this post use illustrative numbers, not client results. Benchmarks are linked to their original publisher.