[{"data":1,"prerenderedAt":537},["ShallowReactive",2],{"navigation_docs":3,"-bundles-start-getting-started":256,"-bundles-start-getting-started-surround":532},[4,102],{"title":5,"path":6,"stem":7,"children":8},"TreStack Timer","\u002Ftimer","1.timer",[9,12,30,51,68,89],{"title":10,"path":6,"stem":11},"TreStack Timer docs","1.timer\u002Findex",{"title":13,"path":14,"stem":15,"children":16,"page":29},"Getting started","\u002Ftimer\u002Fstart","1.timer\u002F1.start",[17,21,25],{"title":18,"path":19,"stem":20},"Installing TreStack Timer","\u002Ftimer\u002Fstart\u002Finstalling-a-trestack-app","1.timer\u002F1.start\u002F1.installing-a-trestack-app",{"title":22,"path":23,"stem":24},"Turning on the app embed and placing the app block","\u002Ftimer\u002Fstart\u002Fplacing-your-first-app-block","1.timer\u002F1.start\u002F2.placing-your-first-app-block",{"title":26,"path":27,"stem":28},"Development stores and theme previews","\u002Ftimer\u002Fstart\u002Fdevelopment-stores-and-theme-previews","1.timer\u002F1.start\u002F3.development-stores-and-theme-previews",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Timer types","\u002Ftimer\u002Ftimer-types","1.timer\u002F2.timer-types",[35,39,43,47],{"title":36,"path":37,"stem":38},"TreStack Timer, setup and settings","\u002Ftimer\u002Ftimer-types\u002Ftrestack-timer","1.timer\u002F2.timer-types\u002F1.trestack-timer",{"title":40,"path":41,"stem":42},"Placement, countries, and translations","\u002Ftimer\u002Ftimer-types\u002Fplacement-and-targeting","1.timer\u002F2.timer-types\u002F2.placement-and-targeting",{"title":44,"path":45,"stem":46},"Cart page and cart drawer timers","\u002Ftimer\u002Ftimer-types\u002Fcart-timers","1.timer\u002F2.timer-types\u002F3.cart-timers",{"title":48,"path":49,"stem":50},"Email timers","\u002Ftimer\u002Ftimer-types\u002Femail-timers","1.timer\u002F2.timer-types\u002F4.email-timers",{"title":52,"path":53,"stem":54,"children":55,"page":29},"Performance and themes","\u002Ftimer\u002Freference","1.timer\u002F3.reference",[56,60,64],{"title":57,"path":58,"stem":59},"Performance notes","\u002Ftimer\u002Freference\u002Fperformance-notes","1.timer\u002F3.reference\u002F1.performance-notes",{"title":61,"path":62,"stem":63},"Theme compatibility","\u002Ftimer\u002Freference\u002Ftheme-compatibility","1.timer\u002F3.reference\u002F2.theme-compatibility",{"title":65,"path":66,"stem":67},"Running several timers at once","\u002Ftimer\u002Freference\u002Frunning-several-timers","1.timer\u002F3.reference\u002F3.running-several-timers",{"title":69,"path":70,"stem":71,"children":72,"page":29},"Billing, privacy, and data","\u002Ftimer\u002Faccount","1.timer\u002F4.account",[73,77,81,85],{"title":74,"path":75,"stem":76},"Billing, trials, and plan changes","\u002Ftimer\u002Faccount\u002Fbilling","1.timer\u002F4.account\u002F1.billing",{"title":78,"path":79,"stem":80},"Privacy and data, what the app stores","\u002Ftimer\u002Faccount\u002Fprivacy-and-data","1.timer\u002F4.account\u002F2.privacy-and-data",{"title":82,"path":83,"stem":84},"Data processing and subprocessors","\u002Ftimer\u002Faccount\u002Fdata-processing-and-subprocessors","1.timer\u002F4.account\u002F3.data-processing-and-subprocessors",{"title":86,"path":87,"stem":88},"Uninstalling TreStack Timer","\u002Ftimer\u002Faccount\u002Funinstalling-trestack-timer","1.timer\u002F4.account\u002F4.uninstalling-trestack-timer",{"title":90,"path":91,"stem":92,"children":93,"page":29},"When something is wrong","\u002Ftimer\u002Ftroubleshooting","1.timer\u002F5.troubleshooting",[94,98],{"title":95,"path":96,"stem":97},"When the timer does not appear","\u002Ftimer\u002Ftroubleshooting\u002Ftroubleshooting-app-blocks","1.timer\u002F5.troubleshooting\u002F1.troubleshooting-app-blocks",{"title":99,"path":100,"stem":101},"When the timer shows in the wrong place or looks wrong","\u002Ftimer\u002Ftroubleshooting\u002Ftroubleshooting-storefront-display","1.timer\u002F5.troubleshooting\u002F2.troubleshooting-storefront-display",{"title":103,"path":104,"stem":105,"children":106},"TreStack Bundles","\u002Fbundles","2.bundles",[107,110,131,160,185,198,219,244],{"title":108,"path":104,"stem":109},"TreStack Bundles docs","2.bundles\u002Findex",{"title":111,"path":112,"stem":113,"children":114,"page":29},"Getting a deal live","\u002Fbundles\u002Fstart","2.bundles\u002F1.start",[115,119,123,127],{"title":116,"path":117,"stem":118},"Getting started with TreStack Bundles","\u002Fbundles\u002Fstart\u002Fgetting-started","2.bundles\u002F1.start\u002F1.getting-started",{"title":120,"path":121,"stem":122},"Deal types and deal bars","\u002Fbundles\u002Fstart\u002Fdeal-types","2.bundles\u002F1.start\u002F2.deal-types",{"title":124,"path":125,"stem":126},"Creating, publishing and managing deals","\u002Fbundles\u002Fstart\u002Fcreating-and-publishing-deals","2.bundles\u002F1.start\u002F3.creating-and-publishing-deals",{"title":128,"path":129,"stem":130},"Development stores and testing safely","\u002Fbundles\u002Fstart\u002Fdevelopment-stores-and-testing","2.bundles\u002F1.start\u002F4.development-stores-and-testing",{"title":132,"path":133,"stem":134,"children":135,"page":29},"Building offers","\u002Fbundles\u002Fdeals","2.bundles\u002F2.deals",[136,140,144,148,152,156],{"title":137,"path":138,"stem":139},"Quantity breaks and Buy X, get Y","\u002Fbundles\u002Fdeals\u002Fquantity-breaks-and-buy-x-get-y","2.bundles\u002F2.deals\u002F1.quantity-breaks-and-buy-x-get-y",{"title":141,"path":142,"stem":143},"Bundles and mix and match","\u002Fbundles\u002Fdeals\u002Fbundles-and-mix-and-match","2.bundles\u002F2.deals\u002F2.bundles-and-mix-and-match",{"title":145,"path":146,"stem":147},"Free gifts and progressive gifts","\u002Fbundles\u002Fdeals\u002Fgifts-and-progressive-gifts","2.bundles\u002F2.deals\u002F3.gifts-and-progressive-gifts",{"title":149,"path":150,"stem":151},"Upsells, add-ons and personalisation","\u002Fbundles\u002Fdeals\u002Fupsells-add-ons-and-personalisation","2.bundles\u002F2.deals\u002F4.upsells-add-ons-and-personalisation",{"title":153,"path":154,"stem":155},"Subscriptions in a deal","\u002Fbundles\u002Fdeals\u002Fsubscriptions","2.bundles\u002F2.deals\u002F5.subscriptions",{"title":157,"path":158,"stem":159},"Products, dates and visibility","\u002Fbundles\u002Fdeals\u002Fproducts-dates-and-visibility","2.bundles\u002F2.deals\u002F6.products-dates-and-visibility",{"title":161,"path":162,"stem":163,"children":164,"page":29},"How a deal looks, and where","\u002Fbundles\u002Fdesign","2.bundles\u002F3.design",[165,169,173,177,181],{"title":166,"path":167,"stem":168},"Designing a deal","\u002Fbundles\u002Fdesign\u002Fdesign","2.bundles\u002F3.design\u002F1.design",{"title":170,"path":171,"stem":172},"Badges, timers and scratch-off","\u002Fbundles\u002Fdesign\u002Fbadges-timers-and-scratch-off","2.bundles\u002F3.design\u002F2.badges-timers-and-scratch-off",{"title":174,"path":175,"stem":176},"Variants, swatches and images","\u002Fbundles\u002Fdesign\u002Fvariants-swatches-and-images","2.bundles\u002F3.design\u002F3.variants-swatches-and-images",{"title":178,"path":179,"stem":180},"Prices, the sticky bar and the savings summary","\u002Fbundles\u002Fdesign\u002Fprices-sticky-bar-and-savings","2.bundles\u002F3.design\u002F4.prices-sticky-bar-and-savings",{"title":182,"path":183,"stem":184},"Translations, currencies and markets","\u002Fbundles\u002Fdesign\u002Ftranslations-and-markets","2.bundles\u002F3.design\u002F5.translations-and-markets",{"title":186,"path":187,"stem":188,"children":189,"page":29},"Prices at checkout","\u002Fbundles\u002Fcheckout","2.bundles\u002F4.checkout",[190,194],{"title":191,"path":192,"stem":193},"How the discount is applied at checkout","\u002Fbundles\u002Fcheckout\u002Fhow-the-discount-is-applied","2.bundles\u002F4.checkout\u002F1.how-the-discount-is-applied",{"title":195,"path":196,"stem":197},"Combining discounts, and store limits","\u002Fbundles\u002Fcheckout\u002Fcombinations-and-limits","2.bundles\u002F4.checkout\u002F2.combinations-and-limits",{"title":199,"path":200,"stem":201,"children":202,"page":29},"Tests and numbers","\u002Fbundles\u002Fmeasure","2.bundles\u002F5.measure",[203,207,211,215],{"title":204,"path":205,"stem":206},"Deal analytics","\u002Fbundles\u002Fmeasure\u002Fanalytics","2.bundles\u002F5.measure\u002F1.analytics",{"title":208,"path":209,"stem":210},"Added revenue","\u002Fbundles\u002Fmeasure\u002Fadded-revenue","2.bundles\u002F5.measure\u002F2.added-revenue",{"title":212,"path":213,"stem":214},"A\u002FB testing a deal","\u002Fbundles\u002Fmeasure\u002Fab-tests","2.bundles\u002F5.measure\u002F3.ab-tests",{"title":216,"path":217,"stem":218},"Smart A\u002FB tests","\u002Fbundles\u002Fmeasure\u002Fsmart-ab-tests","2.bundles\u002F5.measure\u002F4.smart-ab-tests",{"title":220,"path":221,"stem":222,"children":223,"page":29},"Billing, privacy, and when something is wrong","\u002Fbundles\u002Faccount","2.bundles\u002F6.account",[224,228,232,236,240],{"title":225,"path":226,"stem":227},"TreStack Bundles plans and billing","\u002Fbundles\u002Faccount\u002Fplans-and-billing","2.bundles\u002F6.account\u002F1.plans-and-billing",{"title":229,"path":230,"stem":231},"Going over your plan","\u002Fbundles\u002Faccount\u002Fgoing-over-your-plan","2.bundles\u002F6.account\u002F2.going-over-your-plan",{"title":233,"path":234,"stem":235},"Pausing, cancelling and uninstalling","\u002Fbundles\u002Faccount\u002Fpausing-cancelling-and-uninstalling","2.bundles\u002F6.account\u002F3.pausing-cancelling-and-uninstalling",{"title":237,"path":238,"stem":239},"Privacy, data and sub-processors","\u002Fbundles\u002Faccount\u002Fprivacy-and-data","2.bundles\u002F6.account\u002F4.privacy-and-data",{"title":241,"path":242,"stem":243},"When a deal does not show or prices look wrong","\u002Fbundles\u002Faccount\u002Ftroubleshooting","2.bundles\u002F6.account\u002F5.troubleshooting",{"title":245,"path":246,"stem":247,"children":248,"page":29},"Reference","\u002Fbundles\u002Freference","2.bundles\u002F7.reference",[249,252],{"title":57,"path":250,"stem":251},"\u002Fbundles\u002Freference\u002Fperformance-notes","2.bundles\u002F7.reference\u002F1.performance-notes",{"title":253,"path":254,"stem":255},"Theme compatibility and placement","\u002Fbundles\u002Freference\u002Ftheme-compatibility","2.bundles\u002F7.reference\u002F2.theme-compatibility",{"id":257,"title":116,"body":258,"description":525,"extension":526,"links":527,"meta":528,"navigation":529,"path":117,"seo":530,"stem":118,"__hash__":531},"docs\u002F2.bundles\u002F1.start\u002F1.getting-started.md",{"type":259,"value":260,"toc":508},"minimark",[261,276,306,311,314,321,325,331,334,340,344,347,350,365,368,371,376,380,383,389,392,398,402,433,437,476,480,483],[262,263,264,268,269,272,275],"p",{},[265,266,267],"strong",{},"Applies to:"," TreStack Bundles, every plan",[270,271],"br",{},[265,273,274],{},"Updated:"," 11 October 2026",[277,278,279,284],"callout",{},[262,280,281],{},[265,282,283],{},"At a glance",[285,286,287,294,300],"ul",{},[288,289,290,293],"li",{},[265,291,292],{},"Status:"," Coming to the Shopify App Store",[288,295,296,299],{},[265,297,298],{},"Setup guide:"," Two steps, embed then first deal",[288,301,302,305],{},[265,303,304],{},"Theme files changed:"," None",[307,308,310],"h2",{"id":309},"not-on-the-app-store-yet","Not on the App Store yet",[262,312,313],{},"TreStack Bundles is a Shopify app for quantity breaks, bundles, mix and match, gifts, upsells and subscription offers on product pages. It is coming to the Shopify App Store and cannot be installed yet, so there is no listing to install it from today. These pages describe how the app works, so you know what setup involves before it is listed.",[262,315,316,317,320],{},"A deal is a widget shown above the Add to cart button on product pages. It holds 1 to 20 deal bars, the offers a shopper picks between, and the shopper adds the chosen offer to the cart in one click. A Shopify discount then prices it at checkout. ",[318,319,120],"a",{"href":121}," explains what each kind of bar does.",[307,322,324],{"id":323},"pick-a-plan","Pick a plan",[262,326,327,328,330],{},"Until the store has a plan, the app opens on the Plans page, headed Choose a plan. Pick monthly or yearly billing (yearly is 20 percent off and bills once a year), choose a plan, and approve it in Shopify. Every plan includes every feature: the plans differ only in how much added revenue they cover. The prices and limits are in ",[318,329,225],{"href":226},".",[262,332,333],{},"The first plan a store takes starts with a 14-day free trial, and the button says Start 14-day free trial. The trial is once per store: a reinstall or a new plan gets only the days left of the first trial, and once those are used up the button says Get started.",[262,335,336,337,339],{},"Development stores skip this step. They use the app free, with every feature, and the app does not send them to the Plans page. ",[318,338,128],{"href":129}," covers what changes when such a store goes live.",[307,341,343],{"id":342},"turn-on-the-app-embed","Turn on the app embed",[262,345,346],{},"The widget is a theme app extension. Nothing shows on the storefront until its app embed, listed as Bundle deals under App embeds in the theme editor, is on in your live theme. No theme files are edited, at this point or later.",[262,348,349],{},"Until you publish your first deal, the app opens on Get started with bundle deals, with a Setup guide of two steps:",[351,352,353,359],"ol",{},[288,354,355,358],{},[265,356,357],{},"Activate bundle deals on your storefront."," Choose Activate app embed. The theme editor opens in a new tab with Bundle deals switched on. Choose Save there. When you come back to the app tab, the step ticks itself off.",[288,360,361,364],{},[265,362,363],{},"Create your first bundle deal."," Choose Create bundle deal to start from a template.",[262,366,367],{},"The guide counts the steps it sees done, for example 1 of 2 steps completed. You can close it with the X and bring it back with Show setup guide. Your deals are listed below it, so a saved draft is easy to find before your first publish.",[262,369,370],{},"After the first publish, the app opens on Home instead. The Overview section there shows Store widget is enabled or Store widget is disabled, read from your live theme, with an Activate app embed button while it is off.",[262,372,373,374,330],{},"The widget places itself above the theme's Add to cart button. To put it somewhere else, add the Bundle deal app block to a product template in the theme editor. Where the widget goes on each theme, and which themes it knows, is in ",[318,375,253],{"href":254},[307,377,379],{"id":378},"create-and-publish-a-deal","Create and publish a deal",[262,381,382],{},"Choose Create bundle deal, on the Setup guide or on Home. Choose a discount type shows six templates, each previewed with your own best-selling products in stock, and a Color row you can change later. Choose one, and the editor opens on a new deal named Bundle (then Bundle 2, and so on).",[262,384,385,386,388],{},"In the Products section, pick where the deal shows: All products, Selected products, or Selected collections. Then edit the offers in Deal bars. The Preview beside the form shows the widget with your real prices as you edit. ",[318,387,124],{"href":125}," goes through every section of the editor.",[262,390,391],{},"Choose Publish to put the deal on your storefront, usually within a minute. Save as draft keeps your work without showing it. The first publish also ends the Setup guide.",[262,393,394,395,397],{},"At checkout, each published deal is one Shopify automatic discount, so there are no discount codes to manage. The discount follows what is in the cart, not the bar the shopper clicked: a shopper who changes 3 items to 2 gets the 2-item price. Checkout from the cart, Shop Pay and express checkout from the cart all apply it. The Buy it now button is hidden whenever the chosen offer is more than one plain line of the page's product, such as a bundle, a gift, an upsell, mix and match, different variants or an Alternative product bar, so those offers go through the cart. ",[318,396,191],{"href":192}," has the details.",[307,399,401],{"id":400},"from-install-to-a-live-deal-in-four-steps","From install to a live deal, in four steps.",[403,404,406,410,413,416,419,423,426,430],"steps",{"level":405},"3",[407,408,324],"h3",{"id":409},"pick-a-plan-1",[262,411,412],{},"On the Plans page, approved in Shopify. 14 days free the first time a store takes a plan. Development stores skip this.",[407,414,343],{"id":415},"turn-on-the-app-embed-1",[262,417,418],{},"Activate app embed opens the theme editor with Bundle deals on. Choose Save, then come back to the app tab.",[407,420,422],{"id":421},"create-a-deal","Create a deal",[262,424,425],{},"Create bundle deal, pick a template, choose the products, and edit the deal bars beside the preview.",[407,427,429],{"id":428},"publish-and-check","Publish and check",[262,431,432],{},"Choose Publish. After a minute, open a product the deal targets on your storefront, on a phone as well.",[307,434,436],{"id":435},"settings-reference","Settings reference",[438,439,440,445,449,453,457,461,470],"field-group",{},[441,442,444],"field",{"name":443},"App embed","Bundle deals, under App embeds in the theme editor. Required: no deal shows anywhere while it is off. The app reads its status from your live theme.",[441,446,448],{"name":447},"App block","Bundle deal, optional, for a custom position in any section that accepts app blocks. Its Product setting defaults to the page's product. Its Deal ID setting can choose one of that product's eligible deals instead of the automatic choice, but the admin does not show deal ids yet.",[441,450,452],{"name":451},"Theme files touched","None. The embed and the block are theme editor settings, not code.",[441,454,456],{"name":455},"Trial","14 days, once per store. Reinstalling gives only the days left of the first trial. Added revenue counts from the day after the trial ends.",[441,458,460],{"name":459},"Development stores","Free, with every feature, and no plan needed. A plan picked on one is billed in test mode.",[441,462,464,465,469],{"name":463},"Support","Live chat inside the app admin, on every page of the app, and email at ",[318,466,468],{"href":467},"mailto:support@trestack.app","support@trestack.app"," (Home's Get support button opens it). Every plan includes both.",[441,471,473,474,330],{"name":472},"Uninstall","Stops the widget and the discounts at once. The unlisted products the app creates for personalisation fees and mix and match bars stay in your product list. See ",[318,475,233],{"href":234},[307,477,479],{"id":478},"if-this-does-not-work","If this does not work",[262,481,482],{},"The failures most likely on this procedure, with the check that resolves each one.",[484,485,486,493,497,504],"accordion",{},[487,488,490,491,330],"accordion-item",{"label":489},"TreStack Bundles is not on the Shopify App Store","That is expected for now. The app is coming to the Shopify App Store and cannot be installed until it is listed. Questions before then can go to ",[318,492,468],{"href":467},[487,494,496],{"label":495},"Home says Store widget is disabled","The theme editor opens with the embed switched on, but keeps the change only once you choose Save. Save the theme, then come back to the app tab: the status is checked again when the tab gets focus. The status reads your live theme only, so an embed turned on in a copy of the theme still reads as disabled.",[487,498,500,501,503],{"label":499},"The deal is published but not on the product page","Give it a minute, then reload. Check that the deal list shows it as Active, not Scheduled or Draft, that the product is in the deal's Products, and that its markets include the country you browse from. Another deal may also be the one shown on that product. ",[318,502,241],{"href":242}," goes through the rest.",[487,505,507],{"label":506},"The app always opens on the Plans page","The store has no plan yet. Choose one and approve it in Shopify; until then the app opens on Plans. Development stores are not sent there. If your deals are paused instead, a Your bundle deals are paused banner says why, with a Review plan button.",{"title":509,"searchDepth":510,"depth":510,"links":511},"",2,[512,513,514,515,516,523,524],{"id":309,"depth":510,"text":310},{"id":323,"depth":510,"text":324},{"id":342,"depth":510,"text":343},{"id":378,"depth":510,"text":379},{"id":400,"depth":510,"text":401,"children":517},[518,520,521,522],{"id":409,"depth":519,"text":324},3,{"id":415,"depth":519,"text":343},{"id":421,"depth":519,"text":422},{"id":428,"depth":519,"text":429},{"id":435,"depth":510,"text":436},{"id":478,"depth":510,"text":479},"TreStack Bundles is coming to the Shopify App Store and cannot be installed yet. Once it is listed, setup is a plan, the app embed, and a first published deal.","md",null,{},true,{"title":116,"description":525},"ZVhbuPsBP3jF7bowYrmIfbl5uc-UBu9B8FxBlR34cOk",[533,535],{"title":108,"path":104,"stem":109,"description":534,"children":-1},"Setting up deals, building offers, design, checkout prices, tests, billing, privacy and troubleshooting for TreStack Bundles.",{"title":120,"path":121,"stem":122,"description":536,"children":-1},"A deal is a set of deal bars: the offers a shopper picks between above the Add to cart button. The five bar types, what can be added to them, and the six templates.",1791656485848]