The replenishment flow is one of the most underrated automations in ecommerce. When it works, it is remarkably reliable. When it fails, the reason is almost always the same: someone set a fixed delay once and never thought about it again.
The timing problem
Most replenishment setups use a flat delay — thirty days after purchase, send the email. This works as a starting point and produces mediocre results forever.
The issue is that products run out at different rates for different customers. A 30-serving tub runs out faster for someone who trains daily than for someone who trains twice a week. Different pack sizes have different windows. A customer who bought two units should not receive the same timing as someone who bought one. Treating them identically is the default, not the correct approach.
When I build this flow, I build timing logic into it rather than a flat delay. The specific mechanics depend on the products and the platform. The principle is the same: timing should reflect how that customer is likely using that product.
The discount question
I do not put a discount in the first replenishment email. A customer who is about to run out of a product they use regularly does not need one — they need a well-timed reminder. The discount, if I use one, goes in a follow-up to the segment that did not respond to the first email.
This is a small decision that has a meaningful impact on margin over time.
The step most stores skip
Identifying which products are actually eligible. Replenishment only works for consumables with a predictable usage cycle — supplements, skincare, food, cleaning products. Getting that list right before building the flow is more valuable than optimising the email copy.
Vít Sláma works with ecommerce brands on email marketing, frontend development and automation. Based in the Czech Republic.