Discounts
Percent off, amount off or a fixed price on any widget, shown on the widget and applied in the cart and at checkout.
A discount gives shoppers a reason to take the recommendation. Any widget can carry one, on any layout: on Buy together it comes off the bundle, and on a carousel or a grid it comes off whatever the shopper adds from the widget. It is set per widget, in the Recommendations section of the widget editor.
Where a shopper sees it
In three places, and they always agree with each other. There is no code for anyone to enter and nothing for the shopper to do.
| Where | What they see |
|---|---|
| On the widget | The discounted price, with the usual price struck through beside it. Buy together shows a running total and what the bundle saves. |
| In the cart | The discount is applied to those lines automatically, as soon as they are added. |
| At checkout | The same discount, carried through to what they pay. |
The widget quotes the price the cart will charge because both are worked out the same way, from the same setting. If you ever see them disagree, that is a bug worth reporting rather than something to configure around.
The shop-wide switch
Settings holds one switch for the whole shop, Allow widgets to discount what they sell. It is on from the start, so the discount field is already waiting in every widget and each one decides its own. A widget with no discount set discounts nothing, so having the switch on changes nothing by itself.
Untick it and save, and every discount stops at once: the field disappears from your widgets and no cart is discounted, whatever those widgets were set to. Nothing is lost. Each widget keeps its own setting, so ticking the box again brings them all back exactly as you left them. It is the switch to reach for at the end of a promotion.
The three kinds
| Type | What it does |
|---|---|
| Percent off | A percentage off every line the shopper added from the widget. Behaves predictably in every currency. |
| Amount off | A flat sum off one add to cart, spread across its lines. |
| Fixed price | Everything added in one click for one price, whatever the items add up to. |
It only reaches what the widget sold
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. That is true on every layout: a product added from a carousel is discounted, the same product added from your product page is not.
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 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 widget 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 widget and save it.
- On the storefront, add a product from the widget. On Buy together, 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.

