Outdoor & Sporting GoodsRetail / DTCProduct Bundle6 min read

On Sale and in a Set: When a Bundle Meets a Running Promotion

How a camping store worked out what a customer pays when a stove on sale completes a 20% set, and why a price edited in Shopify behaves differently from a sale run in the app.

A $120 stove in a 15% sale and a 20% set pays $96 or $81.60 depending on how the sale was created$120 stove, 15% sale, 20% setSale in the appBest deal wins$96.00Sale in the appStack on product discounts$81.60Price edited in ShopifyBest deal wins$81.60Illustrative numbers. Stacking costs $14.40 of gross profit per set here.

When a bundled product is already on sale, Best deal wins gives each line the larger saving and Stack on product discounts compounds the two. A price edited in Shopify is treated as the normal price, so the set discount comes off it even on Best deal wins. In the illustrative example, that costs $14.40 of gross profit per set.

At a glance

Challenge
A seasonal sale was about to start on products that also sat in a 20% set, and nobody could say what a customer would pay when one completed the other.
Approach
Best deal wins on the bundle and the sale run as a Flat Product Discount, so each line gets the larger saving, with a margin floor if the team ever chooses to stack.
Discount Prime campaign types used
Product BundleFlat Product Discount

Scenario-based case study: the merchant is fictional and modeled on patterns across Discount Prime stores. Prices, costs and outcome figures are illustrative assumptions for teaching, not measured results from a real store.

Short Answer

When a product in a Product Bundle is already on sale, the result depends on how the sale was created and on one setting. With "Best deal wins", a sale run in Discount Prime never adds to the set discount: each line gets the larger saving. With "Stack on product discounts", the set discount is taken from the sale price, so the two compound.

The trap is a sale made by editing the product's price in Shopify. Discount Prime sees that lower price as the normal price, so the set discount comes off it even on "Best deal wins". In the worked example below, the same 15% sale costs $14.40 more per set when it is run that way.

Northpine Outfitters is a fictional store used to illustrate the decision. All numbers are illustrative assumptions, not results.

Fits / Does Not Fit

Best deal wins fits whenStack on product discounts fits when
The set and the sale are separate offers to retail shoppersThe set reward is meant to sit on a standing price, as with wholesale accounts
You want one predictable maximum discount per lineYou advertise the extra saving, for example "sale items get a further 20% in a set"
Margins leave little room for two discounts on one itemYou have checked the compounded rate against each product's cost

The Scenario and the Data You Need

Northpine Outfitters, a fictional Shopify camping store, sells a camp kitchen set: a stove, a cook set and a mug set, at 20% off when all three are in the cart. A seasonal sale is about to start on stoves, and the team wants to know what a customer pays when a stove on sale completes the set.

Illustrative assumptions (replace with your own):

ItemPriceProduct cost
Stove$120$60
Cook set$80$32
Mug set$50$20
Set at list$250$112

Data to collect first: how the sale will be created, which products are in both the sale and a set, and the product cost of each in Shopify (Cost per item).

The Options Compared

Gross profit here is price minus product cost; payment fees, shipping and returns are excluded. Each row is one complete set with the stove as the sale item.

How the stove is on saleSettingStove paysCustomer pays for the setGross profit
Not on saleEither$96.00$200.00$88.00
Flat Product Discount, 15%Best deal wins$96.00$200.00$88.00
Flat Product Discount, 15%Stack on product discounts$81.60$185.60$73.60
Flat Product Discount, 30%Best deal wins$84.00$188.00$76.00
Flat Product Discount, 30%Stack on product discounts$67.20$171.20$59.20
Bulk Price Update to $102 (15%)Best deal wins$96.00$200.00$88.00
Price edited in Shopify to $102Best deal wins$81.60$185.60$73.60

The cook set ($64) and mug set ($40) keep their 20% in every row.

How Each Case Is Calculated

Best deal wins with a discount. The set share is worked out on the list price and compared with the sale saving. At a 15% sale, the stove's set share is $24 and the sale saving is $18, so the stove pays $96. At a 30% sale, the sale saving is $36, which is larger, so the stove keeps its sale price of $84 and only the other two lines take the set discount. The customer never gets both on one line.

Stack on product discounts. The set discount is taken from the price after the sale, so the two compound. At a 15% sale, $120 becomes $102, and 20% of $102 is $20.40, so the stove pays $81.60. That is 32% off, not 35%, and it costs $14.40 of gross profit on each set compared with Best deal wins.

Best deal wins with a Discount Prime price change. When a pricing campaign such as Bulk Price Update has lowered the price, Discount Prime still knows the original $120. The set share is worked out on the original and the price change already given is subtracted: $24 minus $18 leaves $6, so the stove pays $96. The customer pays the same as with the Flat Product Discount.

Best deal wins with a price edited in Shopify. If the team types $102 into the product's price, with or without a compare-at price of $120, nothing tells Discount Prime that the product is on sale. The $102 is treated as the normal price, so 20% comes off it and the stove pays $81.60. The result matches stacking, even though "Best deal wins" is selected.

Choosing the Setup

The scenario keeps Best deal wins and runs the sale as a Flat Product Discount. The set still earns its $88 of gross profit, and the most any stove can lose is the larger of the two savings.

