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 questionWhat 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 docsAre 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 startedDoes 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 docsThe 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 docsCan 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 docsWhat 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-offCan 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 limitsPrices 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 appliedWhy 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.
TroubleshootingDo 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 limitsWhich 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 marketsA/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 docsWhat 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 docsPlans 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.
PricesWhat 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 docsWhat 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 docsIs 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 docsHow 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 uninstallingAre 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 policyDoes 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 agreementUninstalling
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 uninstallingWhat 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 policySupport
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.
SupportWhere can I read setup guides?
Setup guides live in the docs, starting with getting started.
Getting startedData 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.