Stack execution playbook
Black Friday on a six-layer stack is a governance stress test — not a creative contest. Teaser week -1, VIP access -24h, general launch, last chance +48h, each row in collision calendar names owner, segment, max discount, and suppressions. Without calendar, popup + cart + SMS + loyalty + winback collide daily.
Sunset unengaged 30–90 days before peak — Gmail/Yahoo engagement requirements make BFCM the wrong time to email cold profiles. List hygiene playbook precedes BFCM creative.
VIP early access before general blast — full-price loyalists and high RFM get first access, not deepest discount. Protect margin on best customers.
Exclude recent full-price purchasers 7–14 days from sitewide promo — insulting and margin-destructive.
Pause winback and non-essential experiments 2 weeks before peak. Freeze segment logic changes 1 week before.
Deliverability: warm domain if new, avoid sudden 10x volume spike without prep, plain-text ratio on heavy promo sends, post-BFCM deliverability audit within 14 days.
Privy: pause aggressive new capture popups during VIP window — focus on list monetization not list growth peak week.
Postscript: one SMS per 72h cap, quiet hours, no parallel email+SMS same discount hour one.
Marsello: if double-points runs, no competing 30% email same day.
Analytics: revenue per send during BFCM, unsubscribe spike daily, January reactivation rate, margin after discounts — not gross revenue heroics.
Merchant scenarios
Fashion DTC: VIP drop access -24h → general BFCM → cart caps → SMS 72h cap → post-peak winback hold.
Consumable replenishment: Pause replenishment promos peak week → BFCM only if margin-positive → resume replenishment Dec 5.
High-AOV restraint: Financing + VIP early access → max 15% sitewide → no cart escalation peak week.
Stack checklist
- Collision calendar published 6 weeks out
- Unengaged sunset completed
- VIP early access segment defined
- Recent purchaser exclusions live
- Winback paused peak week
- Segment logic frozen 1 week before
- SMS frequency cap 72h
- Privy popup pause rules documented
- Deliverability auth verified
- Daily unsubscribe monitoring
- Post-BFCM deliverability audit scheduled
- Margin after discount tracked daily
Exclusions (non-negotiable)
- Recent purchasers at full price
- Unengaged contacts (sunset first)
- Customers in active winback with better offer
Metrics that prove quality
- Revenue per send during BFCM
- Unsubscribe spike
- Deliverability post-BFCM
- January reactivation rate
Common mistakes
- Daily blasts for 2 weeks straight
- No VIP early access
- Ignoring post-BFCM deliverability damage
BFCM stack governance map
Calendar: Shared doc
Every layer every day peak week.
Owner + max discount + suppressions per row.
Failure mode: Three offers Tuesday afternoon.
Operator test: Zero undocumented collisions peak week.
Lifecycle: Sequenzy
Teaser, VIP, general, last chance sequences.
Timed waves not simultaneous blast.
Failure mode: Daily blasts 14 days straight.
Operator test: Revenue per send not declining day 3+.
List hygiene: Klaviyo
Sunset unengaged pre-peak.
Engaged-only peak volume.
Failure mode: Cold profiles emailed BFCM — spam risk.
Operator test: Sunset completed 30 days pre.
SMS: Postscript
Capped urgency not parallel blast.
72h cap per subscriber.
Failure mode: SMS opt-out spike >2%.
Operator test: Daily SMS opt-out rate.
Analytics: Shopify
Margin, unsub, Jan reactivation.
Post-peak retrospective.
Failure mode: Gross revenue without list health.
Operator test: January revenue vs prior year.
Timing and trigger governance
Teaser: week -1.
VIP: -24h general.
General launch: BFCM day.
Last chance: +48h.
Resume normal flows: +7 days post-peak.
Measurement across the stack
Revenue per send peak week.
Daily unsubscribe rate.
Deliverability post-peak.
January reactivation.
Margin after all BFCM discounts.
Related playbooks
Guide: seasonal governance.
Hygiene: list hygiene.
Discount: discount strategy.
Stack coordination for Black Friday campaigns
Black Friday campaigns is not an email template problem — it is a stack handoff problem. Trigger: Seasonal calendar; VIP early access; teaser sequence Timing: Teaser week -1; VIP access -24h; general launch; last chance +48h; exclude recent full-price buyers 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 prepare high-volume campaigns without burning the list, margin after discount matters more than attributed revenue.
Calendar: Every layer every day peak week. Playbook fit: Owner + max discount + suppressions per row. Failure mode: Three offers Tuesday afternoon. Operator test: Zero undocumented collisions peak week.
Lifecycle: Teaser, VIP, general, last chance sequences. Playbook fit: Timed waves not simultaneous blast. Failure mode: Daily blasts 14 days straight. Operator test: Revenue per send not declining day 3+.
List hygiene: Sunset unengaged pre-peak. Playbook fit: Engaged-only peak volume. Failure mode: Cold profiles emailed BFCM — spam risk. Operator test: Sunset completed 30 days pre.
SMS: Capped urgency not parallel blast. Playbook fit: 72h cap per subscriber. Failure mode: SMS opt-out spike >2%. Operator test: Daily SMS opt-out rate.
Analytics: Margin, unsub, Jan reactivation. Playbook fit: Post-peak retrospective. Failure mode: Gross revenue without list health. Operator test: January revenue vs prior year.
Scenario — Fashion DTC: VIP drop access -24h → general BFCM → cart caps → SMS 72h cap → post-peak winback hold. Map this scenario to your vertical guide at /for if category-specific suppressions apply (Recharge tags, wholesale accounts, gift buyers).
Scenario — Consumable replenishment: Pause replenishment promos peak week → BFCM only if margin-positive → resume replenishment Dec 5. Map this scenario to your vertical guide at /for if category-specific suppressions apply (Recharge tags, wholesale accounts, gift buyers).
Scenario — High-AOV restraint: Financing + VIP early access → max 15% sitewide → no cart escalation peak week. Map this scenario to your vertical guide at /for if category-specific suppressions apply (Recharge tags, wholesale accounts, gift buyers).
Checklist execution notes
Collision calendar published 6 weeks out — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Unengaged sunset completed — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
VIP early access segment defined — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Recent purchaser exclusions live — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Winback paused peak week — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Segment logic frozen 1 week before — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
SMS frequency cap 72h — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Privy popup pause rules documented — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Deliverability auth verified — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Daily unsubscribe monitoring — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Post-BFCM deliverability audit scheduled — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Margin after discount tracked daily — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
FAQ deep dives
How many BFCM emails? Calendar-driven waves — not daily blasts 14 days. Quality segments over volume. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
VIP early access required? Yes for margin — loyalists first, not deepest discount to everyone. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Sunset before BFCM? 30–90 day unengaged sunset 4–6 weeks before peak. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Pause winback? Yes peak week — conflicting offers and list fatigue. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
SMS BFCM rules? 72h cap, quiet hours, no email+SMS same discount hour. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Recent purchaser exclusion? 7–14 days full-price buyers excluded from sitewide. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Deliverability prep? Auth check, avoid cold volume spike, post-peak audit. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Privy during BFCM? Pause non-essential capture — focus sends not popups. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Metrics? Revenue per send, daily unsub, margin, Jan reactivation. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Replenishment during BFCM? Pause or merge into BFCM calendar — no collision. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
When freeze changes? Segment logic frozen 1 week before; experiments paused 2 weeks. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Biggest BFCM mistake? No collision calendar — stack layers independently discount same shoppers daily. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.