Compare each result with the order the set is meant to beat. A stove alone at the 15% sale earns $42 of gross profit, so even the stacked set at $73.60 brings in more when the customer would otherwise have bought only the stove. The cost falls on customers who would have bought the set anyway, so the question is how many of them there are, not whether a stacked set is profitable on its own.

If you do stack, add a floor. You choose the number in "Never let this bundle push an item below a minimum margin". If you set it to 30%, the stove's floor is $85.71 ($60 cost divided by 0.70), because the margin is measured on the selling price, not as a markup on cost. The stacked stove, which would earn only 26.5% at $81.60, stops at $85.71, the customer pays $189.71, and gross profit is $77.71. A variant with no Cost per item has no floor to work from, so choose in advance what should happen to it.

Settings Used in This Scenario

SettingValue
Campaign typeProduct Bundle
TemplateComplete the look
SlotsStove, cook set and mug set, required quantity 1 each
Reward typePercentage off the set: 20%
ApplyOnce per order
Combine with other discountsBest deal wins
Second campaignFlat Product Discount, 15%, on stoves

Plan note: Product Bundle is available from the Premium plan.

Why a Flat Product Discount for the sale: the sale ends on its own schedule, it is visible to Discount Prime, and Best deal wins can compare it with the set. Why not edit the price in Shopify: the set discount would then come off the sale price for every shopper who completes the set.

What the Customer Sees

CartResult
Stove on sale, alone$102, no set discount
Stove on sale + cook set + mug set$200 in total; the stove line shows the set discount, not the sale
Stove at the 30% sale + cook set + mug set$188 in total; the stove keeps its sale price, the other two lines show the set discount

The builder shows an overlap notice for other active campaigns on the same products. It is information, not a block, so it will not stop you launching both.

Limits and Pre-Launch Tests

  • These rules compare Discount Prime's own discounts. A discount created elsewhere, such as a Shopify automatic discount or code, follows Shopify's combination settings instead, so test it separately.
  • Best deal wins compares savings per line, not across the set. One line can keep its sale while the others take the set discount.
  • A Combo product has its own price and takes no further discount, so none of these cases applies to it.
  • A floor limits the bundle's share of the discount. It does not change what the other campaign gives.
  • A Cross-sell add-on discount has the same two settings, Best deal wins and Stack on product discounts, so the same prices apply to a 20% add-on. This study's margin floor is a Product Bundle setting.
Test inputExpected result
Stove in the 15% sale + cook set + mug set, Best deal winsStove $96, set total $200
Stove in the 30% sale + cook set + mug set, Best deal winsStove $84, set total $188
Same cart, Stack on product discountsStove $81.60 at the 15% sale, $67.20 at the 30% sale
Stack with a 30% margin floor, 15% saleStove no lower than $85.71
Any product whose price was edited in Shopify for a saleSet discount comes off the edited price; decide whether you want that before launch

Measurement

  • Primary metric: gross profit per order for orders containing a sale item, with and without a completed set.
  • Guardrail: average discount rate on sale items. A rate above your sale rate means something is stacking, on purpose or not.
  • Baseline: the same metrics for the weeks before the sale, or a comparison group of products outside it.
  • Confounders: the sale itself changes who buys, and seasonal demand can hide a change in margin.
  • Decide: if the discount rate on sale items is higher than you planned, check for prices edited in Shopify first, then the combination setting. Without a controlled comparison, treat before/after changes as directional.

Frequently asked questions

Does a Shopify bundle discount stack with a sale on the same product?

It depends on how the sale was created and on the bundle's combination setting. In Discount Prime, Best deal wins gives each line the larger of the two savings, never both. Stack on product discounts takes the set discount from the sale price, so the two compound. A sale made by editing the price in Shopify is not seen as a sale, so the set discount comes off the lower price.

What does a customer pay when a sale item completes a bundle?

With Best deal wins, the line pays whichever price is lower. A $120 stove in a 15% sale and a 20% set pays $96, because the $24 set share beats the $18 sale saving. At a 30% sale it keeps the $84 sale price, and the other lines still take the set discount.

How do stacked bundle discounts compound?

The set discount is taken from the price after the sale. A $120 product at 15% off is $102, and 20% of $102 is $20.40, so it pays $81.60. That is 32% off the list price, not 35%.

Why is my bundle discounting a sale price even with Best deal wins on?

The sale was probably created by editing the product's price in Shopify, with or without a compare-at price. Nothing marks that as a discount, so Discount Prime treats the lower price as the normal price. Run the sale as a Flat Product Discount or a Bulk Price Update and Best deal wins can compare it with the set.

How do I protect margin if I stack a bundle on a sale?

Turn on the bundle's minimum margin floor, which reads each variant's Cost per item and measures margin on the selling price. You choose the number: with a $60 cost, if you set it to 30%, the price stops at $85.71 even if stacking would reach $81.60. A variant with no cost has no floor to work from, so choose in advance what should happen to it.

When should I use Stack on product discounts for a bundle?

When the set reward is meant to sit on top of a standing price, as with wholesale accounts, or when you advertise the extra saving. For separate retail offers, Best deal wins keeps the maximum discount on each line predictable.

Go deeper

Run this architecture in your store

Every campaign type in this case study is included in Discount Prime, with profit analytics to verify the margin impact.

More case studies