campaign strategyanalyticstemplatespromo planning

    The Ecommerce Post-Campaign Post-Mortem: A 1-Hour Debrief Template for Shopify Merchants

    Promly Team9 min read

    The Ecommerce Post-Campaign Post-Mortem: A 1-Hour Debrief Template for Shopify Merchants

    Most Shopify and DTC merchants finish a promo and move straight to the next one. The banner comes down, the discount code expires, the Klaviyo report gets a quick skim, and then it is back to planning. The result is that the same mistakes show up sale after sale: wrong timezone on the discount, banner that went live six hours late, a code that stacked with an automatic discount it was never supposed to touch.

    Research from BCG has found that between 30 and 40 percent of retail promotions are unprofitable, and 40 to 60 percent deliver below their expected ROI (BCG, Tackling Promotion Inefficiency, 2023). The merchants who break out of that pattern are not necessarily smarter planners. They are the ones who debrief.

    This guide gives you a 5-section post-mortem template that fits one hour. You will also find the incremental lift calculation that most Shopify merchants skip, and a system for making the debrief a regular habit rather than a once-a-year BFCM exercise.

    If you are already using PromoOS, the analytics dashboard shows goal-versus-actual for every promo you planned in the tool, so sections 1 and 2 of the template come pre-populated before the meeting starts.

    Why Most Ecommerce Post-Mortems Fail Before They Start

    Three things sink most debrief attempts before they get off the ground.

    No baseline going in. If you did not set a revenue goal before the promo, you have no way to measure whether you succeeded. "We did $18K" is not a result. "$18K against a goal of $14K" is.

    Attribution scattered across four tools. Shopify says one number. Klaviyo says a much larger number. Meta says something else entirely. Without a plan for reconciling these at the start, the debrief becomes a debate about whose dashboard is right rather than a conversation about what to do differently.

    No structure. Freeform "what did we learn" conversations drift into tactical firefighting. Someone brings up a technical issue. Someone else mentions a creative direction they wanted to try. An hour passes and nobody has written down a single thing they will actually change.

    A template fixes all three. It forces a goal to be written down before the promo. It defines which numbers you will use and why. It gives the meeting a shape.

    The 5-Section Post-Mortem Template

    Work through each section in order. For a standard promo, the whole thing fits 45 to 60 minutes. For a big BFCM campaign, book 90.

    Section 1: Goal Recap (10 minutes)

    Write down the goal you set before the promo ran, then fill in what actually happened.

    • Revenue: $__ (Goal) / $__ (Actual) = __% hit rate
    • Orders: __ (Goal) / __ (Actual) = __% hit rate
    • New customers: __ (Goal) / __ (Actual) = __% hit rate
    • AOV: $__ (Goal) / $__ (Actual) = __% hit rate

    Hit rate is actual divided by goal, expressed as a percentage. If you did not set a goal before the promo, write "no goal set" rather than leaving it blank. That is itself a learning.

    Note any external factors that affected the result: a competitor ran a deeper sale, a shipping delay created a support surge, a social post went unexpectedly viral. These go in a "context" row, not in the goal column.

    Section 2: What Worked (15 minutes)

    Evidence only. "The creative felt strong" does not count. "The creative drove a 4.2% click rate on the email, which is 1.8 points above our average" does.

    Limit to five items. For each, name the channel or tactic, the metric that confirms it worked, and whether you would repeat it.

    This is the section most teams rush. Slow down here. What worked is just as worth understanding as what broke, because you want to be able to replicate it deliberately.

    Section 3: What Broke (20 minutes)

    Blameless. This is the single most important rule of a useful debrief. The goal is root causes, not surface symptoms.

    "The coupon code did not work at checkout" is a symptom. "The Klaviyo flow sent the coupon email 40 minutes before the Shopify discount code was published, so early openers saw an invalid code" is a root cause. You can fix the second one. You cannot fix the first.

    Limit to five items. For each: what happened, the root cause, and what you would do differently next time.

    If the promo involved multiple discount types running at the same time, check whether any conflict issues arose. Shopify's discount-combination rules can produce unexpected stacking behavior, and BFCM is when that tends to surface.

    Section 4: What to Try Next Time (10 minutes)

    Turn Section 3's root causes into specific next-time actions, each with an owner and a deadline.

    Bad: "Improve the discount setup process."

    Good: "Create a pre-launch checklist that includes verifying the Shopify discount is live before scheduling the Klaviyo flow. Owner: [name]. Done before the next campaign brief is submitted."

    This section is where learnings either become institutional knowledge or evaporate. If nothing is owner-tagged and deadline-dated, nothing will change.

    Section 5: Institutional Log (5 minutes)

    Where does this document live? A Notion database tagged by promo type and quarter works well. A Google Sheets index works just as well. The point is not the tool, it is the habit: next quarter's planning should start from the last post-mortem, not from scratch.

    If you are planning for BFCM, the Q3 debrief is the most useful document you own. If you do not have a Q3 debrief because you did not run a Q3 promo, that is the finding: you have no recent data to calibrate your BFCM targets against.

    Where to Get the Numbers Before the Meeting

    Post-mortems stall when people spend the first 20 minutes arguing about which dashboard to believe. Agree in advance on which source governs each metric, then pull it before everyone sits down.

    Total revenue, orders, and AOV: Shopify Analytics, filtered to the promo window. Shopify is the source of truth for what actually landed in your bank account.

    Discount usage: Shopify Discounts section, click on the specific code or automatic discount to see redemption count and revenue.

    Email performance: Klaviyo campaign report or Flow analytics: sends, opens, clicks, attributed revenue. Use Klaviyo for channel decisions (which sequence drove people to buy), not for total revenue. Klaviyo's attribution window is wider than Shopify's by design, which is why the numbers differ.

    Paid ROAS and click-through: Platform reporting from Meta, Google, or your MMP (Triple Whale and Northbeam are common choices for DTC brands running multi-channel campaigns).

    Revenue attribution: Post-purchase survey data reconciled against Shopify totals.

    When Shopify shows $15K and Klaviyo shows $40K, neither platform is lying. They are counting different things. Agree on that before the meeting starts.

    The Incremental Lift Calculation (Most SMB Brands Skip This)

    Standard promo reporting says: "We did $50K in the sale." What it rarely says is how much of that $50K would have sold anyway without the discount.

    Incremental lift is the difference between what actually sold during the promo and what would have sold at normal pace. It is the most honest measure of whether the discount created demand or just moved purchase timing forward.

    Here is the simplest version, adapted from the approach documented by 42signals:

    1. Establish a revenue baseline from the four to six weeks before the promo ran. Calculate average daily sales at full price.
    2. Multiply that baseline by the number of promo days to get expected baseline revenue.
    3. Subtract expected baseline revenue from actual promo revenue to get the incremental amount.

    Example: a five-day storewide sale generates $50K in revenue. Your pre-promo average was $6K/day. Expected baseline over five days: $30K. Incremental lift: $20K.

    That $20K is what the promo actually generated beyond normal business. The discount on the remaining $30K came entirely out of your margin on revenue that would have arrived anyway.

    Incremental lift percentage: incremental divided by total promo revenue. In this example, 40%. That means 60 cents of every dollar of promo revenue would have arrived anyway, and the discount on that 60 cents came entirely out of your margin.

    This calculation is not perfect. Seasonality, paid spend changes, and competitor activity all affect the baseline. But it is consistently better than "we did $50K" for deciding whether to run the same promo again.

    Making Post-Mortems a Habit

    One post-mortem is useful. A post-mortem after every meaningful promo becomes a compounding advantage: your team builds institutional memory, your targets get progressively better calibrated, and the same mistakes stop recurring.

    A workable threshold: any promo with a dedicated email send gets a debrief. Below that, a 15-minute recap in the next weekly marketing sync is enough.

    For small promos, the debrief template above becomes a 5-question Slack message: What was the goal? Did we hit it? What worked? What broke? What changes before the next one?

    For DTC brands and Shopify merchants running multiple campaigns per quarter, the full 1-hour session is worth protecting on the calendar. Operator playbooks for BFCM recommend scheduling the debrief before the campaign even launches, so the timing is locked in before the post-sale recovery haze sets in.

    PromoOS Perspective

    One of the harder parts of a good post-mortem is pulling goal-versus-actual data when the goal was never formally recorded. PromoOS captures revenue targets per promo when you plan it. Post-campaign, the metrics view shows revenue against that goal automatically, so sections 1 and 2 of the debrief come pre-populated. What that means in practice: you stop arriving at debrief meetings asking what the original goal was.

    The promo analytics also surface the data for the incremental lift calculation: promo revenue by date window, which is what you need to compare against your pre-promo baseline.

    Key Takeaways

    • A structured post-mortem template turns promo learnings into repeatable process. Freeform "what did we learn" meetings do not.
    • Three root causes sink most debrief attempts: no pre-set goal, attribution confusion, and no meeting structure.
    • The incremental lift calculation is the most honest measure of promo performance. Most SMB brands skip it because it requires knowing the pre-promo baseline.
    • Owner-tagged, deadline-dated next actions are what separate a useful debrief from a conversation that changes nothing.
    • Consistency matters more than perfection. A 15-minute debrief after every promo beats a comprehensive one after only BFCM.

    Frequently Asked Questions

    Free plan · No credit card

    Schedule your next promo in PromoOS.

    Free plan: one active promo, three total, no credit card. Upgrade only if you outgrow it.

    Install PromoOS free
    PromoOS is a Promly product. © 2026 Promly. All rights reserved.