[{"data":1,"prerenderedAt":454},["ShallowReactive",2],{"navigation_docs":3,"-timer-start-placing-your-first-app-block":256,"-timer-start-placing-your-first-app-block-surround":449},[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":22,"body":258,"description":442,"extension":443,"links":444,"meta":445,"navigation":446,"path":23,"seo":447,"stem":24,"__hash__":448},"docs\u002F1.timer\u002F1.start\u002F2.placing-your-first-app-block.md",{"type":259,"value":260,"toc":426},"minimark",[261,276,306,311,314,317,321,324,328,331,334,338,371,375,403,407,410],[262,263,264,268,269,272,275],"p",{},[265,266,267],"strong",{},"Applies to:"," TreStack Timer, every plan",[270,271],"br",{},[265,273,274],{},"Updated:"," 26 September 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],{},"Required:"," App embed on",[288,295,296,299],{},[265,297,298],{},"Custom position:"," App block plus Timer ID",[288,301,302,305],{},[265,303,304],{},"Code to paste in the theme:"," None",[307,308,310],"h2",{"id":309},"two-theme-editor-pieces-and-only-one-is-required","Two theme editor pieces, and only one is required",[262,312,313],{},"The app embed is a switch under App embeds in the theme editor, listed as Countdown Timer. It loads your published timers onto the storefront, so no timer shows anywhere until it is on. It is the only thing you have to turn on.",[262,315,316],{},"The app block, listed as Countdown timer in the Add block menu, is optional. You only need it for a timer set to Custom position, or when you want a timer somewhere other than its automatic spot. Automatic spots are fixed per timer type: below the Add to cart button for a product timer, across the top or bottom of the page for a bar, at the top of the page content for a landing timer, and at the top of the cart page and cart drawer for a cart timer.",[307,318,320],{"id":319},"turning-on-the-app-embed","Turning on the app embed",[262,322,323],{},"The app Home shows whether the embed is on in your live theme, with a button that opens the theme editor at App embeds with ours selected. Turn it on and save the theme. There is nothing to configure on it for most stores. Its one setting, a cart drawer selector, is only for a theme whose cart drawer the cart timer does not find on its own.",[307,325,327],{"id":326},"placing-a-timer-with-the-app-block","Placing a timer with the app block",[262,329,330],{},"In the timer Placement tab, choose Custom position, then save or publish. The tab then shows the Timer ID and an Add app block button. The button opens the theme editor on the right page type, a product page for a product timer, a collection page for a landing timer, the home page for a bar, and the cart for a cart timer, with the block being added. Paste the Timer ID into the block, move the block where you want it, and save.",[262,332,333],{},"A block can also hold a timer that keeps an automatic placement. It then shows only on pages that match the placement, and the timer is skipped at its automatic spot on that page, so it never shows twice. In the theme editor an empty block shows a short hint explaining why. Only you see it.",[307,335,337],{"id":336},"getting-a-timer-on-the-page-in-four-steps","Getting a timer on the page, in four steps.",[339,340,342,347,350,354,357,361,364,368],"steps",{"level":341},"3",[343,344,346],"h3",{"id":345},"turn-on-the-app-embed","Turn on the app embed",[262,348,349],{},"From the button on the app Home. Save the theme. This is required for every timer type except email.",[343,351,353],{"id":352},"create-and-publish-a-timer","Create and publish a timer",[262,355,356],{},"In the app. A timer in an automatic placement is on the storefront once it is published and running.",[343,358,360],{"id":359},"for-a-custom-position-add-the-block","For a custom position, add the block",[262,362,363],{},"Placement tab, Add app block. Paste the Timer ID into the block and save the theme.",[343,365,367],{"id":366},"check-the-live-page","Check the live page",[262,369,370],{},"Open it in a normal browser window and on a phone, not only in the theme editor preview.",[307,372,374],{"id":373},"settings-reference","Settings reference",[376,377,378,383,387,391,395,399],"field-group",{},[379,380,382],"field",{"name":381},"App embed","On for any storefront timer to show. With it off, no timer shows and nothing else on the page changes.",[379,384,386],{"name":385},"Cart drawer selector","Optional, on the app embed. Only for a theme whose cart drawer the cart timer does not find, for example #my-cart-drawer.",[379,388,390],{"name":389},"Timer ID","Shown in the timer Placement tab after the first save, with a copy button. It is what the app block needs.",[379,392,394],{"name":393},"Custom position","A placement option for product, bar, landing, and cart timers. The timer shows only where a block holds its Timer ID.",[379,396,398],{"name":397},"Block with an automatic placement","Shows only on pages that match the timer placement. The automatic spot is skipped on those pages.",[379,400,402],{"name":401},"Theme editor hint","An empty block explains itself in the theme editor. Shoppers never see the hint.",[307,404,406],{"id":405},"if-this-does-not-work","If this does not work",[262,408,409],{},"The failures most likely on this procedure, with the check that resolves each one.",[411,412,413,418,422],"accordion",{},[414,415,417],"accordion-item",{"label":416},"The block asks you to paste a Timer ID","The block is empty. Copy the Timer ID from the timer Placement tab in the app, paste it into the block setting, and save the theme.",[414,419,421],{"label":420},"The block says there is nothing to show yet","One of three things: the timer is not published, it is not running right now because of a scheduled start, a recurring window, or an ended countdown, or the app embed is off. The hint is only visible to you.",[414,423,425],{"label":424},"The Add block menu does not list the block","The section you have open does not accept app blocks, which is common on older themes. Use the Add app block button in the app instead, which asks Shopify to add the block in a new apps section on the right page.",{"title":427,"searchDepth":428,"depth":428,"links":429},"",2,[430,431,432,433,440,441],{"id":309,"depth":428,"text":310},{"id":319,"depth":428,"text":320},{"id":326,"depth":428,"text":327},{"id":336,"depth":428,"text":337,"children":434},[435,437,438,439],{"id":345,"depth":436,"text":346},3,{"id":352,"depth":436,"text":353},{"id":359,"depth":436,"text":360},{"id":366,"depth":436,"text":367},{"id":373,"depth":428,"text":374},{"id":405,"depth":428,"text":406},"The app embed shows every timer in its automatic position. The app block is only for a custom position. The app opens the theme editor at the right place for both.","md",null,{},true,{"title":22,"description":442},"AlP1YVrHt7N4fI-Z4kWJs6yg7-cg2R5t0nNwz3m3I5Q",[450,452],{"title":18,"path":19,"stem":20,"description":451,"children":-1},"What the Shopify permission screen will ask for and why, what an install changes on your store, and the one switch you turn on afterwards.",{"title":26,"path":27,"stem":28,"description":453,"children":-1},"Design in the editor preview, test on a duplicate theme or a development store, and know which parts of the setup travel between themes and which do not.",1791656484632]