promo analyticsshopify promotionsROIecommerce metricsdiscount strategy

    How to Measure the ROI of Your Shopify Promotions (The Right Way)

    PromoOS Team15 min read

    Your best sale of the year just ended. Orders are in. Revenue is up. The team is celebrating.

    Then someone asks the question that kills the mood: "But was it actually profitable?"

    Most merchants can not answer that. Not because they lack data - Shopify Analytics is full of it - but because the number everyone looks at first (total revenue during the promo period) is the wrong number. Revenue during a promotion is not the same as revenue from it.

    "Most merchants look at total promo-period revenue and assume that's what the promotion generated. It isn't. Your actual return is the gap between what you earned and what you would have earned without the discount - and most merchants never calculate it."

    This guide gives you the five metrics that reveal your true Shopify promotion ROI, a formula that ties them together, and a post-campaign debrief checklist you can use after every promo to compound results over time.

    Why Most Promo Measurement Fails

    The instinct after a promotion is to pull the revenue total for the sale period and compare it to a normal week. If revenue is up 40%, the promotion "worked."

    This logic has two problems.

    First, it ignores what you gave up to generate that revenue. A 25% discount on a product with a 50% gross margin does not just reduce revenue - it cuts your contribution per unit by 50%. If you generated $60,000 in revenue but gave away $15,000 in discounts, your actual gain depends entirely on whether that $60,000 includes enough incremental orders to cover the cost of discounting your existing demand.

    Second, it measures the wrong time window. The week of a promotion is the least useful period to evaluate. You need to know what happened to your customer base 30, 60, and 90 days later - whether you attracted buyers who returned at full price or buyers who wait for your next sale.

    The Two Traps That Make Results Look Better Than They Are

    Trap 1: Measuring revenue instead of incremental revenue.

    If you would have sold $40,000 in a normal week and you sold $50,000 during a promotion, your incremental revenue is $10,000 - not $50,000. The $40,000 baseline represents demand that existed before you ran the promo. You gave away margin on that $40,000 for nothing.

    "The most expensive promo mistake is spending a discount on customers who were already going to buy. You did not drive that revenue - you just taxed it."

    Trap 2: Treating the promo period as the only period.

    A promotion that generates $10,000 in incremental revenue but attracts 200 new customers who each spend $300 over the next 90 days has compounding value. A promotion that generates $10,000 in incremental revenue and brings in 200 price-sensitive buyers who never return is a one-time trade with a thin margin.

    The same headline number can represent a great promo or a destructive one. The five metrics below tell you which one you ran.

    What to Measure Instead: Five Metrics

    Metric 1: Incremental Revenue

    What it measures: The revenue your promotion actually generated, above what you would have earned without it.

    How to calculate it:

    Take your revenue during the promo period and subtract your four-week rolling average revenue for the equivalent period length. If your promo ran for seven days, your baseline is the average of the four preceding seven-day periods.

    Incremental Revenue = Promo Period Revenue - 4-Week Rolling Average

    If your average weekly revenue is $40,000 and you generated $52,000 during the promo week, your incremental revenue is $12,000. That is what the promotion produced. The $40,000 baseline was going to happen regardless.

    Why the four-week rolling average? Week-over-week comparisons are distorted by seasonal variation, day-of-week effects, and the natural demand dip that often precedes a scheduled sale (customers hold off buying once they know a promo is coming). The rolling average smooths these out.

    The cannibalization risk. A portion of your promo-period revenue will always come from customers who would have purchased at full price without the incentive. This is called discount cannibalization - giving margin away to customers who did not need the incentive to convert. The four-week rolling average is a practical proxy for estimating this, not a perfect measure, but it is the right approach for most Shopify merchants without a holdout test infrastructure.

    Shopify Analytics path: Reports > Sales > Sales over time. Filter by the promo date range, then run the same report for the four preceding equivalent periods and average them.

    Metric 2: New Customer Acquisition Rate

    What it measures: Whether your promotion brought in new buyers or primarily rewarded your existing customer base.

    How to calculate it:

    In Shopify Analytics, go to Reports > Customers > First-time vs. returning customers. Filter by your promo date range. Calculate the percentage of orders from first-time buyers. Then run the same report for a non-promo baseline period of the same length.

    New Customer Rate = (First-Time Buyer Orders during Promo / Total Orders during Promo) x 100

    Baseline New Customer Rate = (First-Time Buyer Orders during Baseline / Total Orders during Baseline) x 100

    If your baseline new customer rate is 28% and your promo period rate is 44%, the promotion functioned as an acquisition channel. If your promo period rate is 26% (below baseline), the promotion primarily served existing customers.

    Why it matters: The right answer depends on your goal. If your goal was retention or loyalty, rewarding existing customers is correct. If your goal was acquisition, a flat or declining new customer rate means the promotion did not reach the audience it was designed for.

    The metric to watch afterward: New customers acquired during a promotion have different long-term value depending on why they bought. Check their 90-day return rate (Metric 5) to find out.

    Metric 3: Average Order Value Impact

    What it measures: Whether your promotion structure drove customers to spend more per order, or simply enabled them to spend less.

    How to calculate it:

    AOV Impact = Promo Period AOV - 4-Week Rolling Average AOV

    Compare your average order value during the promo to your four-week rolling average AOV.

    What to expect based on promo type:

    • Threshold promotions (spend $75 to get 15% off) should produce a positive AOV impact, because customers add items to qualify. These promos are designed to lift order size.
    • Blanket percentage-off discounts often produce flat or negative AOV impact. Customers buy what they were going to buy - just at a lower price.
    • BOGO and bundle promos typically lift unit quantity without necessarily lifting AOV in dollar terms.

    If a threshold promotion does not lift AOV above baseline, the threshold may be set too high (customers are not reaching it) or too low (customers are already clearing it without adding items).

    Spend threshold promotions reliably lift AOV compared to blanket discounts. Your own four-week baseline is a more reliable benchmark than any industry figure, since threshold performance varies significantly by category, price point, and where you set the threshold.

    Metric 4: Margin Erosion Per Campaign

    What it measures: How much your promotion cost you in margin relative to the incremental revenue it generated.

    How to calculate it:

    Total Discount Cost = (Discount % x Revenue) + any fixed promo costs (creative, platform fees)

    Margin Erosion Rate = Total Discount Cost / Incremental Revenue

    If your promotion generated $12,000 in incremental revenue and cost $8,000 in discounts plus $500 in platform and creative costs, your margin erosion rate is 70.8%. You spent $8,500 to generate $12,000, leaving $3,500 in true margin contribution.

    The math that surprises merchants: A 20% discount on a product with a 50% gross margin does not cost you 20% of your margin. It costs you 40% of your contribution per unit.

    Before the discount: $100 product, $50 gross margin (50% margin rate).

    After 20% discount: $80 revenue, $30 gross margin. That is a 40% reduction in contribution per unit from a 20% discount.

    This is why high-discount promotions require significant incremental volume to break even on margin - and why merchants who chase revenue numbers without tracking margin often run profitable-looking promotions that actually destroy value.

    The threshold to watch: If your margin erosion rate exceeds 100% (discount cost exceeds incremental revenue), the promotion lost money on margin alone before accounting for any fixed costs. This can still be justified for acquisition (see Metric 2 and 5), but it must be a deliberate decision, not a surprise.

    Metric 5: 90-Day Post-Promo Retention

    What it measures: Whether your promotion attracted buyers who become real customers or buyers who return only for the next sale.

    How to calculate it:

    Run the First-Time vs. Returning Customers report 90 days after the promotion ends. Filter to show returning customers whose first order date falls within your promo window. Calculate the percentage who placed a second order.

    90-Day Retention Rate = (Promo New Buyers Who Repurchased within 90 Days / Total Promo New Buyers) x 100

    Benchmarks: DTC repeat purchase rates average 25-30% at 90 days across ecommerce broadly, with top-performing brands reaching 40% and above (Source: DTC repeat purchase rate benchmark data, finsi.ai, 2026). For promo-acquired customers specifically, retention rates tend to run lower than baseline because the incentive was the reason they bought.

    If your promo-acquired customer 90-day retention rate is below 15%, the promotion primarily attracted deal-seekers - buyers who respond to discounts but are unlikely to build a relationship with your brand at full price. This is not always wrong (flash sales for inventory clearance, for instance), but it should be a known tradeoff, not a surprise.

    If retention is above your store baseline, the promotion reached genuinely interested customers who needed the incentive to try you - a strong signal to run a similar campaign again.

    The Formula for True Shopify Promotion ROI

    All five metrics combine into a single ROI calculation you can run on any campaign:

    Promotional ROI = (Incremental Revenue - Total Discount Cost - Fixed Promo Costs) / Total Promo Spend x 100

    Where:

    • Incremental Revenue = Promo Period Revenue minus 4-Week Rolling Average
    • Total Discount Cost = Discount % x Promo Period Revenue
    • Fixed Promo Costs = creative, platform fees, email send costs
    • Total Promo Spend = Total Discount Cost + Fixed Promo Costs

    A 200-300% promotional ROI (returning $2-3 for every $1 spent) is considered profitable and sustainable across ecommerce. A 500% return is excellent. Below 100% means the promotion cost more than it returned on margin alone - which may be acceptable for acquisition-focused campaigns but requires the 90-day retention data to validate the investment.

    Set the Goal Before the Promo Launches

    The most common reason merchants cannot evaluate a promotion afterward is that they did not define what success looked like before it started.

    Before every promotion, commit to one primary metric and a threshold for that metric:

    • Acquisition-focused: "New customer rate above 35%, with 90-day retention above 20%"
    • Revenue-focused: "Incremental revenue above $8,000, margin erosion rate below 80%"
    • AOV-focused: "AOV lift of at least 12% above baseline, zero margin erosion on existing demand"
    • Clearance-focused: "Units sold above X, margin erosion rate acceptable at any level"

    Without a pre-defined goal, every promotion can be made to look successful in retrospect by choosing the right metric to highlight. Pre-defining the goal is what drives the mechanics of better promo decisions over time - see our guide to promotion management for how to structure the goal-setting workflow.

    How PromoOS Tracks These Metrics Automatically

    Running this five-metric framework manually is possible - but it requires pulling five separate Shopify reports, calculating rolling averages in a spreadsheet, and doing the margin math for each campaign. Most merchants do it once or twice, then stop because the effort outweighs the habit.

    PromoOS builds the measurement framework into the promotion workflow itself. When you create a promo, you set a goal. When the promo ends, the analytics dashboard calculates your incremental revenue against the rolling baseline, your new customer acquisition rate against the store baseline, your margin erosion rate, and tracks AOV shift - all automatically, against the goal you set before launch.

    The AI Insights feature reads your campaign data and flags patterns: when a promo type consistently lifts new customer rate, when a discount depth consistently produces deal-seeker acquisition, when an AOV threshold is set too high for your average cart to clear. It surfaces these as plain-language observations after each campaign, not buried in a dashboard you have to interpret yourself.

    For merchants running multiple campaigns, the promotional calendar view lets you see how campaigns interact - spacing that prevents demand cannibalization between promos, and which campaigns historically drive retention versus one-time spend.

    14 days free, no credit card required.

    The Post-Campaign Debrief Checklist

    Run this checklist within 48 hours of every promotion ending:

    Revenue check

    • [ ] Calculate incremental revenue using the 4-week rolling average method
    • [ ] Compare to the pre-launch revenue goal you set
    • [ ] Note the baseline demand during the promo (what would have sold without it)

    Customer acquisition check

    • [ ] Pull first-time vs. returning customer split for the promo period
    • [ ] Compare to your store's non-promo baseline rate
    • [ ] Log the count of new customers acquired - you will follow up at 90 days

    AOV check

    • [ ] Calculate AOV during the promo vs. 4-week rolling average AOV
    • [ ] If AOV was flat on a threshold promo, review the threshold level
    • [ ] If AOV declined on a percentage-off promo, note the expected range for this promo type

    Margin check

    • [ ] Calculate total discount cost (discount % x promo revenue)
    • [ ] Add any fixed costs (creative, platform, email send)
    • [ ] Calculate margin erosion rate against incremental revenue
    • [ ] Flag if erosion rate exceeded 100% and document the acquisition justification

    90-day calendar entry

    • [ ] Set a reminder to pull 90-day retention for promo-acquired customers on [date + 90 days]
    • [ ] Log the benchmark you will compare against (store baseline or your prior promo cohort)

    Decision for next campaign

    • [ ] Did this promo type meet its pre-defined goal? Yes / No
    • [ ] What would you change about the discount depth, timing, or structure?
    • [ ] Is this a repeatable campaign template? Tag it accordingly

    Why Measurement Discipline Compounds Over Time

    The merchants who improve each promotional cycle do not have more data than everyone else. They have a consistent measurement habit that builds institutional knowledge.

    After three or four measured campaigns, patterns emerge that no individual promo reveals: which discount depths attract buyers who return, which promo types suppress baseline AOV in the weeks that follow, which timing creates the most incremental lift versus just pulling demand forward.

    "Merchants who compound results run better debriefs. The checklist is not the result - it is the process that makes the next promo better than the last one."

    That compounding is the real return on measurement. Each campaign adds to a record of what your specific customers respond to - not industry averages, not competitor benchmarks, but the actual behavior of the buyers in your store.

    Key Takeaways

    Shopify promotion ROI measures the incremental margin a campaign generates against the total cost of the discount - not the total revenue during the promo period.

    • Revenue during a promo is not revenue from it. Incremental revenue (promo period minus rolling average) is the number that actually reflects promotional impact.
    • The margin math is counterintuitive. A 20% discount on a 50% gross margin product cuts your contribution per unit by 40% - not 20%.
    • New customer rate tells you who responded. Promo buyers who return within 90 days are valuable. Promo buyers who appear only during sales are a cost of acquisition, not a marketing success.
    • AOV impact depends on promo type. Threshold promotions are designed to lift AOV; blanket discounts are not. Track them separately.
    • Discount cannibalization is a real cost. Giving margin away to customers who were already going to buy is money spent on nothing. The rolling average baseline is your proxy for quantifying it.
    • Define the goal before launch. Pre-defined thresholds make post-campaign evaluation objective instead of retrospective.
    • The debrief is the compounding mechanism. One measured campaign is a data point. Ten measured campaigns with consistent debriefs is a competitive advantage.

    Conclusion

    The difference between merchants who run promotions and merchants who improve at running promotions is this: the first group looks at revenue. The second group looks at incremental revenue, measures what it cost to generate it, and tracks what those customers did 90 days later.

    The framework in this guide takes about 30 minutes to run manually after a campaign. It takes zero minutes if your analytics tools run it automatically. Either way, the habit is the investment.

    Run the debrief checklist after your next promotion. Compare it to the one before. After four or five cycles, the patterns will tell you exactly which promo structures work for your specific store - and which ones have been quietly costing you margin.

    That single discipline - measuring Shopify promotion ROI against a pre-defined goal - is what separates merchants who improve each cycle from those who repeat the same expensive experiments.

    If you are just getting started, the complete guide to Shopify promotions in 2026 covers the full setup sequence before your first campaign launch.

    Frequently Asked Questions