TreStack Bundles

Questions about TreStack Bundles, answered.

TreStack Bundles is coming to the Shopify App Store and cannot be installed yet. These answers describe the app as it is built: install and theme, prices at checkout, plans and billing, data and privacy, and uninstalling.

The short version.


  • Status

    Coming to the App Store

    Built and running, not listed yet. It cannot be installed today.

  • Install

    App embed, no theme edits

    Turned on in the theme editor. Nothing is written into your theme files.

  • Every plan

    Every feature

    Plans differ only in how much added revenue they cover.

  • Trial

    14 days

    Once per store. Added revenue during the trial is never counted.


Every question, grouped.

Open the one you need. Each group starts with the most common question.

Before you install

Can I install TreStack Bundles today?

Not yet. TreStack Bundles is built and running, and it is coming to the Shopify App Store, but it is not listed there yet, so it cannot be installed. These answers describe the app as it is built.

Ask us a question
What does TreStack Bundles do?

It shows bundle, quantity break, and volume discount offers on your product pages. A deal is a set of deal bars, the offers a shopper picks between, shown above the Add to cart button. Shoppers choose an offer and their variants and add everything to the cart in one click.

Bars can be quantity breaks, buy X get Y, complete the bundle, mix and match, an alternative product, quantity breaks across different products, gifts, upsells, and a one time or subscribe choice for products with selling plans. One deal can mix bar types.

Deal types, in the docs
Are some deal types kept for higher plans?

No. Every plan includes every feature: every deal type, every layout, A/B tests, and analytics. Plans differ only in how much added revenue they cover.

Does the app change my theme's code?

No. The widget is a theme app extension: an app embed you turn on and off in the theme editor, and an app block when you want to place it yourself. No theme files are edited.

Getting started
Does it work with my theme?

The widget places itself above the Add to cart button on any theme. It also follows the variant picker, quantity box, price, and gallery of the Dawn family, Horizon, Impact, Prestige, and Warehouse. On other themes placement works, but the theme's variant picker, quantity box, and price are not kept in step with the widget.

It has been checked live on Horizon and Dawn. Other themes, page builders, cart drawer apps, and quick view have not been verified, and the widget is never added to quick view by itself.

Theme compatibility, in the docs

The widget and your theme

How do I turn the widget on?

Turn on the Bundle deals app embed in the theme editor. Home in the app has an Activate app embed link that opens the right place, and shows Store widget is enabled once it is on. The widget places itself above the Add to cart button.

How do I put the widget in a specific spot?

Add the Bundle deal app block to a product template in the theme editor, where you want it. The block can be set to another product, and its Deal ID setting can pick one of that product's eligible deals; the admin does not show deal ids yet.

Will it slow down my store?

On every page with the app embed on, a loader of about 1 KB and a controller of about 10 KB, gzipped, load after the page's HTML has been read. Only pages with a deal also load the deal code, about 44 KB gzipped in today's build, so about 54 KB in all.

We measured one setup on 2026-10-10: a real Chrome with a mobile profile (CPU slowed 4x, slow 4G, cold cache), on a product page of a test store on Shopify's Horizon theme. The widget, then about 51 KB of JavaScript gzipped, made no measurable change in Largest Contentful Paint or Total Blocking Time. Taps on the widget were handled in 16 ms or less. Layout shift was 0.038, caused by the widget appearing after the first paint. That is one measurement on one theme, not a guarantee for every store.

Performance notes, in the docs
Can the widget match my store?

Six templates start you off, each previewed with your own products. Brand colours are read from your theme, can be scanned again, and update every deal that uses them. Layouts are vertical, horizontal, grid, or plain, with your choice of radius, spacing, colours, and any of your theme's own fonts, and per deal or shop wide custom CSS for anything else.

Design, in the docs
What else can the widget show?

Badges (in the vertical layout), labels, and highlights; a countdown timer to an end date and a scratch off card; variant swatches as pills, colour buttons, image buttons, or a dropdown; featured images per bar that switch the product gallery on the Dawn family, Horizon, Impact, Prestige, and Warehouse; a sticky add to cart bar after the shopper scrolls past the widget; and a savings summary.

Badges, timers and scratch-off
Can shoppers use the widget with a keyboard or a screen reader?

