Stack execution playbook
Back-in-stock alerts sit between launch and replenishment in the stack — high intent, scarce inventory, zero margin for error. Shoppers joined a waitlist for specific variant; they deserve first notification in signup order, not competition with full list promotional blast.
Trigger only when inventory confirmed at variant level in Shopify — false alerts when OOS again destroy trust faster than no alert. Buffer quantity threshold optional for high-velocity SKUs.
Waitlist fulfillment order: Privy position tag → Sequenzy sequential send with 15–30 min spacing for high demand — prevents checkout crash and fairness disputes.
Expire alert after 48h — scarcity window creates urgency without perpetual "back in stock" fatigue on items that restock frequently.
Exclude customers who bought substitute SKU during OOS period unless they remain on waitlist.
SMS to waitlist opt-in only at restock — Postscript one text per variant per subscriber. Not full SMS list.
Browse abandonment and cart flows should pause conflicting promos on same SKU during active back-in-stock wave.
Fashion size/color, beauty shade, furniture fabric — variant granularity mandatory. "Product back in stock" without size is useless.
Analytics: waitlist conversion rate, time to sell-through after alert, revenue per alert, false alert rate.
Integrate with product launch playbook when restock is major event — VIP waitlist may precede general waitlist.
Merchant scenarios
Fashion variant restock: Privy size waitlist → inventory confirm → Sequenzy ordered send → 48h expiry → SMS waitlist opt-in.
Beauty viral shade: Shade waitlist → proof UGC in alert → suppress recent substitute purchasers → Klaviyo reporting.
Furniture fabric: Long lead restock → expectation email → alert on arrival → no discount on scarce fabric.
Stack checklist
- Variant-level waitlist not product-only
- Inventory confirmed before trigger
- Waitlist signup order preserved
- 48h offer expiry configured
- Substitute purchaser exclusion rules
- SMS waitlist opt-in only
- Pause conflicting browse/cart promos same SKU
- False alert post-mortem process
- Spacing for high-velocity drops
- VIP waitlist priority if applicable
- Revenue per alert tracked
- Sell-through time after alert measured
Exclusions (non-negotiable)
- Customers who bought substitute
- Waitlist for discontinued products
- Variants still partially OOS
Metrics that prove quality
- Waitlist conversion rate
- Time to sell-through after alert
- Revenue per alert sent
- False alert rate (OOS again)
Common mistakes
- Alerting before inventory confirmed
- No variant-level accuracy
- Sending to entire list not just waitlist
Back-in-stock stack map
Waitlist capture: Privy
Variant waitlist with position and opt-in tags.
SKU + variant ID on profile.
Failure mode: Product-level waitlist without size.
Operator test: Variant match on alert creative.
Fulfillment: Sequenzy
Ordered notification on restock event.
Sequential send high demand.
Failure mode: Simultaneous full list blast.
Operator test: Waitlist conversion > cold list 2x.
Inventory gate: Klaviyo, Shopify
Confirmed stock before any send.
Zero false alerts target.
Failure mode: Alert then immediate OOS.
Operator test: False alert rate under 1%.
SMS: Postscript
Waitlist SMS at restock opt-in only.
One text per variant window.
Failure mode: Full SMS list on 6 units.
Operator test: SMS waitlist conversion tracked.
Analytics: Shopify
Conversion, sell-through time, alert revenue.
Per-variant reporting.
Failure mode: Alerts sent without conversion tracking.
Operator test: 48h sell-through after alert.
Timing and trigger governance
Send within 5 minutes of inventory confirmed.
Sequential spacing 15–30 min if >500 waitlist.
Expire 48h after alert.
No second alert same variant within 7 days unless new waitlist wave.
Measurement across the stack
Waitlist conversion rate.
Time to sell-through post-alert.
Revenue per alert sent.
False alert rate.
Related playbooks
Launch: product launch.
Capture: popup handoff.
Stack coordination for back-in-stock alerts
back-in-stock alerts is not an email template problem — it is a stack handoff problem. Trigger: Inventory restocked for waitlisted SKU or variant Timing: Immediate on restock; priority by waitlist signup order; expire after 48h 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 capture demand for unavailable products, margin after discount matters more than attributed revenue.
Waitlist capture: Variant waitlist with position and opt-in tags. Playbook fit: SKU + variant ID on profile. Failure mode: Product-level waitlist without size. Operator test: Variant match on alert creative.
Fulfillment: Ordered notification on restock event. Playbook fit: Sequential send high demand. Failure mode: Simultaneous full list blast. Operator test: Waitlist conversion > cold list 2x.
Inventory gate: Confirmed stock before any send. Playbook fit: Zero false alerts target. Failure mode: Alert then immediate OOS. Operator test: False alert rate under 1%.
SMS: Waitlist SMS at restock opt-in only. Playbook fit: One text per variant window. Failure mode: Full SMS list on 6 units. Operator test: SMS waitlist conversion tracked.
Analytics: Conversion, sell-through time, alert revenue. Playbook fit: Per-variant reporting. Failure mode: Alerts sent without conversion tracking. Operator test: 48h sell-through after alert.
Scenario — Fashion variant restock: Privy size waitlist → inventory confirm → Sequenzy ordered send → 48h expiry → SMS waitlist opt-in. Map this scenario to your vertical guide at /for if category-specific suppressions apply (Recharge tags, wholesale accounts, gift buyers).
Scenario — Beauty viral shade: Shade waitlist → proof UGC in alert → suppress recent substitute purchasers → Klaviyo reporting. Map this scenario to your vertical guide at /for if category-specific suppressions apply (Recharge tags, wholesale accounts, gift buyers).
Scenario — Furniture fabric: Long lead restock → expectation email → alert on arrival → no discount on scarce fabric. Map this scenario to your vertical guide at /for if category-specific suppressions apply (Recharge tags, wholesale accounts, gift buyers).
Checklist execution notes
Variant-level waitlist not product-only — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Inventory confirmed before trigger — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Waitlist signup order preserved — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
48h offer expiry configured — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Substitute purchaser exclusion rules — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
SMS waitlist opt-in only — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Pause conflicting browse/cart promos same SKU — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
False alert post-mortem process — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Spacing for high-velocity drops — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
VIP waitlist priority if applicable — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Revenue per alert tracked — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Sell-through time after alert measured — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
FAQ deep dives
Alert full list on restock? No — waitlist order only for scarce variant. Full list only high-volume evergreen restock. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Variant-level required? Yes for fashion/beauty/furniture — size/shade/fabric specificity. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
False alert prevention? Shopify inventory confirmed trigger — buffer qty optional. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Waitlist order? Privy signup position → Sequenzy sequential fulfillment. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
SMS rules? Waitlist opt-in only. One per variant per window. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Alert expiry? 48h typical scarcity window. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Bought substitute? Exclude from alert unless still on waitlist. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Tools? Privy waitlist, Sequenzy fulfillment, Klaviyo inventory, Postscript SMS. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Metrics? Waitlist conversion, sell-through time, false alert rate. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Collision with cart? Pause cart/browse promo same SKU during alert wave. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
High demand spacing? 15–30 min between batches — fairness and site stability. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Biggest mistake? Full list back-in-stock email for 6 units — angers waitlist and burns trust. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.