Repeat Purchase
Replenishment retention
Plan replenishment reminders around likely need, check eligibility before sending, and measure whether they add profitable repeat purchases.
Replenishment retention prompts customers to reorder products they may be running low on. It suits products that are used up and bought again, but an order date cannot show how much a customer has left. Set a cautious reminder window, check whether the customer still needs a reminder, and measure whether the program adds value.
Choose eligible purchases
Start with repeat-use products such as household supplies or personal care items. Exclude durable goods, obvious gifts and one-off project purchases from the initial program. Check completed orders at product or suitable-substitute level, including pack size, quantity, returns and later purchases. A cancelled or returned order should not start an ordinary reminder sequence.
Keep subscription deliveries separate: a customer with a relevant order already scheduled may not need another invitation to buy. Confirm what your order and subscription data actually show before building this exclusion.
Set a window rather than a due date
Compare gaps between relevant purchases among customers who have reordered. Look separately at products with different pack sizes or uses. These gaps are a starting estimate, not a measure of consumption: customers who have not reordered are absent from the interval calculation, and a long gap may reflect a changed need.
Allow time for ordering and delivery. Where usage varies widely, use a gentle reminder or let the customer choose when to hear from you. Review the window when pack size, product mix or delivery time changes. Multi-unit orders need their own check, because extra units do not necessarily mean proportionally longer supply.
Replenishment reminder timing: window vs. due date
- Window-based approach
- Uses observed reorder intervals; accounts for usage variability and delivery time
- Due date approach
- Assumes fixed consumption rate; may trigger reminders too early or late
Check again before sending
A useful message names the relevant product and makes reordering straightforward. Avoid claiming the customer is nearly out unless they told you so. A discount may encourage an order, but it can also reduce the margin on a purchase that would have happened anyway.
Immediately before sending, check for a relevant new purchase, an active subscription delivery, a return, an unresolved complaint, an opt-out and other scheduled messages. A customer may have bought again while a flow was waiting. Stop the sequence after a relevant repurchase or opt-out.
Pre-send eligibility checks before sending a replenishment email
- Has the customer made a recent purchase of the same product?Yes → Stop flow
- Is there an active subscription delivery scheduled?Yes → Do not send reminder
- Has the customer opted out of marketing messages?Yes → Exclude from flow
- Is there a pending return or unresolved complaint?Yes → Delay or skip message
Configure the flow
Klaviyo offers pre-built replenishment flows for Shopify and BigCommerce after the integration is set up and enabled. In Klaviyo, open Flows, select Create Flow, then find the replenishment flow under Encourage repeat purchases or search for “replenishment”.
If you build a flow from scratch, use a metric-triggered flow based on the Placed Order event. A trigger filter can restrict entry to customers who bought a particular product; product-level filtering requires the relevant metrics to be available in the account.
For a product-specific flow, keep the product scope consistent in both the entry trigger and the purchase check. Klaviyo’s pre-built flow uses a profile filter before each email to check whether a customer has purchased since entering, so it can stop sending to someone who has already reordered.
Setting up a replenishment retention flow
- Integrate your e-commerce platform with KlaviyoRequired for access to pre-built flows (Shopify, BigCommerce)
- Create a new flow in KlaviyoGo to Flows > Create Flow > Search 'replenishment'
- Use a metric-triggered flow based on 'Placed Order' eventFilter by product or variant to ensure relevance
- Add profile filters to stop sending after reorderingEnsure flow halts if customer repurchases during sequence
Shape the reminder sequence
Use the observed buying cycle to choose when the first message becomes eligible, rather than treating the timing as a promised depletion date. Klaviyo gives the example of a supplement with a 30-day supply: a reminder about 25 days after entry may suit that buying cycle.
A Klaviyo rule of thumb is two reminder emails, followed by one message after the projected buying cycle has passed, potentially with an extra incentive such as a discount or coupon. Treat this as a sequence to assess against your customers’ behaviour, not a reason to keep messaging after they have reordered.
Tailor the message to the product that prompted entry. If product discovery is also a goal, a product block can suggest similar items; Klaviyo’s example for coffee beans is a new flavour or a mug.
Measure the result
Choose the outcome before launch: relevant repeat purchase, customer convenience or contribution after applicable costs. Clicks and attributed orders describe engagement; they do not establish that the reminder caused an extra purchase.
To assess whether reminders add value, randomly assign comparable eligible customers to receive the program or no replenishment reminder. Compare purchases and contribution per assigned customer over the same follow-up period.
Account for discounts, returns, product costs and relevant variable costs, including messaging. If cost data are incomplete, name the measure accurately instead of calling it profit. A separate comparison of two send times can help refine timing, but it answers a different question.
If you use Shopify profit reports to support the assessment, record a cost per item for each relevant product or variant. Shopify reports profit only for variants with cost information recorded at the time of sale, so missing costs can leave orders out of the report.
For a resold product, Shopify describes the cost per item as the amount paid to the manufacturer, excluding taxes, shipping and other costs. For a product you make, the cost can be based on labour and material costs; keep the scope of that figure clear when interpreting contribution or profit.
Key metrics to measure replenishment retention success
- Attributed repeat purchases
- Number of orders resulting from the flow
- Contribution margin per customer
- Revenue minus product cost, variable costs and messaging expenses
- Click-through rate (CTR)
- Engagement indicator, not proof of conversion
- Return rate of promoted products
- Track post-reminder returns to assess value
In this guide
- Estimating a likely replenishment intervalUse comparable repeat purchases to estimate a reorder window, while accounting for pack size, sparse histories and buyers who have not reordered.
- Testing reminders around product usage rather than fixed datesDesign a fair test of product-informed reminder timing versus a fixed delay, with consistent eligibility, suppression and outcome windows.
- Handling customers who bought several units at onceAdjust replenishment timing for multi-unit orders without assuming every extra unit extends supply. Check packs, returns and later purchases first.
- Measuring whether replenishment reminders improve profitable repeat purchaseUse a no-reminder control and complete order contribution to see whether replenishment messages add profitable repeat purchases.


