Stack execution playbook
Marketing analytics on a six-layer stack is not summing platform dashboards — Privy, Sequenzy, Klaviyo, Postscript, Yotpo, and Marsello each claim revenue that overlaps. Finance needs one incremental margin number reconciled in Shopify weekly, with holdout cohorts proving flows drive orders that would not happen otherwise.
Last-click attribution over-credits email when paid social drove the browse session. Stack analytics assigns incrementality tests per major flow: welcome, cart, replenishment, winback — 5–10% holdout monthly where volume allows.
Contribution margin after discounts, shipping subsidies, and loyalty redemptions is the KPI — not revenue per send. A cart recovery flow with 8% recovery rate and 15% average discount may destroy margin vs 4% recovery at full price.
Cohort LTV by acquisition source (popup vs quiz vs checkout) informs capture layer decisions — not vanity list growth. Influencer sources with low 90-day LTV should receive fewer replenishment resources regardless of welcome conversion.
Stack cost as percentage of attributed incremental margin — capture + lifecycle + SMS + reviews + loyalty + operator hours. $400/mo stack delivering $12k incremental margin beats $150/mo stack creating collision cleanup.
Weekly flow review ritual: top 3 flows by Shopify-attributed orders, bottom 3 by margin, one holdout result, one collision incident. Fifteen minutes with finance-aligned definitions.
Platform silo reporting hides SMS-cart-popup triple attribution. UTM discipline and exclusive discount codes per layer help untangle — but holdout remains gold standard.
Seasonal analytics: BFCM revenue per send vs unsubscribe spike vs January deliverability — peak week success is not peak month success if list burns.
Subscription brands add Recharge MRR impact — email-driven saves vs churn attribution. Replenishment incrementality without subscription churn context misleads.
Agency dashboards without Shopify reconciliation are theater. In-house analytics layer ownership means weekly order match, not monthly PDF.
Merchant scenarios
Lean DTC: Shopify weekly reconcile vs Sequenzy + Privy claims. One holdout on cart monthly. Margin line in spreadsheet.
Growth stack: Klaviyo cohort LTV by source. Holdout on winback quarterly. Stack cost % of incremental margin target under 8%.
Subscription: Recharge MRR delta vs skip-save email. Replenishment holdout. Churn at touchpoint tracking.
Stack checklist
- Shopify net sales weekly reconcile to platform claims
- Margin after discounts on email-driven orders
- Holdout defined for top 3 flows
- UTM/code per layer where possible
- Stack cost line item monthly
- Cohort LTV by capture source at day 90
- BFCM post-peak deliverability review
- Finance sign-off definition documented
- Collision incidents logged with revenue impact
- Full-price ratio tracked weekly
- SMS attributed separately from email
- Loyalty redemption margin impact modeled
Exclusions (non-negotiable)
- Last-click only attribution
- Ignoring margin
- Counting would-have-purchased-anyway revenue
Metrics that prove quality
- Incremental revenue per flow
- Revenue per recipient
- Contribution margin after discounts
- Cohort LTV by email engagement
Common mistakes
- Trusting platform attribution blindly
- Ignoring margin in ROI calc
- No holdout testing ever
Analytics across stack layers
Commerce truth: Shopify
Orders, margin, returns, subscription revenue.
Weekly source of truth reconcile.
Failure mode: Platform dashboards without order match.
Operator test: Variance under agreed tolerance weekly.
Lifecycle reporting: Klaviyo, Sequenzy
Flow and cohort performance.
Input to holdout design not final ROI.
Failure mode: Last-click accepted blindly.
Operator test: Holdout run quarterly on top flow.
Capture attribution: Privy
Source-level welcome and LTV tracking.
Capture ROI = 90-day LTV not opt-in count.
Failure mode: Celebrating popup conversion without LTV.
Operator test: LTV by source ranking monthly.
Incrementality: Holdout cohorts
Prove orders would not happen anyway.
5–10% holdout on major flows.
Failure mode: No holdout ever — folklore ROI.
Operator test: Documented holdout result last quarter.
Finance alignment: Spreadsheet/BI
Stack cost, margin, incremental definition.
Shared metric definitions with finance.
Failure mode: Marketing and finance use different ROI math.
Operator test: Monthly joint review scheduled.
Timing and trigger governance
Weekly: Shopify reconcile and flow top/bottom review.
Monthly: cohort LTV update and stack cost audit.
Quarterly: holdout on winback or replenishment.
Post-BFCM: deliverability and margin retrospective within 14 days.
Measurement across the stack
Incremental margin per flow (holdout-adjusted where possible).
Revenue per recipient at margin not gross.
Stack cost as % incremental margin.
Cohort LTV by email engagement quartile.
Full-price order ratio trend.
Related playbooks
Guide: marketing attribution.
All playbooks: holdout applies to each major flow.
Governance: tool sprawl cost line.
Stack coordination for revenue analytics
revenue analytics is not an email template problem — it is a stack handoff problem. Trigger: Continuous; weekly flow review; monthly cohort analysis Timing: Compare email-attributed vs holdout where possible; review incrementality quarterly 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 measure incremental revenue, not only attributed clicks, margin after discount matters more than attributed revenue.
Commerce truth: Orders, margin, returns, subscription revenue. Playbook fit: Weekly source of truth reconcile. Failure mode: Platform dashboards without order match. Operator test: Variance under agreed tolerance weekly.
Lifecycle reporting: Flow and cohort performance. Playbook fit: Input to holdout design not final ROI. Failure mode: Last-click accepted blindly. Operator test: Holdout run quarterly on top flow.
Capture attribution: Source-level welcome and LTV tracking. Playbook fit: Capture ROI = 90-day LTV not opt-in count. Failure mode: Celebrating popup conversion without LTV. Operator test: LTV by source ranking monthly.
Incrementality: Prove orders would not happen anyway. Playbook fit: 5–10% holdout on major flows. Failure mode: No holdout ever — folklore ROI. Operator test: Documented holdout result last quarter.
Finance alignment: Stack cost, margin, incremental definition. Playbook fit: Shared metric definitions with finance. Failure mode: Marketing and finance use different ROI math. Operator test: Monthly joint review scheduled.
Scenario — Lean DTC: Shopify weekly reconcile vs Sequenzy + Privy claims. One holdout on cart monthly. Margin line in spreadsheet. Map this scenario to your vertical guide at /for if category-specific suppressions apply (Recharge tags, wholesale accounts, gift buyers).
Scenario — Growth stack: Klaviyo cohort LTV by source. Holdout on winback quarterly. Stack cost % of incremental margin target under 8%. Map this scenario to your vertical guide at /for if category-specific suppressions apply (Recharge tags, wholesale accounts, gift buyers).
Scenario — Subscription: Recharge MRR delta vs skip-save email. Replenishment holdout. Churn at touchpoint tracking. Map this scenario to your vertical guide at /for if category-specific suppressions apply (Recharge tags, wholesale accounts, gift buyers).
Checklist execution notes
Shopify net sales weekly reconcile to platform claims — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Margin after discounts on email-driven orders — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Holdout defined for top 3 flows — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
UTM/code per layer where possible — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Stack cost line item monthly — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Cohort LTV by capture source at day 90 — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
BFCM post-peak deliverability review — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Finance sign-off definition documented — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Collision incidents logged with revenue impact — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Full-price ratio tracked weekly — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
SMS attributed separately from email — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Loyalty redemption margin impact modeled — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
FAQ deep dives
Why not trust Klaviyo attribution alone? Last-click over-counts when multiple stack layers touched same shopper. Shopify reconcile + holdout required. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
What is incremental margin? Orders attributed to flow minus holdout cohort orders, at contribution margin after discounts. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
How often reconcile Shopify? Weekly minimum. Daily during BFCM. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Holdout size? 5–10% of flow-eligible cohort where volume supports statistical read. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Stack cost in ROI? Include all SaaS fees and operator hours — true stack economics. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
SMS attribution separate? Yes — separate codes/UTM and holdout SMS branch tests. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Loyalty margin impact? Model redemption cost and points liability on loyalty-attributed orders. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Subscription analytics? MRR delta, churn at touchpoint, skip-save incrementality — not just email revenue. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Best tool for reporting? Shopify truth + Klaviyo depth + spreadsheet discipline. No single platform owns stack ROI. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Agency reporting? Require Shopify order match — not platform export alone. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Full-price ratio why? Discount-heavy email ROI erodes when full-price trend drops — early warning metric. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Biggest analytics mistake? Summing Privy + Klaviyo + Postscript revenue — double/triple counting same orders. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.