TreStack Bundles

Quantity breaks, bundles, and gifts, right beside the Add to cart button.

Shoppers pick an offer, choose their variants, and add everything to the cart in one click. A Shopify discount function applies the price at checkout, so the price on the widget is the price they pay. Nothing is written into your theme files. TreStack Bundles is coming to the Shopify App Store and cannot be installed yet.

Status

Coming to the Shopify App Store

Built and running, not listed yet. Plans start at $9.99 a month with a 14 day free trial, billed by Shopify. Every plan has every feature.

A product page on a development store in grayscale, with the TreStack Bundles widget in green and paper colours: Single at 46 dollars, Duo at 82.80 dollars with a Most popular badge and a variant picker for each candle, and Trio at 110.40 dollars
On the product page: three offers, a badge, and a variant picker per item.
A cart page on a development store in grayscale, with two candles at 41.40 dollars each instead of 46 dollars under the offer name Duo, and an estimated total of 82.80 dollars
In the cart: the Duo price, applied by a Shopify discount function. No discount code, and the discount follows the quantities in the cart.

Every way to sell more than one.

One deal can mix bar types, so a quantity break can sit next to a bundle with a free gift. Every type is in every plan.

Quantity breaks

Buy 2 and save 10 percent: a percentage, an amount off, or a fixed price for the set, with an optional different variant for each item.

Every planStarts from a template

The TreStack Bundles template page in grayscale, titled Choose a discount type, with a colour picker above previews of quantity breaks, buy X get Y, quantity breaks for different products and complete the bundle
Six templates start the common types, each previewed with your store's own products.

The widget shows one deal per product, but at checkout every published deal runs its own discount, so give each product one deal. Deals can start and end on a date, be limited to markets or leave markets out, and skip Shopify B2B customers.

Set up in the admin, measured on your own orders.

Editor

The preview uses your products and your prices

Choose the products, the bars, and the discount for each, then turn on what the deal needs: badges, a countdown timer, a scratch-off card, swatches, a sticky add to cart bar, a savings summary, upsells, or subscriptions. Layouts, colours, corner radius, spacing, and fonts are yours to set, from your theme's own fonts. Brand colours are read from your theme and can be scanned again, and every deal that uses them follows a change.

  • Badges and labels. Most popular, your own text, an image, or a moving border. Animations stop for shoppers who ask for reduced motion.
  • Swatches and images. Variant swatches as pills, colour or image buttons, and an image per offer that switches the product gallery on the Dawn family, Horizon, Impact, Prestige, and Warehouse.
  • Keyboard and screen readers. Tab and the arrow keys move between offers and swatches, Escape closes pop ups, and sold out values are announced. No independent audit.

The preview in the editor shows unsaved changes; View in store opens the live product page, which shows published deals only. A published deal usually reaches the storefront within a minute.

The TreStack Bundles deal editor in grayscale, with sections for products, settings, style, deal bars and badges on the left, and a live preview of the deal in green on the right

Tests, numbers, languages

Test an offer, read the numbers, sell in every language

A/B tests
Two to four variants of a deal, set by hand or built around one change such as the discount, the badge, or the timer. Each shopper keeps seeing one variant and pays its price. A winner is called only when the best variant beats the second best at 95 percent significance (stricter with three or four variants), after at least 200 visitors and 10 conversions per variant and 72 hours.
Analytics
Visitors, add to cart rate, conversion rate, added revenue, average order value, and revenue per visitor, per deal and per offer, compared with the previous period, with a CSV export. Views come only from shoppers who allow analytics. They are estimates, not accounting records.
Languages
The widget's own text comes in English and 19 other languages and follows the storefront language. You translate each deal's text per language, and checkout shows the discount name in the shopper's language when you have translated it.
Markets
Prices show in the shopper's currency as your store converts them, and checkout charges the same amount. Limit a deal to markets, set amounts in a market currency, and preview any country in the editor.

No theme edits, and little to clean up.

The widget is a Shopify app embed and the price is a Shopify discount function, which runs at checkout from the cart, Shop Pay, and express checkout. Buy it now is hidden unless an offer is one plain line of the page's variant, so those go through the cart. Uninstall the app and the widget and the discounts stop at once, because nothing was written into your theme files. Unlisted products the app created for personalisation fees and mix and match stay in your product list to archive.

  1. Step one

    Turn on the app embed

    Home links straight to the right place in the theme editor and shows when the store widget is enabled. The widget places itself above the Add to cart button.

  2. Step two

    Pick a template

    Choose the products, set the bars and discounts, and check the preview.

  3. Step three

    Publish

    For a custom position on an Online Store 2.0 theme, add the Bundle deal app block instead.

What it adds to your storefront.


  • JavaScript, gzipped

    About 54 KB

    On a product page with a deal in today's build, loaded after the page has been read. About 10.5 KB of it loads on every page with the embed on.

  • Largest paint, blocking

    No measurable change

    In the one test described below, to Largest Contentful Paint and Total Blocking Time.

  • Taps

    16 ms or less

    To handle a tap on an offer or a swatch.

  • Layout shift

    0.038

    The widget appears after the first paint, and the page moves by that much.


One measurement on one theme: a product page of a test store on Shopify's Horizon theme, in Chrome with a mobile profile (CPU slowed four times, slow 4G, cold cache), taken on 2026-10-10 on a build of about 51 KB. The layout shift comes from the widget appearing after the first paint. It is not a promise for every store, so compare before and after on your own.

Pricing

Every plan has every deal type and every feature. Plans differ only in the added revenue they cover every 30 days.

TreStack Bundles prices in USD. 14 day free trial, 20 percent off when billed yearly. Billed through Shopify, on the invoice you already get. Free on development stores. Over the limit, a monthly plan is charged up to the plan that covers the period, and a yearly plan pays the overage rate for each started 100 dollars over.
PlanMonthlyYearly, per monthBilled yearlyAdded revenue covered every 30 daysYearly overage
Starter$9.99$7.99$95.88$1,000$0.49 per started $100 over
Growth$19.99$15.99$191.88$5,000$0.42 per started $100 over
Pro$49.99$39.99$479.88$20,000$0.28 per started $100 over
Unlimited$129$103$1,236No limitNone

What counts as added revenue, and what happens at the limit

Before it lands

Questions about themes, prices, billing, and data

How the price reaches checkout, what counts as added revenue, what the app stores, and what happens when you uninstall.

Read the TreStack Bundles FAQ

Support

Answered by the people who build the app

Write to support@trestack.app, or use the live chat inside the app admin. Both are in every plan.

Getting started