[{"data":1,"prerenderedAt":652},["ShallowReactive",2],{"navigation_docs":3,"-bundles-start-deal-types":256,"-bundles-start-deal-types-surround":647},[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":120,"body":258,"description":640,"extension":641,"links":642,"meta":643,"navigation":644,"path":121,"seo":645,"stem":122,"__hash__":646},"docs\u002F2.bundles\u002F1.start\u002F2.deal-types.md",{"type":259,"value":260,"toc":623},"minimark",[261,276,306,311,314,321,325,328,406,415,419,422,473,477,480,517,520,524,557,561,596,600,603],[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],{},"Bars per deal:"," 1 to 20, types can be mixed",[288,295,296,299],{},[265,297,298],{},"Bar types:"," Five",[288,301,302,305],{},[265,303,304],{},"Types gated by plan:"," None",[307,308,310],"h2",{"id":309},"deals-and-deal-bars","Deals and deal bars",[262,312,313],{},"A deal shows on the product page as one widget holding a set of bars, one per offer. The shopper picks a bar, picks their variants, and adds everything to the cart in one click. A deal holds 1 to 20 bars, and one deal can mix bar types: a Single bar at full price, a quantity break and a product bundle can sit side by side. Every plan includes every bar type and every addition below.",[262,315,316,317,320],{},"Each published deal becomes one Shopify automatic discount. The discount follows what is in the cart, not the bar the shopper clicked, so the price at checkout depends on the quantities and products that actually reach it. ",[318,319,191],"a",{"href":192}," explains the rules.",[307,322,324],{"id":323},"the-five-bar-types","The five bar types",[262,326,327],{},"In the editor, Deal bars has an Add bar menu with five types. Each bar gets its own title, subtitle and label, and can be the one selected by default.",[329,330,331,347],"table",{},[332,333,334],"thead",{},[335,336,337,341,344],"tr",{},[338,339,340],"th",{},"Bar",[338,342,343],{},"What it offers",[338,345,346],{},"How it is discounted",[348,349,350,362,373,384,395],"tbody",{},[335,351,352,356,359],{},[353,354,355],"td",{},"Quantity break",[353,357,358],{},"A quantity of the page's product, as in \"Buy 2, save 15%\"",[353,360,361],{},"Full price, Percentage off, Amount off (taken off each item), or Fixed price (the total for the bar)",[335,363,364,367,370],{},[353,365,366],{},"Buy X, get Y",[353,368,369],{},"Buy a number of the page's product, get more of the same product free or cheaper",[353,371,372],{},"A separate price for the Buy side and the Get side. The Get side has no Full price; free is 100 percent off",[335,374,375,378,381],{},[353,376,377],{},"Product bundle",[353,379,380],{},"Up to 20 products in total, the page's product included, each with its own quantity, pre-selected variant and allowed variants",[353,382,383],{},"Each product has its own discount (percentage, amount, fixed price or full price). There is no single bundle price",[335,385,386,389,392],{},[353,387,388],{},"Mix & Match",[353,390,391],{},"Up to 20 slots. Each slot holds a product, and you can let the shopper swap it for one of up to 20 other products",[353,393,394],{},"One discount for the whole set, as a discount or a bundle price",[335,396,397,400,403],{},[353,398,399],{},"Alternative product",[353,401,402],{},"A different product from the one on the page, for example a larger pack",[353,404,405],{},"None. The bar sells that product at its own price",[262,407,408,409,411,412,414],{},"A complete mix and match set is merged into one cart line, titled with the bar title (Bundle & Save by default), when Shopify allows it. Otherwise the set stays as separate lines with the same total price. Product bundles and mix and match get their discount only when the whole set is in the cart. ",[318,410,141],{"href":142}," and ",[318,413,137],{"href":138}," cover each type in depth.",[307,416,418],{"id":417},"what-can-be-added","What can be added",[262,420,421],{},"These additions sit inside a bar or around the bars:",[285,423,424,430,439,445,451,459,465],{},[288,425,426,429],{},[265,427,428],{},"Gifts."," A Single gift (a free product, or Free shipping) or a Multiple gifts selector where the shopper picks from up to 20 products. Up to 5 of each per bar, on every bar type except Alternative product and Mix & Match. A gift is free only while the cart still reaches the bar it belongs to. If the shopper lowers the quantity below that bar, the gift stays in the cart at full price.",[288,431,432,435,436,438],{},[265,433,434],{},"Progressive gifts."," Their own section, up to 20 gifts that unlock at Bar #N and higher, or at Bar #N only, so bigger bars unlock more. See ",[318,437,145],{"href":146},".",[288,440,441,444],{},[265,442,443],{},"Bar upsells."," Another product inside a Quantity break, Buy X, get Y or Product bundle bar, with its own price. Up to 5 per bar.",[288,446,447,450],{},[265,448,449],{},"Checkbox upsells."," Their own section, up to 5 add-on products shown below the bars, each with its own price and an optional quantity selector.",[288,452,453,456,457,438],{},[265,454,455],{},"Personalisation."," A text field per item, on every bar type except Mix & Match. It always carries a fee per item, above 0, charged as its own cart line and never discounted. See ",[318,458,149],{"href":150},[288,460,461,464],{},[265,462,463],{},"Quantity breaks for different products."," The section Volume discount with other products lets the shopper add other products from a picker, and the quantity then counts across them, as in \"any 3 from this collection\". Only items added through that picker count, and the page's product must stay in the cart.",[288,466,467,470,471,438],{},[265,468,469],{},"Subscriptions."," A one-time or subscribe choice, for products that already have selling plans from a subscription app. TreStack Bundles has no selling plans of its own. See ",[318,472,153],{"href":154},[307,474,476],{"id":475},"the-six-templates","The six templates",[262,478,479],{},"Create bundle deal opens Choose a discount type, with six templates in this order. Each is previewed with your own best-selling products in stock, and every one can be changed bar by bar afterwards.",[481,482,483,489,495,500,506,512],"ol",{},[288,484,485,488],{},[265,486,487],{},"Quantity breaks for the same product."," A Single bar at full price and a Duo bar, 2 items at 15 percent off, selected by default and badged Most popular.",[288,490,491,494],{},[265,492,493],{},"Buy X, get Y (BXGY) deal."," Buy 1, get 1 free; Buy 2, get 3 free; Buy 3, get 6 free. The third bar carries a text-only gift line, \"+ FREE special gift!\", with no product behind it: it adds nothing to the cart, so pick a gift product for it or delete it.",[288,496,497,499],{},[265,498,463],{}," A 1 pack bar and a 2 pack bar at 15 percent off, with Volume discount with other products on.",[288,501,502,505],{},[265,503,504],{},"Complete the bundle."," The page's product on its own, and a Product bundle bar.",[288,507,508,511],{},[265,509,510],{},"Subscription."," The Buy X, get Y template with Subscriptions on.",[288,513,514,516],{},[265,515,434],{}," 1, 2 and 3 pack bars at 15 percent off, with progressive gifts including free shipping.",[262,518,519],{},"Mix & Match and Alternative product have no template. Start from any template, delete the bars you do not need, and add them from the Add bar menu.",[307,521,523],{"id":522},"choosing-a-deal-type-in-four-steps","Choosing a deal type, in four steps.",[525,526,528,533,536,540,543,547,550,554],"steps",{"level":527},"3",[529,530,532],"h3",{"id":531},"start-from-the-goal","Start from the goal",[262,534,535],{},"More units of one product: quantity break or Buy X, get Y. Products sold together: product bundle or mix and match. A bigger pack: alternative product.",[529,537,539],{"id":538},"pick-the-closest-template","Pick the closest template",[262,541,542],{},"Choose a discount type lists six. The color row sets the starting colors, which you can change later.",[529,544,546],{"id":545},"add-or-change-bars","Add or change bars",[262,548,549],{},"Add bar adds any of the five types. Move up, Move down, Duplicate and Delete sit on each bar.",[529,551,553],{"id":552},"add-the-extras","Add the extras",[262,555,556],{},"Gifts, upsells and personalisation inside a bar; progressive gifts, checkbox upsells and subscriptions in their own sections.",[307,558,560],{"id":559},"settings-reference","Settings reference",[562,563,564,568,571,574,577,580,584,590],"field-group",{},[565,566,567],"field",{"name":355},"A quantity and a price type: Full price, Percentage off, Amount off per item, or Fixed price for the bar's total.",[565,569,570],{"name":366},"A Buy quantity and price, and a Get quantity and price, of the same product. The Get side is never full price.",[565,572,573],{"name":377},"Up to 20 products, the page's product included, each with its own quantity, discount, pre-selected variant and allowed variants. No single bundle price.",[565,575,576],{"name":388},"Up to 20 slots, each with up to 20 products the shopper can swap in. One discount or bundle price for the set. No gifts, bar upsells or personalisation.",[565,578,579],{"name":399},"Sells another product at its own price. No discount and no gifts.",[565,581,583],{"name":582},"Templates","Six, on Choose a discount type. Mix & Match and Alternative product are added as bars.",[565,585,587,588,438],{"name":586},"Deals per product","The widget shows one deal per product, but at checkout every published deal's discount runs. Keep one published deal per product. See ",[318,589,157],{"href":158},[565,591,593,594,438],{"name":592},"Combining with other discounts","No setting. Every deal's discount combines with product, order and shipping discounts. See ",[318,595,195],{"href":196},[307,597,599],{"id":598},"if-this-does-not-work","If this does not work",[262,601,602],{},"The failures most likely on this procedure, with the check that resolves each one.",[604,605,606,611,615,619],"accordion",{},[607,608,610],"accordion-item",{"label":609},"There is no template for mix and match","That is expected. Pick any template, then choose Add bar and Mix & Match in the Deal bars section, and delete the bars you do not need.",[607,612,614],{"label":613},"The alternative product bar shows no saving","By design. An Alternative product bar sells a different product at its own price and carries no discount. For a lower price on a bigger quantity, use a Quantity break bar instead.",[607,616,618],{"label":617},"A bar has no gift, upsell or personalisation option","Mix & Match bars take no gifts, bar upsells or personalisation, and Alternative product bars take no gifts or bar upsells. Progressive gifts and checkbox upsells, in their own sections, still work with every bar.",[607,620,622],{"label":621},"The price changed after the shopper edited the cart","By design. The discount follows the quantities in the cart, so a shopper who changes 3 items to 2 gets the 2-item price, and below the lowest discounted bar there is no discount.",{"title":624,"searchDepth":625,"depth":625,"links":626},"",2,[627,628,629,630,631,638,639],{"id":309,"depth":625,"text":310},{"id":323,"depth":625,"text":324},{"id":417,"depth":625,"text":418},{"id":475,"depth":625,"text":476},{"id":522,"depth":625,"text":523,"children":632},[633,635,636,637],{"id":531,"depth":634,"text":532},3,{"id":538,"depth":634,"text":539},{"id":545,"depth":634,"text":546},{"id":552,"depth":634,"text":553},{"id":559,"depth":625,"text":560},{"id":598,"depth":625,"text":599},"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.","md",null,{},true,{"title":120,"description":640},"NpxRILY4PhnGPX9FQfnp-aEuFLZ_v-jT6nHRP6Gsqxs",[648,650],{"title":116,"path":117,"stem":118,"description":649,"children":-1},"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.",{"title":124,"path":125,"stem":126,"description":651,"children":-1},"The deal editor and its sections, what Publish, Save and Save as draft do, the statuses in the deal list, and how duplicating and removing a deal work.",1791656486681]