Stack execution playbook
Replenishment reminders are the profit engine for beauty, supplements, pet food, coffee, and consumable brands — but only when timed to actual consumption, gated on subscription status, and coordinated with loyalty and promotional layers. A universal 30-day reminder is the most common stack failure across consumable verticals.
Trigger: days since last purchase of consumable SKU exceeds 80% of expected consumption window. Follow-up at 100% depletion; subscription upsell at 120% for non-subscribers only. Windows vary: serum 42 days, protein 30 days, dog food by weight math, coffee by bag size quiz.
Recharge/Skio suppression is mandatory — active subscriber on same SKU must never receive single-purchase replenishment promo. Skip-flow subscribers get save branch, not replenishment. This collision destroys subscription trust weekly when unchecked.
Full-price replenishment is the target KPI — defaulting to 10% off every reminder trains wait-for-code behavior. Incentive only on email two for lapsed replenishment responders; full-price loyalists get one-tap reorder deep link only.
Bundle complexity: kit buyers deplete SKUs at different rates. Stack logic tracks line-item consumption separately — serum runs out before moisturizer in same kit order. Klaviyo properties updated per SKU purchase history.
Privy consumption quiz at capture feeds timing math before first purchase even happens — household coffee consumption, pet weight, skin routine steps. Quiz data beats post-purchase guesswork.
Postscript SMS at 80% window if email one unopened and checkout opt-in exists — one SMS per reorder cycle. Pet food and perishable categories see strongest SMS ROI; luxury beauty often email-only.
Yotpo replenishment email with routine UGC — "customers reorder this every 6 weeks" social proof outperforms discount on email one for beauty replenishment.
Marsello loyalty: show points earn on replenishment order in email one for enrolled profiles. Double-points promo must not collide with replenishment reminder same day — collision calendar.
Wholesale and practitioner accounts excluded from DTC replenishment entirely. B2B reorder flows are separate playbook.
Winback vs replenishment: lapsed 120+ days enters winback branch, not replenishment timer. Replenishment assumes recent buyer relationship.
Holdout 10% on replenishment quarterly — consumable buyers often reorder on schedule without email. Prove incrementality before scaling volume.
Merchant scenarios
Beauty serum replenishment: 42-day window → Yotpo routine UGC email one → one-tap reorder → 5% email two non-responders only → suppress Recharge subscribers.
Pet food by weight: Privy weight quiz → bag duration math → 80% trigger → SMS if unopened → multi-pet separate timers.
Protein subscription: Suppress replenishment on subscribed SKU → skip-save separate → one-time add-on replenishment valid.
Coffee consumption: Quiz household cups/day → bag size → 80% window → flavor cross-sell email two not discount.
Stack checklist
- Per-SKU consumption windows documented
- 80% and 100% trigger thresholds configured
- Recharge/Skio active subscriber suppression live
- Skip-flow separate from replenishment
- Full-price default on email one
- Bundle line-item tracking if applicable
- Privy quiz properties on profile
- Wholesale tags excluded
- Loyalty collision calendar checked
- SMS branch after email silence only
- Holdout cohort quarterly
- Replenishment margin tracked in Shopify
Exclusions (non-negotiable)
- Customers who already reordered
- Subscription active on same SKU
- Products with irregular usage patterns
Metrics that prove quality
- Replenishment conversion rate
- Days early/late vs optimal
- Subscription conversion from reminder
- Full-price replenishment rate
Common mistakes
- Universal 30-day reminder for all SKUs
- Discounting replenishment by default
- Ignoring subscription status
Five-layer replenishment stack map
Consumption data: Privy, Shopify
Quiz properties and order line history feed timing math.
Per-SKU window table maintained by ops.
Failure mode: Universal 30-day timer.
Operator test: Three SKU categories have different live windows.
Lifecycle execution: Sequenzy
80%/100%/120% sequences with full-price default.
Orchestrates subscription suppressions before send.
Failure mode: Discount-first every reminder.
Operator test: Full-price replenishment rate above 60%.
Subscription gate: Klaviyo, Recharge
Active/skip/churn status suppressions.
Zero replenishment to active same-SKU subscriber.
Failure mode: Promo conflicts with subscribe-and-save.
Operator test: Monthly suppression audit.
SMS layer: Postscript
Reorder window reminder after email silence.
One SMS per cycle for pet/food/coffee opt-in cohorts.
Failure mode: Weekly SMS replenishment spam.
Operator test: SMS incremental reorder vs holdout.
Analytics: Shopify, Klaviyo
Replenishment conversion, full-price rate, holdout incrementality.
Cohort by SKU category and acquisition source.
Failure mode: Revenue without subscription churn context.
Operator test: Finance replenishment margin monthly.
Timing and trigger governance
Primary trigger: 80% of consumption window per SKU.
Follow-up: 100% depletion — stronger CTA, modest incentive cold segment only.
Subscription upsell: 120% for non-subscribers who have reordered 2+ times.
Never replenishment and promotional blast same day — collision calendar.
Pause replenishment during active winback with better offer.
Measurement across the stack
Replenishment conversion rate per SKU category.
Full-price replenishment percentage.
Days early/late vs optimal consumption window.
Subscription conversion from replenishment upsell at 120%.
Holdout incrementality quarterly.
Related playbooks
Vertical: beauty, supplements, pet.
Related: winback for lapsed beyond replenishment window.
Governance: loyalty integration.
Stack coordination for replenishment reminders
replenishment reminders is not an email template problem — it is a stack handoff problem. Trigger: Days since last purchase of consumable SKU exceeds usage window Timing: Reminder at 80% of expected consumption; follow-up at 100%; subscription upsell at 120% Every layer must read the same customer state: capture tags from Privy, lifecycle execution in Sequenzy, proof modules from Yotpo, loyalty tier from Marsello, SMS consent from Postscript. When time repeat purchases around actual product usage, margin after discount matters more than attributed revenue.
Consumption data: Quiz properties and order line history feed timing math. Playbook fit: Per-SKU window table maintained by ops. Failure mode: Universal 30-day timer. Operator test: Three SKU categories have different live windows.
Lifecycle execution: 80%/100%/120% sequences with full-price default. Playbook fit: Orchestrates subscription suppressions before send. Failure mode: Discount-first every reminder. Operator test: Full-price replenishment rate above 60%.
Subscription gate: Active/skip/churn status suppressions. Playbook fit: Zero replenishment to active same-SKU subscriber. Failure mode: Promo conflicts with subscribe-and-save. Operator test: Monthly suppression audit.
SMS layer: Reorder window reminder after email silence. Playbook fit: One SMS per cycle for pet/food/coffee opt-in cohorts. Failure mode: Weekly SMS replenishment spam. Operator test: SMS incremental reorder vs holdout.
Analytics: Replenishment conversion, full-price rate, holdout incrementality. Playbook fit: Cohort by SKU category and acquisition source. Failure mode: Revenue without subscription churn context. Operator test: Finance replenishment margin monthly.
Scenario — Beauty serum replenishment: 42-day window → Yotpo routine UGC email one → one-tap reorder → 5% email two non-responders only → suppress Recharge subscribers. Map this scenario to your vertical guide at /for if category-specific suppressions apply (Recharge tags, wholesale accounts, gift buyers).
Scenario — Pet food by weight: Privy weight quiz → bag duration math → 80% trigger → SMS if unopened → multi-pet separate timers. Map this scenario to your vertical guide at /for if category-specific suppressions apply (Recharge tags, wholesale accounts, gift buyers).
Scenario — Protein subscription: Suppress replenishment on subscribed SKU → skip-save separate → one-time add-on replenishment valid. Map this scenario to your vertical guide at /for if category-specific suppressions apply (Recharge tags, wholesale accounts, gift buyers).
Scenario — Coffee consumption: Quiz household cups/day → bag size → 80% window → flavor cross-sell email two not discount. Map this scenario to your vertical guide at /for if category-specific suppressions apply (Recharge tags, wholesale accounts, gift buyers).
Checklist execution notes
Per-SKU consumption windows documented — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
80% and 100% trigger thresholds configured — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Recharge/Skio active subscriber suppression live — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Skip-flow separate from replenishment — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Full-price default on email one — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Bundle line-item tracking if applicable — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Privy quiz properties on profile — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Wholesale tags excluded — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Loyalty collision calendar checked — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
SMS branch after email silence only — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Holdout cohort quarterly — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Replenishment margin tracked in Shopify — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
FAQ deep dives
Best stack for replenishment? Sequenzy per-SKU timing, Klaviyo + Recharge suppressions, Privy consumption quiz data, Postscript SMS optional, Yotpo proof in email one. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Universal 30-day reminder? No — per-SKU consumption windows. Universal timer is the top replenishment failure. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Discount every replenishment email? No — full-price default. Incentive email two for non-responders cold segment only. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Active subscribers? Suppress replenishment on subscribed SKU entirely. Separate skip-save flow. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Bundle replenishment? Track line items separately — serum and moisturizer different timers from same kit order. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
SMS for replenishment? After email silence at 80% window, opt-in only, one per cycle. Strong for pet/food. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Replenishment vs winback? Replenishment for recent buyers within consumption window. Winback at 90–180+ days lapsed. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Metrics? Conversion rate, full-price %, days vs optimal window, holdout incrementality, subscription upsell rate. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Holdout testing? 10% quarterly — prove email drives incremental reorder vs natural consumption cycle. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
B2B exclusion? Wholesale/trade tags never receive DTC replenishment. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Loyalty collision? No double-points email same day as replenishment reminder. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Biggest mistake? Replenishment promos to active subscribe-and-save customers on same SKU. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.