[{"data":1,"prerenderedAt":442},["ShallowReactive",2],{"navigation_docs":3,"-timer-start-development-stores-and-theme-previews":256,"-timer-start-development-stores-and-theme-previews-surround":437},[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":26,"body":258,"description":430,"extension":431,"links":432,"meta":433,"navigation":434,"path":27,"seo":435,"stem":28,"__hash__":436},"docs\u002F1.timer\u002F1.start\u002F3.development-stores-and-theme-previews.md",{"type":259,"value":260,"toc":414},"minimark",[261,276,306,311,314,318,321,324,328,331,335,368,372,395,399,402],[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],{},"Best for design:"," Editor live preview",[288,295,296,299],{},[265,297,298],{},"Best for placement:"," Duplicate theme",[288,301,302,305],{},[265,303,304],{},"Development stores:"," Test mode, never charged",[307,308,310],"h2",{"id":309},"most-of-the-work-needs-no-storefront-at-all","Most of the work needs no storefront at all",[262,312,313],{},"The editor live preview uses the same rendering code as the storefront, so what you see while you design is what shoppers get. It also acts out what happens at zero: a timer set to hide shows dimmed and marked as hidden for the buyer rather than vanishing from your screen. Get the design and the end behaviour right there before you publish anything.",[307,315,317],{"id":316},"working-on-a-duplicate-theme","Working on a duplicate theme",[262,319,320],{},"The app embed and the app block are theme settings, so each theme has its own. A published timer shows on every theme where the embed is on, including your live theme. If your live theme already has the embed on, a timer you publish is in front of shoppers straight away.",[262,322,323],{},"To try a timer out of sight, duplicate your live theme, turn the embed on in the copy only, publish the timer, and use the theme preview link to look at it. The app Home will still say the embed is off, because its status reads your live theme. That is expected while you work on a copy.",[307,325,327],{"id":326},"development-stores","Development stores",[262,329,330],{},"On a Shopify Partner development store, the app bills in test mode, so a development store is never charged. That makes it the place to try the paid timer types, the cart and email timers included, before you decide on a plan for a real store.",[307,332,334],{"id":333},"testing-safely-in-four-steps","Testing safely, in four steps.",[336,337,339,344,347,351,354,358,361,365],"steps",{"level":338},"3",[340,341,343],"h3",{"id":342},"design-in-the-editor-preview","Design in the editor preview",[262,345,346],{},"Content, design, and the end state, all before publishing. The preview uses the storefront code.",[340,348,350],{"id":349},"duplicate-the-live-theme","Duplicate the live theme",[262,352,353],{},"Online Store, Themes, Duplicate. Turn the app embed on in the copy and save it.",[340,355,357],{"id":356},"publish-and-preview","Publish and preview",[262,359,360],{},"With the embed off on the live theme, shoppers do not see the timer. Open the preview on a phone as well.",[340,362,364],{"id":363},"go-live","Go live",[262,366,367],{},"Publish the copy as your theme, or turn the embed on in the live theme. Then check the app Home status.",[307,369,371],{"id":370},"settings-reference","Settings reference",[373,374,375,380,384,388,392],"field-group",{},[376,377,379],"field",{"name":378},"Editor preview","Same rendering code as the storefront. A timer set to hide at zero is shown dimmed and marked hidden for the buyer.",[376,381,383],{"name":382},"App embed scope","Per theme. Turning it on in a copy does not turn it on in the live theme.",[376,385,387],{"name":386},"App block scope","Per theme. Blocks placed on a copy are not on the live theme until the copy is published.",[376,389,391],{"name":390},"Embed status in the app","Reads the live theme only. A draft or a copy with the embed on still reads as off.",[376,393,394],{"name":327},"Billed in test mode, so never charged, on every plan.",[307,396,398],{"id":397},"if-this-does-not-work","If this does not work",[262,400,401],{},"The failures most likely on this procedure, with the check that resolves each one.",[403,404,405,410],"accordion",{},[406,407,409],"accordion-item",{"label":408},"The theme preview shows no timer","Check that the app embed is on in the copy you are previewing, that the timer is published, and that it is running now. A scheduled start in the future or a recurring window that has not opened yet both hide it.",[406,411,413],{"label":412},"Shoppers saw the timer before you were ready","The embed was already on in the live theme, so publishing put it live. Unpublish the timer in the app, which takes it off the storefront, and use a copy of the theme for the next test.",{"title":415,"searchDepth":416,"depth":416,"links":417},"",2,[418,419,420,421,428,429],{"id":309,"depth":416,"text":310},{"id":316,"depth":416,"text":317},{"id":326,"depth":416,"text":327},{"id":333,"depth":416,"text":334,"children":422},[423,425,426,427],{"id":342,"depth":424,"text":343},3,{"id":349,"depth":424,"text":350},{"id":356,"depth":424,"text":357},{"id":363,"depth":424,"text":364},{"id":370,"depth":416,"text":371},{"id":397,"depth":416,"text":398},"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.","md",null,{},true,{"title":26,"description":430},"4v2Fqy4byFf5xkGoZOWz6n7WeTp6mzUZI6NSGtPF3Os",[438,440],{"title":22,"path":23,"stem":24,"description":439,"children":-1},"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.",{"title":36,"path":37,"stem":38,"description":441,"children":-1},"The five timer types, the countdown modes, what each timer does once it ends, and the design controls, with the default the app ships for each.",1791656484681]