Yes. Tab and the arrow keys move through offers and swatches, Escape closes pop-ups, and sold out values are announced. The default colours meet WCAG AA contrast, and badge animations stop for shoppers who ask for reduced motion. The app has not had an independent accessibility audit.

Can I see a deal before shoppers do?

Yes. The editor preview shows your products' real prices as you edit, and can preview another country's currency. View in store opens the live product page, which shows published deals only. A published deal usually reaches your storefront within a minute.

What if another bundle app runs a deal on the same product?

Both apps set the quantity, and checkout applies one product discount per cart line, so keep one bundle app per product. Products without a deal in both apps are not affected.

Combinations and limits

Prices and checkout

How is the discount applied at checkout?

Each published deal is one Shopify automatic discount, run by a discount function, with a cart transform that merges a mix and match set into one line when Shopify allows it. There are no discount codes to manage.

The discount follows the cart, not the offer clicked. A shopper who changes 3 items to 2 gets the 2 item price, and every unit of a targeted product counts, also those added with the theme's own Add to cart, unless the deal applies its discount only through the widget. A bundle needs the full set, and gifts and upsells are discounted only while the cart still reaches their bar.

How the discount is applied
Why is the price at checkout different from the widget?

The same rules price both, from what is in the cart. Check that the cart still holds the quantities and the full set the widget added, that gifts and upsells still have their bar reached, and that only one bundle app has a deal on the product.

Troubleshooting
Do deals work with Shop Pay, express checkout, and Buy it now?

The discount runs at checkout from the cart, Shop Pay, and express checkout from the cart. Buy it now is hidden whenever the chosen offer is more than one plain line of the page's variant, such as a bundle, a gift, an upsell, mix and match, different variants or an Alternative product bar, and for a bar of several units when the theme's product form has no quantity box, so those go through the cart. Draft orders and POS have no special handling.

Do deals combine with my other discounts?

Yes. Every deal's discount combines with product, order, and shipping discounts, including discount codes. This is set when the app is installed, and there is no setting in the app to change it.

Shopify allows 25 active automatic discounts per store across all apps, and each published deal uses one, so a store can have at most 25 live deals, fewer if other apps use some.

Combinations and limits
Which deal shows when a product is in more than one?

The widget shows one deal per product: a deal for the shopper's market first, then the most specific targeting (selected products, then collections, then all products with exceptions, then all products), then the one published most recently. Each deal can have start and end dates, be limited to or kept from chosen markets, and be hidden from Shopify B2B customers.

At checkout every published deal runs its own discount, so do not target one product with two published deals. The editor warns when a product is already in another deal.

Does it work in other languages and currencies?

Yes. The widget's own texts come in English and 19 other languages and follow the storefront language, and you translate your deal texts per language. Checkout shows the discount name in the shopper's language when you have translated it. Prices show in the shopper's currency as your store converts them, and checkout charges the same amount. A deal for a single market can have amounts in that market's currency.

Translations and markets

A/B tests and analytics

Can I A/B test a deal?

Yes, with two to four variants. Set them up by hand, or let the app build a variant around one change, such as the discount, a badge, or the timer. Each shopper keeps seeing one variant and pays that variant's price.

A winner is marked significant after at least 200 visitors and 10 conversions per variant and 72 hours of running, when the best variant beats the second best by a two sided test at 95 percent, stricter with three or four variants. The test never stops by itself: you set the winner, or stop the test and choose which variant to keep, and finished tests go to an archive.

A/B tests, in the docs
What numbers can I see?

By day, compared with the previous period: visitors, add to cart rate, conversion rate, added revenue, total revenue, average order value, and revenue per visitor, per deal and per bar, with a CSV export.

Views and add to carts come only from shoppers who allow analytics. Orders and revenue come from your orders, with test orders left out and refunds not subtracted. Days are in UTC and the figures update every 15 minutes. These are estimates, not accounting records.

Analytics, in the docs

Plans and billing

How do the plans differ?

Only in how much added revenue they cover each 30 day period: Starter covers $1,000, Growth covers $5,000, Pro covers $20,000, and Unlimited has no limit. Every plan includes every feature, email support, and live chat in the app admin.

Prices
What is added revenue?

For each deal in an order, what shoppers spent after discounts beyond one item of the main product at its regular price, never below zero. For billing it counts only where a line carries the deal's own automatic discount, so discount codes and other discounts never count, and test orders are left out. It is converted to US dollars at each day's rate.

