Bundle discounts
Percent off, amount off or a fixed bundle price, applied only to what was actually bought together.
A bundle discount gives shoppers a reason to take the whole bundle rather than the one thing they came for. It is set under Appearance on a Buy together widget, and applied at checkout by a Shopify Function.
The three kinds
| Type | What it does |
|---|---|
| Percent off the bundle | A percentage off every bundled line. Behaves predictably in every currency. |
| Amount off the bundle | A flat sum off, spread across the bundled lines. |
| Fixed price for the bundle | The whole bundle for one price, whatever the items add up to. |
It only reaches the bundle
The discount applies to the items a shopper actually added from the widget. Someone who puts the same products in their cart another way does not get it, and neither does a second copy of one of those products added separately afterwards.
This is the whole point, and it is why the discount is a Shopify Function rather than an automatic discount or a code. An automatic Buy X get Y fires whenever the products are in the cart, however they got there, which turns your bundle offer into a discount on sales you were already making. A discount code is shareable and collides with your other codes. Only a Function can read the marker the widget wrote and discount exactly those lines.
Alongside your other discounts
The bundle discount is a Shopify automatic app discount and follows Shopify’s own combination settings. If it is not combining with a code the way you expect, check the discount combination rules in your Shopify admin, because that decision is Shopify’s, not ours.
Testing it
- Set a discount on a Buy together widget and save.
- On the storefront, tick the items and press Add selected items.
- Open the cart. The saving appears against those lines. Add one of the same products separately and confirm the extra one is not . That is the behaviour working, not failing.
Something here wrong or missing? Tell us. We would rather fix the page than answer the same question twice.

