Adobe Commerce Business Practitioner Expert study materials
Adobe Commerce Business Practitioner Expert study resources

Promotion Stacking Erodes Margin on a Flash Sale

Adobe Commerce Business Practitioner Expert · Put your knowledge to work in context.

All case studies

Promotion Stacking Erodes Margin on a Flash Sale

A beauty brand runs a 48-hour flash sale: a cart price rule giving 20% off the 'Skincare' category, intended to exclude gift sets (which are already discounted). Simultaneously, an always-on coupon code 'WELCOME10' gives 10% off the cart for new customers, and a free-shipping threshold rule applies above $50. During the sale, the merchandiser notices average order margin down 9 points versus the prior flash sale. Investigation shows gift sets are receiving the 20%, some orders stack WELCOME10 on top of the 20% (total ~28% off), and a handful of orders got free shipping after the discount dropped the subtotal below $50. The category rule uses 'apply to matching products' with a condition on category, and no coupon is required.

1. Explain each of the three leakage paths and the specific rule configuration choices that caused them.

Read the worked answer

Three distinct mechanisms:

  1. Gift sets discounted despite intent: the rule's condition targets the Skincare category, but gift sets are also assigned to that category (or the condition matches on category membership rather than an exclusion). Without an explicit exclusion (e.g., a 'not in gift set' attribute set or SKU condition, or removing gift sets from the category condition), 'apply to matching products' includes them. Intent was never encoded as a rule condition.
  2. Coupon stacking: the category rule requires no coupon and applies automatically; WELCOME10 is a separate cart rule. Unless the rules are configured so only one discount applies per item (stop further rule processing / discount stacking settings), both apply and compound. The ~28% is 20% then 10% on the remainder, confirming sequential stacking.
  3. Free shipping after discount: the free-shipping rule evaluates subtotal after discounts by default in many configurations. When the 20–28% discount pushes the post-discount subtotal under $50, the threshold still triggered because of how the subtotal basis is evaluated (or the rule uses grand/subtotal inconsistently). The threshold should be defined on the pre-discount merchandise subtotal if that's the business intent.

2. The merchandiser wants to 'just lower the 20% to 12%' to protect margin. Evaluate that proposal and propose a better configuration approach for the next flash sale.

Read the worked answer

Lowering to 12% is a blunt fix: it penalizes correctly-priced skincare to compensate for leakage on gift sets and stacking, and it doesn't stop compounding, so margin stays unpredictable and the customer promise weakens. Better approach:

  • Encode intent as conditions: exclude gift sets explicitly (attribute-set or SKU exclusion) rather than relying on category membership.
  • Control stacking deliberately: decide the policy - e.g., automatic category discount and WELCOME10 are mutually exclusive, or WELCOME10 does not apply to already-discounted items. Configure rule priority and 'stop further rules processing' / discountable-item settings accordingly.
  • Define the free-shipping basis: set the threshold on pre-discount merchandise subtotal (or state clearly it's post-discount) so behavior is intentional, and test edge cases just above/below $50.
  • Test before launch: build a matrix of cart scenarios (gift set alone, gift set + coupon, cart near threshold with/without discount) and verify expected totals and margins.
  • Monitor: track discount rate and margin per order during the sale with a stop-loss trigger.

Keep the 20% headline if margin math supports it once leakage is closed; verify with the scenario matrix before committing.