Added revenue, in the docs
What happens when I pass my plan's cap?

On a monthly plan your deals keep showing. Checked daily, the app charges the price difference to the plan that covers that 30 day period, as a usage charge, and one more if the period passes that plan too. Your plan itself does not change, and the next period starts from your chosen plan again. Usage charges stop at the usage limit you approve in Shopify, so plan plus usage never passes $129 a period. After the trial, the Plans page shows the period's added revenue as a bar, red from 80 percent of the plan's limit.

On a yearly plan, since 10 October 2026, added revenue over the limit is billed after each 30 day period for each started 100 dollars: Starter $0.49, Growth $0.42, Pro $0.28. It is a one-time charge you approve in Shopify; under $0.50 is carried to the next period. If it is not approved within 7 days, your deals pause until it is. Unlimited has no overage.

Going over your plan, in the docs
Is there a free trial?

Yes, 14 days, once per store. Resubscribing or reinstalling gives only the days left of the first trial. Added revenue during the trial is never counted.

Is yearly billing cheaper?

Yes, 20 percent off, billed once a year.

Plans and billing, in the docs
How am I billed?

By Shopify, on the Shopify bill you already get, as a TreStack Bundles subscription named after your plan, for example Growth (Monthly). Prices are in US dollars. We never see your payment details.

How do I cancel?

On the Plans page in the app, or by uninstalling. Your deals are unpublished, with no prorated refund. If a plan ends or is frozen another way, for example after a declined charge, or a yearly overage charge goes unapproved, your deals pause until you choose a plan or approve the charge.

Pausing, cancelling and uninstalling
Are development stores charged?

No. Development stores use the app free, with every feature. A plan picked on one is billed in test mode. When a development store goes live without a plan, its deals pause until a plan is approved.

Data and privacy

What can the app access in my store?

What it needs to run deals: products and their publication, inventory, discounts and cart transforms, orders, themes, markets and languages, files, and a web pixel with customer events, plus the storefront's product listings, inventory, and selling plans. It has no access to customer records or payments.

Of your orders, it receives only the fields it needs: order id, time, test flag, discount titles, and each line's product, variant, quantity, price, discounts, and properties. It keeps only the lines of a deal or of a product a live deal targets. No customer name, email, phone, or address reaches the app.

Read the privacy policy
Does the app track my shoppers?

It sets no cookies. For shoppers who allowed analytics, a web pixel sends deal viewed, added to cart, and checkout started events with the deal, offer, variant, and product ids and a timestamp. Shopify's browser id is stored only as a one way hash, so the data is pseudonymous, not anonymous.

While an A/B test runs, a random id kept in the shopper's browser picks their variant. It never leaves the browser.

How long is data kept?

Raw pixel events for 45 days, hourly statistics for 7 days, daily statistics and order lines while the app is installed. Everything is deleted 48 hours after an uninstall, and backups roll off within 30 days.

Who else handles the data?

Shopify; Contabo, which hosts the one server, in the United States, shared with TreStack Timer; Cloudflare, which proxies the app's addresses and holds encrypted backups; and Chaport, the live chat in the app admin, which receives your store's myshopify address and plan and what you write in the chat. The data is not sold and not used for advertising.

Data processing agreement

Uninstalling

What happens to my deals if I uninstall?

The discounts and the widget stop at once, and nothing was written into your theme files. One thing stays: the unlisted products the app created for personalisation fees and mix and match bars, with the product type Bundles app item. The app cannot remove them after an uninstall, so archive them yourself.

Reinstalling within 48 hours finds your deals still in the app.

Pausing, cancelling and uninstalling
What happens to my data after I uninstall?

48 hours after an uninstall, Shopify asks the app to delete the store's data, and on that request the app deletes all of it.

Read the privacy policy

Support

How do I get help?

Use the live chat inside the app admin, or email support@trestack.app. Support is included in every plan and answered by the people who build the app. Privacy requests go to legal@trestack.app.

Support
Where can I read setup guides?

Setup guides live in the docs, starting with getting started.

Getting started

Data and privacy

No cookies, and no shopper names or emails reach the app

The TreStack Bundles privacy policy lists the store data the app keeps, how long it is kept, and its sub-processors. The data processing agreement covers the same ground in contract form.

Still stuck

Ask the people who build the app

Write to support@trestack.app, use the live chat inside the app admin, or use the contact form.