Combining discounts, and store limits
Applies to: TreStack Bundles, every plan
Updated: 11 October 2026
- Combines with: Product, order and shipping discounts
- Live deals: Up to 25, shared with other apps
- Deal size: 10,000 bytes, warning from 80 percent
Combining with other discounts
Every deal's discount is set to combine with product discounts, order discounts and shipping discounts. The app sets this when it is installed, and there is no setting for it in the app: no deal can be set to stand alone.
Discount codes still work next to a deal. Shopify combines two discounts only when each of them allows the other's kind, so a code combines with a deal only when the code itself is set to combine with product discounts. You set that on the code in Shopify admin, Discounts.
A cart line takes one product discount. When a deal and another product discount both reach the same line, Shopify decides which one applies to it; they do not add up on that line. Order and shipping discounts are worked out on top of the line prices.
Subscriptions: the deal's discount applies to one-time and subscription purchases, on every renewal, and stacks on the price of the selling plan. See Subscriptions in a deal.
Two deals, or two bundle apps, on one product
The widget shows one deal per product, chosen by market, then by the most specific targeting, then by the most recently published. That rule is the widget's only. At checkout every published deal runs its own discount, so two deals that target the same product can both try to price it, and Shopify's rules decide what applies to each line. The editor warns when you pick products that are already in another deal: Some of the products are in "deal name" deal which may result in conflicting discounts. Keep one published deal per product. See Products, dates and visibility.
Two bundle apps on one product conflict in the same way. Both set the theme's quantity box and both tag the cart line, and checkout applies one product discount per line, so the shopper may not pay the price the widget showed. The app turns nothing off when it finds another bundle app; it only writes a warning to the browser console for the one it recognises. Keep one bundle app per product.
Shopify's 25 automatic discounts, and the size limit
Shopify allows 25 active automatic discounts per store, counted across all apps and the discounts you make yourself. Each published deal holds one of them, so you can run at most 25 live deals, and fewer when other apps use some. The app sets no limit of its own. Publishing past the limit shows Store discount limit reached; in the editor you can choose Save as draft so your edits are kept, or Manage active deals to unpublish another one. Unpublishing or removing a deal frees its discount.
The limit also matters when a paused plan resumes: a deal whose discount can no longer be created goes back to draft, and Home shows A deal was unpublished, naming the limit of 25 automatic discounts.
Each deal's settings are compiled for the checkout, and the result must fit in 10,000 bytes. Products, variants and labels take the most room, and a checkout label translated into another language adds its translation. From 80 percent the editor shows This deal is close to the size limit. Beyond the limit it shows This deal is too large to publish and does not publish it. A deal with an A/B test is one discount holding every variant, so all variants count together; the editor names a variant that is too large on its own.
All limits
| What | Limit |
|---|---|
| Live deals | 25 active automatic discounts per store, across all apps (Shopify); no app limit |
| Bars per deal | 1 to 20 |
| Products per Product bundle bar | 20, the page's product included |
| Slots per Mix & Match bar, products per slot | 20 each |
| Free gifts and gift selectors per bar | 5 each; 20 products per selector |
| Progressive gifts | 20 |
| Bar upsells per bar | 5 |
| Checkbox upsells | 5; quantity up to 99 |
| Badges | 30; one border badge per target |
| Highlights per bar | 6 |
| A/B variants | 2 to 4; one open test per deal |
| Product targeting | 200 products, 100 collections per pick |
| Product picker for other products | The first 1,000 products |
| Text fields | 1,000 characters; Name and Discount name 255 |
| Custom CSS | 20,000 characters per deal, and 20,000 for all deals |
| Image uploads | JPG, PNG, GIF, WebP, SVG; up to 20 MB; 30 a minute |
| Compiled deal size | 10,000 bytes; warning from 80 percent |
| Saves and publishes | 30 a minute |
| CSV export | 10 an hour |
Staying inside the limits, in four steps.
Count your automatic discounts
In Shopify admin, Discounts, count the active automatic discounts, including other apps' and your own. That number plus your live deals cannot pass 25.
Unpublish what you no longer run
Use the Published switch in the deal list. The deal and its settings stay in the app as a draft.
Use collections for big deals
A deal with many hand-picked products or variants grows fastest. Selected collections keep it small.
Keep one deal per product
Check the editor's conflict warning before you publish, and keep one bundle app per product.
Settings reference
If this does not work
The failures most likely on this page, with the check that resolves each one.
How the discount is applied at checkout
Each published deal is one automatic discount in Shopify. What the checkout counts, the label shoppers see, which checkout routes apply it, and how to check a price yourself.
Deal analytics
What Home and the Analytics page show, where each number comes from, what each figure means, and why the numbers will not match your books to the cent.