Best quantity breaks apps for Shopify in 2026
Quantity breaks (Buy 2, save 10%; Buy 3, save 20%) are the most common bundle offer on Shopify, and Shopify has no built-in tiers for regular online store customers. We rank the main apps by features, then price, then track record.
Why you need an app for tiers
Shopify's help center says its discount types are amount off, Buy X get Y and free shipping, and points to apps for "more advanced discount solutions, such as tiered discounts". You can fake tiers with several automatic discounts (one per tier), but there is no widget on the page and Shopify allows at most 25 active automatic discounts, including app discounts. Shopify's own volume pricing is for B2B catalogs.
How we rank
- 1. Features: how many of the 29 rows of the table below are a confirmed Yes, from the app's listing and its own site (Happy Bundle 29, Kaching 24, Bundler 21, Pumper 19, Wide Bundles 14).
- 2. Price and caps: on a tie, the cheaper plan with no revenue cap ranks higher (Bundler's free plan has no cap; Pumper's is free up to $300).
- 3. Track record: years on the App Store, installs and reviews. Here every other app leads Happy Bundle.
The ranking
| # | App | Price model (listing, 2026-10-08) | Best for |
|---|---|---|---|
| 1 | Happy Bundle (ours) Free forever | Free forever for stores that install now. Every feature, no cap. | A size and color picker per item; the offer price on your add to cart button and a sticky bar; works with your discount codes |
| 2 | Kaching Bundles | $14.99 to $59.99/month by additional revenue; free for development stores | Percentage, amount or set price tiers with A/B testing; admin in nine languages |
| 3 | Bundler | Free with no revenue or order limit; Premium $9.99, Executive $19.99/month | Stores that want the longest track record; volume discounts on the free plan |
| 4 | Pumper Bundles Quantity Breaks | Free up to $300; $9.99 to $49.99/month by revenue | Gifts and BOGO inside tiers with 24/7 chat; first for "quantity breaks" in App Store search on 2026-09-26 |
| 5 | Wide Bundles | $14.99 to $24.99/month by additional revenue; free for development stores | Fine control over the widget's design; A/B tests on every plan |
Prices: each app's Shopify App Store listing, read on 2026-10-08. "By revenue" means the plan has a cap on the revenue the app's offers bring in, as that app defines it. Check the listing before you decide.
Feature by feature
Happy Bundle next to the main quantity breaks apps, row by row. Switch the last column to compare with another app.
Yes No Not listed (the app's listing and help pages don't mention it)
| Feature | Happy Bundle Free forever 29 of 29 | Kaching Bundles 24 of 29 | Pumper 19 of 29 | Wide Bundles 14 of 29 | Bundler 21 of 29 |
|---|---|---|---|---|---|
| Offer types | |||||
| Quantity breaks (Buy 2, save 10%) | Yes: Percentage, amount off, set price or free units per tier | Yes: Percentage, dollar or set price (listing) | Yes: Listing | Yes: Listing | Yes: Free plan |
| Fixed bundles | Yes | Yes: Listing tag | Yes: Fixed bundles (listing tag) | Yes: Listing | Yes: Listing |
| BOGO and buy X get Y | Yes: Free units in a tier, or a bundle with Y free or discounted | Yes: Listing tag | Yes: Listing | Yes: Listing | Yes: Free plan |
| Mix and match | Yes: A one-step picker on the product page | Yes: Listing tag | Yes: Mix and match, no code | Yes: Listing tag | Yes: Premium, $9.99 a month |
| Free gift at a tier | Yes: The gift is added to the cart for the shopper | Yes: Listing tag | Yes: "Free Gift & BOGO deals within Quantity Bundle Breaks" | Yes: "Gifts" (listing) | Yes: Free gifts (listing tag) |
| Paid add-ons on the product page | Yes: Checkbox or quantity stepper, with a per-order maximum | Yes: One-click add-ons (listing tag) | Yes: Per tier upsell add on in the offer | Not listed | Not listed |
| Frequently bought together | Yes: Picked from your own orders, refreshed weekly (switch it on) | Yes: Listing tag; AI recommendations tag | Not listed | Not listed | Yes: Listing tag |
| Subscriptions with offers | Yes: Quantity breaks only, with selling plans | Yes: Listing tag; a subscription plan per tier seen in its settings | Yes: Subscription app integration and toggle | Yes: Works with some subscription apps | Yes: "Integrate bundles with subscription products" |
| Sizes and colors | |||||
| A size and color picker for each item in a deal | Yes: In quantity breaks, bundles and mix and match | Yes: Seen on its demo store, 2026-09-20 | Yes: Variant pick for BOGO and gifts | Not listed | Yes: Help center: variant dropdown under each product |
| Price follows each pick | Yes: The page, button and cart show the same price | Not listed | Not listed | Not listed | Not listed |
| Sold-out sizes marked or hidden | Yes: Marked and not pickable, or hidden | Yes: Marked as sold out, seen in its settings | Yes: Sold out tiers handled | Not listed | Yes: Help center: out of stock marked or hidden |
| Cart and checkout | |||||
| Works with your discount codes | Yes: Order and free shipping codes set to combine with product discounts | No | Yes: Combines with other discounts | Yes: Discount stacking (listing tag) | Yes: Help center: discount codes can be combined |
| Stock and SKUs update per item | Yes | Not listed | Not listed | Not listed | Yes: Help center: stock and SKUs per item |
| Discount applied by Shopify at checkout (no draft orders) | Yes: Shopify Functions; your product prices are not changed | Yes: Automatic app discount with a Shopify Function (our test) | Yes: Shopify Function automatic discount | Not listed | Yes: Automatic discounts; legacy bundles use draft orders |
| Tier price applies however items reach the cart | Yes: Quantity breaks, for example from a collection page button | Yes: Help center: applies however items get in cart | Not listed | Not listed | Yes: Help center: discount applies when all items in cart |
| Design | |||||
| Uses your theme's look | Yes: Your theme's fonts; Copy my theme's look copies its colors and corners | Yes: "Endless customization" | Yes: "Customizable ... to match your store's theme" | Yes: "100+ customization options" | Not listed |
| Sticky add to cart bar with the offer | Yes: Switch it on per offer | Yes: Seen in its settings | Yes: Sticky add to cart bar | Not listed | Not listed |
| Offer price on the add to cart button | Yes: Switch it on | Yes: Setting found in our test (total price on button) | Not listed | Not listed | Not listed |
| Countdown timer and low stock notice | Yes | Yes: Timer and low stock alert in deal settings (our test) | Yes: Countdown timer | Not listed | Not listed |
| Live preview while editing | Yes: On your own product | Yes: Help center: live bundle preview | Not listed | Not listed | Not listed |
| Analytics | |||||
| Revenue and order value from offers | Yes: Revenue, orders, order value with and without an offer | Yes: Listing | Yes: Listing tag | Yes: Listing tag | Yes: Executive, $19.99 a month |
| A/B tests | Yes: Up to 4 versions, winner picked automatically | Yes: Listing | Not listed | Yes: Every plan | Not listed |
| Languages and currencies | |||||
| Offer text in the shopper's language | Yes: 136 storefront languages, editable | Yes: Multi-language tag | Yes: Widget translation, market targeting | Yes: Widget translated with Shopify Markets | Yes: Listing says localized offers; help center older |
| Prices in the shopper's currency | Yes | Yes: Multi-currency tag | Not listed | Yes: Currency conversion (listing tag) | Yes: Multi-currency tag |
| App admin in other languages | Yes: 12 languages: English, German, Spanish, Italian, French, Portuguese (Brazil and Portugal), Dutch, Swedish, Danish, Norwegian, Finnish | Yes: 9 languages | Yes: 11 languages | Yes: 8 languages | Yes: 17 languages |
| Support and selling in person | |||||
| Live chat in the app | Yes: Chat with our team in the app (not 24/7) | Yes: Live chat (plans) | Yes: 24/7 chat (plans) | Yes: 7/7 live chat (plans) | Yes: A help chat button in the app (seen) |
| Shopify POS | Yes: Quantity breaks, BOGO and bundles, tested 2026-10-08 | Yes: Listing | Not listed | Not listed | Yes: Free plan |
| Price | |||||
| Free plan on a live store | Yes: Every feature | No: Free for development stores only | Yes: Up to $300 | No: Free for development stores only | Yes: No revenue or order limit |
| No revenue or sales cap | Yes: None | No: Up to $1,000, $5,000 or $10,000 of additional revenue | No: Free up to $300; then $1,000, $5,000 or unlimited | No: Up to $500, $1,000 or $2,000 of additional revenue | Yes: "Unlimited revenue & orders" |
| Confirmed features | 29 of 29 | 24 of 29 | 19 of 29 | 14 of 29 | 21 of 29 |
Hover or tap an icon for its note.
Happy Bundle vs Kaching Bundles
| Feature | Happy BundleFree forever29 of 29 | Kaching Bundles24 of 29 |
|---|---|---|
| Offer types | ||
| Quantity breaks (Buy 2, save 10%)Percentage, amount off, set price or free units per tier | Yes: Percentage, amount off, set price or free units per tier | Yes: Percentage, dollar or set price (listing) |
| Fixed bundles | Yes | Yes: Listing tag |
| BOGO and buy X get YFree units in a tier, or a bundle with Y free or discounted | Yes: Free units in a tier, or a bundle with Y free or discounted | Yes: Listing tag |
| Mix and matchA one-step picker on the product page | Yes: A one-step picker on the product page | Yes: Listing tag |
| Free gift at a tierThe gift is added to the cart for the shopper | Yes: The gift is added to the cart for the shopper | Yes: Listing tag |
| Paid add-ons on the product pageCheckbox or quantity stepper, with a per-order maximum | Yes: Checkbox or quantity stepper, with a per-order maximum | Yes: One-click add-ons (listing tag) |
| Frequently bought togetherPicked from your own orders, refreshed weekly (switch it on) | Yes: Picked from your own orders, refreshed weekly (switch it on) | Yes: Listing tag; AI recommendations tag |
| Subscriptions with offersQuantity breaks only, with selling plans | Yes: Quantity breaks only, with selling plans | Yes: Listing tag; a subscription plan per tier seen in its settings |
| Sizes and colors | ||
| A size and color picker for each item in a dealIn quantity breaks, bundles and mix and match | Yes: In quantity breaks, bundles and mix and match | Yes: Seen on its demo store, 2026-09-20 |
| Price follows each pickThe page, button and cart show the same price | Yes: The page, button and cart show the same price | Not listed |
| Sold-out sizes marked or hiddenMarked and not pickable, or hidden | Yes: Marked and not pickable, or hidden | Yes: Marked as sold out, seen in its settings |
| Cart and checkout | ||
| Works with your discount codesOrder and free shipping codes set to combine with product discounts | Yes: Order and free shipping codes set to combine with product discounts | No |
| Stock and SKUs update per item | Yes | Not listed |
| Discount applied by Shopify at checkout (no draft orders)Shopify Functions; your product prices are not changed | Yes: Shopify Functions; your product prices are not changed | Yes: Automatic app discount with a Shopify Function (our test) |
| Tier price applies however items reach the cartQuantity breaks, for example from a collection page button | Yes: Quantity breaks, for example from a collection page button | Yes: Help center: applies however items get in cart |
| Design | ||
| Uses your theme's lookYour theme's fonts; Copy my theme's look copies its colors and corners | Yes: Your theme's fonts; Copy my theme's look copies its colors and corners | Yes: "Endless customization" |
| Sticky add to cart bar with the offerSwitch it on per offer | Yes: Switch it on per offer | Yes: Seen in its settings |
| Offer price on the add to cart buttonSwitch it on | Yes: Switch it on | Yes: Setting found in our test (total price on button) |
| Countdown timer and low stock notice | Yes | Yes: Timer and low stock alert in deal settings (our test) |
| Live preview while editingOn your own product | Yes: On your own product | Yes: Help center: live bundle preview |
| Analytics | ||
| Revenue and order value from offersRevenue, orders, order value with and without an offer | Yes: Revenue, orders, order value with and without an offer | Yes: Listing |
| A/B testsUp to 4 versions, winner picked automatically | Yes: Up to 4 versions, winner picked automatically | Yes: Listing |
| Languages and currencies | ||
| Offer text in the shopper's language136 storefront languages, editable | Yes: 136 storefront languages, editable | Yes: Multi-language tag |
| Prices in the shopper's currency | Yes | Yes: Multi-currency tag |
| App admin in other languages12 languages: English, German, Spanish, Italian, French, Portuguese (Brazil and Portugal), Dutch, Swedish, Danish, Norwegian, Finnish | Yes: 12 languages: English, German, Spanish, Italian, French, Portuguese (Brazil and Portugal), Dutch, Swedish, Danish, Norwegian, Finnish | Yes: 9 languages |
| Support and selling in person | ||
| Live chat in the appChat with our team in the app (not 24/7) | Yes: Chat with our team in the app (not 24/7) | Yes: Live chat (plans) |
| Shopify POSQuantity breaks, BOGO and bundles, tested 2026-10-08 | Yes: Quantity breaks, BOGO and bundles, tested 2026-10-08 | Yes: Listing |
| Price | ||
| Free plan on a live storeEvery feature | Yes: Every feature | No: Free for development stores only |
| No revenue or sales capNone | Yes: None | No: Up to $1,000, $5,000 or $10,000 of additional revenue |
Happy Bundle vs Pumper
| Feature | Happy BundleFree forever29 of 29 | Pumper19 of 29 |
|---|---|---|
| Offer types | ||
| Quantity breaks (Buy 2, save 10%)Percentage, amount off, set price or free units per tier | Yes: Percentage, amount off, set price or free units per tier | Yes: Listing |
| Fixed bundles | Yes | Yes: Fixed bundles (listing tag) |
| BOGO and buy X get YFree units in a tier, or a bundle with Y free or discounted | Yes: Free units in a tier, or a bundle with Y free or discounted | Yes: Listing |
| Mix and matchA one-step picker on the product page | Yes: A one-step picker on the product page | Yes: Mix and match, no code |
| Free gift at a tierThe gift is added to the cart for the shopper | Yes: The gift is added to the cart for the shopper | Yes: "Free Gift & BOGO deals within Quantity Bundle Breaks" |
| Paid add-ons on the product pageCheckbox or quantity stepper, with a per-order maximum | Yes: Checkbox or quantity stepper, with a per-order maximum | Yes: Per tier upsell add on in the offer |
| Frequently bought togetherPicked from your own orders, refreshed weekly (switch it on) | Yes: Picked from your own orders, refreshed weekly (switch it on) | Not listed |
| Subscriptions with offersQuantity breaks only, with selling plans | Yes: Quantity breaks only, with selling plans | Yes: Subscription app integration and toggle |
| Sizes and colors | ||
| A size and color picker for each item in a dealIn quantity breaks, bundles and mix and match | Yes: In quantity breaks, bundles and mix and match | Yes: Variant pick for BOGO and gifts |
| Price follows each pickThe page, button and cart show the same price | Yes: The page, button and cart show the same price | Not listed |
| Sold-out sizes marked or hiddenMarked and not pickable, or hidden | Yes: Marked and not pickable, or hidden | Yes: Sold out tiers handled |
| Cart and checkout | ||
| Works with your discount codesOrder and free shipping codes set to combine with product discounts | Yes: Order and free shipping codes set to combine with product discounts | Yes: Combines with other discounts |
| Stock and SKUs update per item | Yes | Not listed |
| Discount applied by Shopify at checkout (no draft orders)Shopify Functions; your product prices are not changed | Yes: Shopify Functions; your product prices are not changed | Yes: Shopify Function automatic discount |
| Tier price applies however items reach the cartQuantity breaks, for example from a collection page button | Yes: Quantity breaks, for example from a collection page button | Not listed |
| Design | ||
| Uses your theme's lookYour theme's fonts; Copy my theme's look copies its colors and corners | Yes: Your theme's fonts; Copy my theme's look copies its colors and corners | Yes: "Customizable ... to match your store's theme" |
| Sticky add to cart bar with the offerSwitch it on per offer | Yes: Switch it on per offer | Yes: Sticky add to cart bar |
| Offer price on the add to cart buttonSwitch it on | Yes: Switch it on | Not listed |
| Countdown timer and low stock notice | Yes | Yes: Countdown timer |
| Live preview while editingOn your own product | Yes: On your own product | Not listed |
| Analytics | ||
| Revenue and order value from offersRevenue, orders, order value with and without an offer | Yes: Revenue, orders, order value with and without an offer | Yes: Listing tag |
| A/B testsUp to 4 versions, winner picked automatically | Yes: Up to 4 versions, winner picked automatically | Not listed |
| Languages and currencies | ||
| Offer text in the shopper's language136 storefront languages, editable | Yes: 136 storefront languages, editable | Yes: Widget translation, market targeting |
| Prices in the shopper's currency | Yes | Not listed |
| App admin in other languages12 languages: English, German, Spanish, Italian, French, Portuguese (Brazil and Portugal), Dutch, Swedish, Danish, Norwegian, Finnish | Yes: 12 languages: English, German, Spanish, Italian, French, Portuguese (Brazil and Portugal), Dutch, Swedish, Danish, Norwegian, Finnish | Yes: 11 languages |
| Support and selling in person | ||
| Live chat in the appChat with our team in the app (not 24/7) | Yes: Chat with our team in the app (not 24/7) | Yes: 24/7 chat (plans) |
| Shopify POSQuantity breaks, BOGO and bundles, tested 2026-10-08 | Yes: Quantity breaks, BOGO and bundles, tested 2026-10-08 | Not listed |
| Price | ||
| Free plan on a live storeEvery feature | Yes: Every feature | Yes: Up to $300 |
| No revenue or sales capNone | Yes: None | No: Free up to $300; then $1,000, $5,000 or unlimited |
Happy Bundle vs Wide Bundles
| Feature | Happy BundleFree forever29 of 29 | Wide Bundles14 of 29 |
|---|---|---|
| Offer types | ||
| Quantity breaks (Buy 2, save 10%)Percentage, amount off, set price or free units per tier | Yes: Percentage, amount off, set price or free units per tier | Yes: Listing |
| Fixed bundles | Yes | Yes: Listing |
| BOGO and buy X get YFree units in a tier, or a bundle with Y free or discounted | Yes: Free units in a tier, or a bundle with Y free or discounted | Yes: Listing |
| Mix and matchA one-step picker on the product page | Yes: A one-step picker on the product page | Yes: Listing tag |
| Free gift at a tierThe gift is added to the cart for the shopper | Yes: The gift is added to the cart for the shopper | Yes: "Gifts" (listing) |
| Paid add-ons on the product pageCheckbox or quantity stepper, with a per-order maximum | Yes: Checkbox or quantity stepper, with a per-order maximum | Not listed |
| Frequently bought togetherPicked from your own orders, refreshed weekly (switch it on) | Yes: Picked from your own orders, refreshed weekly (switch it on) | Not listed |
| Subscriptions with offersQuantity breaks only, with selling plans | Yes: Quantity breaks only, with selling plans | Yes: Works with some subscription apps |
| Sizes and colors | ||
| A size and color picker for each item in a dealIn quantity breaks, bundles and mix and match | Yes: In quantity breaks, bundles and mix and match | Not listed |
| Price follows each pickThe page, button and cart show the same price | Yes: The page, button and cart show the same price | Not listed |
| Sold-out sizes marked or hiddenMarked and not pickable, or hidden | Yes: Marked and not pickable, or hidden | Not listed |
| Cart and checkout | ||
| Works with your discount codesOrder and free shipping codes set to combine with product discounts | Yes: Order and free shipping codes set to combine with product discounts | Yes: Discount stacking (listing tag) |
| Stock and SKUs update per item | Yes | Not listed |
| Discount applied by Shopify at checkout (no draft orders)Shopify Functions; your product prices are not changed | Yes: Shopify Functions; your product prices are not changed | Not listed |
| Tier price applies however items reach the cartQuantity breaks, for example from a collection page button | Yes: Quantity breaks, for example from a collection page button | Not listed |
| Design | ||
| Uses your theme's lookYour theme's fonts; Copy my theme's look copies its colors and corners | Yes: Your theme's fonts; Copy my theme's look copies its colors and corners | Yes: "100+ customization options" |
| Sticky add to cart bar with the offerSwitch it on per offer | Yes: Switch it on per offer | Not listed |
| Offer price on the add to cart buttonSwitch it on | Yes: Switch it on | Not listed |
| Countdown timer and low stock notice | Yes | Not listed |
| Live preview while editingOn your own product | Yes: On your own product | Not listed |
| Analytics | ||
| Revenue and order value from offersRevenue, orders, order value with and without an offer | Yes: Revenue, orders, order value with and without an offer | Yes: Listing tag |
| A/B testsUp to 4 versions, winner picked automatically | Yes: Up to 4 versions, winner picked automatically | Yes: Every plan |
| Languages and currencies | ||
| Offer text in the shopper's language136 storefront languages, editable | Yes: 136 storefront languages, editable | Yes: Widget translated with Shopify Markets |
| Prices in the shopper's currency | Yes | Yes: Currency conversion (listing tag) |
| App admin in other languages12 languages: English, German, Spanish, Italian, French, Portuguese (Brazil and Portugal), Dutch, Swedish, Danish, Norwegian, Finnish | Yes: 12 languages: English, German, Spanish, Italian, French, Portuguese (Brazil and Portugal), Dutch, Swedish, Danish, Norwegian, Finnish | Yes: 8 languages |
| Support and selling in person | ||
| Live chat in the appChat with our team in the app (not 24/7) | Yes: Chat with our team in the app (not 24/7) | Yes: 7/7 live chat (plans) |
| Shopify POSQuantity breaks, BOGO and bundles, tested 2026-10-08 | Yes: Quantity breaks, BOGO and bundles, tested 2026-10-08 | Not listed |
| Price | ||
| Free plan on a live storeEvery feature | Yes: Every feature | No: Free for development stores only |
| No revenue or sales capNone | Yes: None | No: Up to $500, $1,000 or $2,000 of additional revenue |
Happy Bundle vs Bundler
| Feature | Happy BundleFree forever29 of 29 | Bundler21 of 29 |
|---|---|---|
| Offer types | ||
| Quantity breaks (Buy 2, save 10%)Percentage, amount off, set price or free units per tier | Yes: Percentage, amount off, set price or free units per tier | Yes: Free plan |
| Fixed bundles | Yes | Yes: Listing |
| BOGO and buy X get YFree units in a tier, or a bundle with Y free or discounted | Yes: Free units in a tier, or a bundle with Y free or discounted | Yes: Free plan |
| Mix and matchA one-step picker on the product page | Yes: A one-step picker on the product page | Yes: Premium, $9.99 a month |
| Free gift at a tierThe gift is added to the cart for the shopper | Yes: The gift is added to the cart for the shopper | Yes: Free gifts (listing tag) |
| Paid add-ons on the product pageCheckbox or quantity stepper, with a per-order maximum | Yes: Checkbox or quantity stepper, with a per-order maximum | Not listed |
| Frequently bought togetherPicked from your own orders, refreshed weekly (switch it on) | Yes: Picked from your own orders, refreshed weekly (switch it on) | Yes: Listing tag |
| Subscriptions with offersQuantity breaks only, with selling plans | Yes: Quantity breaks only, with selling plans | Yes: "Integrate bundles with subscription products" |
| Sizes and colors | ||
| A size and color picker for each item in a dealIn quantity breaks, bundles and mix and match | Yes: In quantity breaks, bundles and mix and match | Yes: Help center: variant dropdown under each product |
| Price follows each pickThe page, button and cart show the same price | Yes: The page, button and cart show the same price | Not listed |
| Sold-out sizes marked or hiddenMarked and not pickable, or hidden | Yes: Marked and not pickable, or hidden | Yes: Help center: out of stock marked or hidden |
| Cart and checkout | ||
| Works with your discount codesOrder and free shipping codes set to combine with product discounts | Yes: Order and free shipping codes set to combine with product discounts | Yes: Help center: discount codes can be combined |
| Stock and SKUs update per item | Yes | Yes: Help center: stock and SKUs per item |
| Discount applied by Shopify at checkout (no draft orders)Shopify Functions; your product prices are not changed | Yes: Shopify Functions; your product prices are not changed | Yes: Automatic discounts; legacy bundles use draft orders |
| Tier price applies however items reach the cartQuantity breaks, for example from a collection page button | Yes: Quantity breaks, for example from a collection page button | Yes: Help center: discount applies when all items in cart |
| Design | ||
| Uses your theme's lookYour theme's fonts; Copy my theme's look copies its colors and corners | Yes: Your theme's fonts; Copy my theme's look copies its colors and corners | Not listed |
| Sticky add to cart bar with the offerSwitch it on per offer | Yes: Switch it on per offer | Not listed |
| Offer price on the add to cart buttonSwitch it on | Yes: Switch it on | Not listed |
| Countdown timer and low stock notice | Yes | Not listed |
| Live preview while editingOn your own product | Yes: On your own product | Not listed |
| Analytics | ||
| Revenue and order value from offersRevenue, orders, order value with and without an offer | Yes: Revenue, orders, order value with and without an offer | Yes: Executive, $19.99 a month |
| A/B testsUp to 4 versions, winner picked automatically | Yes: Up to 4 versions, winner picked automatically | Not listed |
| Languages and currencies | ||
| Offer text in the shopper's language136 storefront languages, editable | Yes: 136 storefront languages, editable | Yes: Listing says localized offers; help center older |
| Prices in the shopper's currency | Yes | Yes: Multi-currency tag |
| App admin in other languages12 languages: English, German, Spanish, Italian, French, Portuguese (Brazil and Portugal), Dutch, Swedish, Danish, Norwegian, Finnish | Yes: 12 languages: English, German, Spanish, Italian, French, Portuguese (Brazil and Portugal), Dutch, Swedish, Danish, Norwegian, Finnish | Yes: 17 languages |
| Support and selling in person | ||
| Live chat in the appChat with our team in the app (not 24/7) | Yes: Chat with our team in the app (not 24/7) | Yes: A help chat button in the app (seen) |
| Shopify POSQuantity breaks, BOGO and bundles, tested 2026-10-08 | Yes: Quantity breaks, BOGO and bundles, tested 2026-10-08 | Yes: Free plan |
| Price | ||
| Free plan on a live storeEvery feature | Yes: Every feature | Yes: No revenue or order limit |
| No revenue or sales capNone | Yes: None | Yes: "Unlimited revenue & orders" |
Happy Bundle vs Fast Bundle
| Feature | Happy BundleFree forever29 of 29 | Fast Bundle23 of 29 |
|---|---|---|
| Offer types | ||
| Quantity breaks (Buy 2, save 10%)Percentage, amount off, set price or free units per tier | Yes: Percentage, amount off, set price or free units per tier | Yes: Listing |
| Fixed bundles | Yes | Yes: Listing |
| BOGO and buy X get YFree units in a tier, or a bundle with Y free or discounted | Yes: Free units in a tier, or a bundle with Y free or discounted | Yes: Listing |
| Mix and matchA one-step picker on the product page | Yes: A one-step picker on the product page | Yes: Listing |
| Free gift at a tierThe gift is added to the cart for the shopper | Yes: The gift is added to the cart for the shopper | Yes: Listing |
| Paid add-ons on the product pageCheckbox or quantity stepper, with a per-order maximum | Yes: Checkbox or quantity stepper, with a per-order maximum | Yes: Listing |
| Frequently bought togetherPicked from your own orders, refreshed weekly (switch it on) | Yes: Picked from your own orders, refreshed weekly (switch it on) | Yes: AI-powered (listing) |
| Subscriptions with offersQuantity breaks only, with selling plans | Yes: Quantity breaks only, with selling plans | Yes: Works with subscription apps (listing) |
| Sizes and colors | ||
| A size and color picker for each item in a dealIn quantity breaks, bundles and mix and match | Yes: In quantity breaks, bundles and mix and match | Yes: Help center: variant per item |
| Price follows each pickThe page, button and cart show the same price | Yes: The page, button and cart show the same price | Yes: Help center: total updates with chosen variant |
| Sold-out sizes marked or hiddenMarked and not pickable, or hidden | Yes: Marked and not pickable, or hidden | Yes: Help center: sold out badge or hide |
| Cart and checkout | ||
| Works with your discount codesOrder and free shipping codes set to combine with product discounts | Yes: Order and free shipping codes set to combine with product discounts | Yes: Help center: combine with discount codes |
| Stock and SKUs update per item | Yes | Yes: Help center: stock and SKUs per item |
| Discount applied by Shopify at checkout (no draft orders)Shopify Functions; your product prices are not changed | Yes: Shopify Functions; your product prices are not changed | Yes: Help center: Shopify Functions discount |
| Tier price applies however items reach the cartQuantity breaks, for example from a collection page button | Yes: Quantity breaks, for example from a collection page button | Yes: Help center: Automatic Bundle Detection |
| Design | ||
| Uses your theme's lookYour theme's fonts; Copy my theme's look copies its colors and corners | Yes: Your theme's fonts; Copy my theme's look copies its colors and corners | Not listed |
| Sticky add to cart bar with the offerSwitch it on per offer | Yes: Switch it on per offer | Not listed |
| Offer price on the add to cart buttonSwitch it on | Yes: Switch it on | Not listed |
| Countdown timer and low stock notice | Yes | Not listed |
| Live preview while editingOn your own product | Yes: On your own product | Yes: Seen in its editor |
| Analytics | ||
| Revenue and order value from offersRevenue, orders, order value with and without an offer | Yes: Revenue, orders, order value with and without an offer | Yes: Listing tags |
| A/B testsUp to 4 versions, winner picked automatically | Yes: Up to 4 versions, winner picked automatically | Yes: Listing tag |
| Languages and currencies | ||
| Offer text in the shopper's language136 storefront languages, editable | Yes: 136 storefront languages, editable | Yes: Multi-language tag |
| Prices in the shopper's currency | Yes | Yes: Multi-currency tag |
| App admin in other languages12 languages: English, German, Spanish, Italian, French, Portuguese (Brazil and Portugal), Dutch, Swedish, Danish, Norwegian, Finnish | Yes: 12 languages: English, German, Spanish, Italian, French, Portuguese (Brazil and Portugal), Dutch, Swedish, Danish, Norwegian, Finnish | Yes: 10 languages |
| Support and selling in person | ||
| Live chat in the appChat with our team in the app (not 24/7) | Yes: Chat with our team in the app (not 24/7) | Yes: 24/7 support in English (plans) |
| Shopify POSQuantity breaks, BOGO and bundles, tested 2026-10-08 | Yes: Quantity breaks, BOGO and bundles, tested 2026-10-08 | Yes: "POS-ready options" |
| Price | ||
| Free plan on a live storeEvery feature | Yes: Every feature | No: Free for development stores only (listing) |
| No revenue or sales capNone | Yes: None | No: Up to $1,000, $3,000 or $10,000 of monthly bundle sales |
Happy Bundle vs Moon Bundles
| Feature | Happy BundleFree forever29 of 29 | Moon Bundles18 of 29 |
|---|---|---|
| Offer types | ||
| Quantity breaks (Buy 2, save 10%)Percentage, amount off, set price or free units per tier | Yes: Percentage, amount off, set price or free units per tier | Yes: Listing |
| Fixed bundles | Yes | Yes: Listing |
| BOGO and buy X get YFree units in a tier, or a bundle with Y free or discounted | Yes: Free units in a tier, or a bundle with Y free or discounted | Yes: Listing |
| Mix and matchA one-step picker on the product page | Yes: A one-step picker on the product page | Yes: "Mix-and-match bundle, bundle builder" |
| Free gift at a tierThe gift is added to the cart for the shopper | Yes: The gift is added to the cart for the shopper | Yes: Listing |
| Paid add-ons on the product pageCheckbox or quantity stepper, with a per-order maximum | Yes: Checkbox or quantity stepper, with a per-order maximum | Yes: "Smart add-ons upsell" |
| Frequently bought togetherPicked from your own orders, refreshed weekly (switch it on) | Yes: Picked from your own orders, refreshed weekly (switch it on) | Yes: Listing tag |
| Subscriptions with offersQuantity breaks only, with selling plans | Yes: Quantity breaks only, with selling plans | Yes: Listing tag |
| Sizes and colors | ||
| A size and color picker for each item in a dealIn quantity breaks, bundles and mix and match | Yes: In quantity breaks, bundles and mix and match | Not listed |
| Price follows each pickThe page, button and cart show the same price | Yes: The page, button and cart show the same price | Not listed |
| Sold-out sizes marked or hiddenMarked and not pickable, or hidden | Yes: Marked and not pickable, or hidden | Not listed |
| Cart and checkout | ||
| Works with your discount codesOrder and free shipping codes set to combine with product discounts | Yes: Order and free shipping codes set to combine with product discounts | Yes: Discount codes and discount stacking (listing tags) |
| Stock and SKUs update per item | Yes | Not listed |
| Discount applied by Shopify at checkout (no draft orders)Shopify Functions; your product prices are not changed | Yes: Shopify Functions; your product prices are not changed | Not listed |
| Tier price applies however items reach the cartQuantity breaks, for example from a collection page button | Yes: Quantity breaks, for example from a collection page button | Not listed |
| Design | ||
| Uses your theme's lookYour theme's fonts; Copy my theme's look copies its colors and corners | Yes: Your theme's fonts; Copy my theme's look copies its colors and corners | Not listed |
| Sticky add to cart bar with the offerSwitch it on per offer | Yes: Switch it on per offer | No |
| Offer price on the add to cart buttonSwitch it on | Yes: Switch it on | Not listed |
| Countdown timer and low stock notice | Yes | Yes: Countdown timers (listing tag) |
| Live preview while editingOn your own product | Yes: On your own product | Yes: Help center: live preview in editor |
| Analytics | ||
| Revenue and order value from offersRevenue, orders, order value with and without an offer | Yes: Revenue, orders, order value with and without an offer | Yes: Listing tag |
| A/B testsUp to 4 versions, winner picked automatically | Yes: Up to 4 versions, winner picked automatically | Yes: Listing tag |
| Languages and currencies | ||
| Offer text in the shopper's language136 storefront languages, editable | Yes: 136 storefront languages, editable | Yes: Help center: shown in shopper language |
| Prices in the shopper's currency | Yes | Yes: Currency conversion (listing tag) |
| App admin in other languages12 languages: English, German, Spanish, Italian, French, Portuguese (Brazil and Portugal), Dutch, Swedish, Danish, Norwegian, Finnish | Yes: 12 languages: English, German, Spanish, Italian, French, Portuguese (Brazil and Portugal), Dutch, Swedish, Danish, Norwegian, Finnish | Yes: 9 languages |
| Support and selling in person | ||
| Live chat in the appChat with our team in the app (not 24/7) | Yes: Chat with our team in the app (not 24/7) | Yes: 7/7 chat (plans) |
| Shopify POSQuantity breaks, BOGO and bundles, tested 2026-10-08 | Yes: Quantity breaks, BOGO and bundles, tested 2026-10-08 | Not listed |
| Price | ||
| Free plan on a live storeEvery feature | Yes: Every feature | Yes: Up to $500 of generated revenue |
| No revenue or sales capNone | Yes: None | No: Free up to $500 of generated revenue; then $2,000, $10,000 or unlimited |
Happy Bundle vs Shopify Bundles
| Feature | Happy BundleFree forever29 of 29 | Shopify Bundles12 of 29 |
|---|---|---|
| Offer types | ||
| Quantity breaks (Buy 2, save 10%)Percentage, amount off, set price or free units per tier | Yes: Percentage, amount off, set price or free units per tier | No: Shopify points to apps for tiered discounts |
| Fixed bundles | Yes | Yes: Fixed bundles and multipacks |
| BOGO and buy X get YFree units in a tier, or a bundle with Y free or discounted | Yes: Free units in a tier, or a bundle with Y free or discounted | Not listed |
| Mix and matchA one-step picker on the product page | Yes: A one-step picker on the product page | No: "doesn't support mix-and-match bundles" |
| Free gift at a tierThe gift is added to the cart for the shopper | Yes: The gift is added to the cart for the shopper | Not listed |
| Paid add-ons on the product pageCheckbox or quantity stepper, with a per-order maximum | Yes: Checkbox or quantity stepper, with a per-order maximum | Not listed |
| Frequently bought togetherPicked from your own orders, refreshed weekly (switch it on) | Yes: Picked from your own orders, refreshed weekly (switch it on) | Not listed |
| Subscriptions with offersQuantity breaks only, with selling plans | Yes: Quantity breaks only, with selling plans | No: "aren't compatible with purchase options, which includes subscriptions" |
| Sizes and colors | ||
| A size and color picker for each item in a dealIn quantity breaks, bundles and mix and match | Yes: In quantity breaks, bundles and mix and match | Yes: "Customers can choose from options like size or color" |
| Price follows each pickThe page, button and cart show the same price | Yes: The page, button and cart show the same price | Not listed |
| Sold-out sizes marked or hiddenMarked and not pickable, or hidden | Yes: Marked and not pickable, or hidden | Not listed |
| Cart and checkout | ||
| Works with your discount codesOrder and free shipping codes set to combine with product discounts | Yes: Order and free shipping codes set to combine with product discounts | Yes: Supported; product discounts must include the bundle product |
| Stock and SKUs update per item | Yes | Yes: Real time, by overall stock, not by location |
| Discount applied by Shopify at checkout (no draft orders)Shopify Functions; your product prices are not changed | Yes: Shopify Functions; your product prices are not changed | Yes: Built into Shopify |
| Tier price applies however items reach the cartQuantity breaks, for example from a collection page button | Yes: Quantity breaks, for example from a collection page button | Not listed |
| Design | ||
| Uses your theme's lookYour theme's fonts; Copy my theme's look copies its colors and corners | Yes: Your theme's fonts; Copy my theme's look copies its colors and corners | Yes: Bundle is a normal product page |
| Sticky add to cart bar with the offerSwitch it on per offer | Yes: Switch it on per offer | Not listed |
| Offer price on the add to cart buttonSwitch it on | Yes: Switch it on | Not listed |
| Countdown timer and low stock notice | Yes | Not listed |
| Live preview while editingOn your own product | Yes: On your own product | Not listed |
| Analytics | ||
| Revenue and order value from offersRevenue, orders, order value with and without an offer | Yes: Revenue, orders, order value with and without an offer | Yes: Shopify's own reports |
| A/B testsUp to 4 versions, winner picked automatically | Yes: Up to 4 versions, winner picked automatically | Not listed |
| Languages and currencies | ||
| Offer text in the shopper's language136 storefront languages, editable | Yes: 136 storefront languages, editable | Yes: Multi language listed |
| Prices in the shopper's currency | Yes | Not listed |
| App admin in other languages12 languages: English, German, Spanish, Italian, French, Portuguese (Brazil and Portugal), Dutch, Swedish, Danish, Norwegian, Finnish | Yes: 12 languages: English, German, Spanish, Italian, French, Portuguese (Brazil and Portugal), Dutch, Swedish, Danish, Norwegian, Finnish | Yes: 20 languages |
| Support and selling in person | ||
| Live chat in the appChat with our team in the app (not 24/7) | Yes: Chat with our team in the app (not 24/7) | Not listed |
| Shopify POSQuantity breaks, BOGO and bundles, tested 2026-10-08 | Yes: Quantity breaks, BOGO and bundles, tested 2026-10-08 | Yes: Sold on Shopify POS |
| Price | ||
| Free plan on a live storeEvery feature | Yes: Every feature | Yes: Free |
| No revenue or sales capNone | Yes: None | Yes: None |
A check means we confirmed the feature on the app's App Store listing, help center or own site, or in our own test of the app. "Not listed" means the feature is not on its App Store page, help center or site; it does not count. The count is confirmed features out of 29. Sources. Kaching Bundles: listing 2026-10-08; its own site 2026-09-26; its product page settings on our test store 2026-10-08; its demo store 2026-09-20; Pumper: listing 2026-10-08; its own site 2026-09-26; Wide Bundles: listing 2026-10-08; its site 2026-09-26; Bundler: listing 2026-10-08; its admin on our test store 2026-10-08; Fast Bundle: listing 2026-10-08; its admin on our test store 2026-10-08; Moon Bundles: listing 2026-10-08 (Moon has no product site); Shopify Bundles: Shopify Help Center 2026-10-07; listing 2026-10-08. Happy Bundle: the app as released on 2026-10-08.
Also worth a look
Free quantity breaks apps not yet in our feature table.
| App | Price model (listing, 2026-10-08) | Best for |
|---|---|---|
| AOV.ai Bundles Quantity Breaks | Free (listing shows only "Free") | Volume tiers plus frequently bought together and a bundle builder page |
| SMART Bundles Volume Discounts | Free (listing shows only "Free") | Says automatic discounts and discount codes are "fully supported"; 24 listing languages |
| Bundlex | Free (listing shows only "Free") | A variant picker per item; countdown and sticky cart bar |
Prices: each app's Shopify App Store listing, read on 2026-10-08. "By revenue" means the plan has a cap on the revenue the app's offers bring in, as that app defines it. Check the listing before you decide.
What to check before you choose
- Mixed sizes: can a shopper buy three shirts in three sizes in one tier? Many widgets make every item the same variant. See sizes and colors in bundles.
- Discount codes: does the tier discount still allow your codes? See discount codes and bundles.
- The bill as you grow: many plans are capped by the revenue the app brings in. Work out what you would pay at your size.
- The math: a deeper tier is not always worth it. Try the quantity break calculator.
Where other apps are the better pick
- Track record: every app above has more years on the App Store, more installs and more reviews.
- Live chat around the clock: Pumper lists 24/7 chat and Wide Bundles 7/7 live chat (plans); Happy Bundle's in-app chat is not 24/7.
- Design options: Wide Bundles lists more than 100.
- More admin languages: Bundler (17) has more than Happy Bundle (12).
Questions merchants ask
What is the best quantity breaks app for Shopify?
We rank Happy Bundle first on features and price: a size and color picker for each item, the offer price on your add to cart button, and free forever for stores that install now. Pumper and Kaching Bundles have the longest track records in quantity breaks.
Is there a free volume discount app for Shopify?
Yes. Happy Bundle, AOV.ai, SMART Bundles, Bundlex and Bundler have free plans with no revenue cap (listings, 2026-10-08).
Can you do tiered discounts on Shopify without an app?
Only roughly: you can create one automatic discount per tier, with no widget on the page. Shopify's built-in volume pricing is for B2B. See bundles without an app.
Read next
- Volume discounts in Happy BundleHow tiers work
- All comparisonsHappy Bundle vs each app
- Bundles without an appWhat Shopify does for free
- Happy Bundle pricingFree forever
Try Happy Bundle on your store
Install it from the Shopify App Store and create your first offer. Free forever for stores that install now. Every feature, no revenue cap. If paid plans come later, they are only for new stores. Yours stays free.
happy