[{"data":1,"prerenderedAt":454},["ShallowReactive",2],{"navigation_docs":3,"-timer-timer-types-cart-timers":256,"-timer-timer-types-cart-timers-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":44,"body":258,"description":442,"extension":443,"links":444,"meta":445,"navigation":446,"path":45,"seo":447,"stem":46,"__hash__":448},"docs\u002F1.timer\u002F2.timer-types\u002F3.cart-timers.md",{"type":259,"value":260,"toc":426},"minimark",[261,276,306,311,314,317,321,324,327,331,334,338,371,375,403,407,410],[262,263,264,268,269,272,275],"p",{},[265,266,267],"strong",{},"Applies to:"," TreStack Timer, Growth and Professional",[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],{},"Mode:"," Fixed minutes per visitor",[288,295,296,299],{},[265,297,298],{},"Shows:"," Only while the cart has items",[288,301,302,305],{},[265,303,304],{},"Where:"," Cart page and cart drawer",[307,308,310],"h2",{"id":309},"what-a-cart-timer-does","What a cart timer does",[262,312,313],{},"A cart timer is always a fixed minutes countdown, 15 minutes by default, kept per visitor in their browser. It shows only while the cart holds products from your store, on the cart page and in the cart drawer of your theme. Products that other stores sell through yours do not count. When the cart empties, the countdown is forgotten, so the next time that shopper fills the cart it starts again.",[262,315,316],{},"The title carries the clock. Put {timer} where the countdown should appear. The default title already ends with it. The title accepts a small set of formatting tags, such as bold, italic, and underline. Anything else is removed, both when you save and on the storefront.",[307,318,320],{"id":319},"the-cart-drawer","The cart drawer",[262,322,323],{},"Themes build their cart drawers differently, so the app looks for the drawer in a general way rather than per theme. It listens for Shopify's standard cart event, watches the cart requests your theme makes, and puts the timer back when the theme redraws the drawer after an item is added or removed.",[262,325,326],{},"If the timer shows on the cart page but not in the drawer, your theme drawer is one the general search does not recognise. The app embed has a Cart drawer selector setting for exactly this: enter the CSS selector of your drawer element, for example #my-cart-drawer. If you do not know the selector, write to us with the store URL and we will find it.",[307,328,330],{"id":329},"when-it-runs-out","When it runs out",[262,332,333],{},"Hide removes the timer for that buyer and is the default. Repeat starts the countdown again. Delete all the items in the cart removes your products from a real shopper's cart, leaving products other stores sell through yours, so choose it only when the timer stands for something true, such as stock you genuinely hold for a limited time.",[307,335,337],{"id":336},"setting-up-a-cart-timer-in-four-steps","Setting up a cart timer, in four steps.",[339,340,342,347,350,354,357,361,364,368],"steps",{"level":341},"3",[343,344,346],"h3",{"id":345},"create-a-cart-timer","Create a cart timer",[262,348,349],{},"It is always fixed minutes. Set the minutes the countdown should run.",[343,351,353],{"id":352},"write-the-title","Write the title",[262,355,356],{},"Put {timer} where the clock goes. Keep it to one line so it fits a narrow drawer.",[343,358,360],{"id":359},"choose-what-happens-at-zero","Choose what happens at zero",[262,362,363],{},"Hide for the buyer, repeat, or delete all the items in the cart.",[343,365,367],{"id":366},"test-with-a-real-cart","Test with a real cart",[262,369,370],{},"Add an item, open the drawer, then load the cart page. Remove the item and check the timer goes.",[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},"Minutes","15 by default. Counted per visitor, from the moment they first see the timer with items in the cart.",[379,384,386],{"name":385},"Title","Holds the clock at {timer}. Bold, italic, underline, and a few other formatting tags are kept.",[379,388,390],{"name":389},"Once it ends","Hide the timer for the buyer, which is the default, repeat the countdown, or delete all the items in the cart.",[379,392,394],{"name":393},"Placement","At the top of the cart, which covers the cart page and the drawer, or custom position with the app block.",[379,396,398],{"name":397},"Cart drawer selector","On the app embed in the theme editor. Only needed when the drawer is not found on its own.",[379,400,402],{"name":401},"Plan","Growth or Professional to publish. Any plan can build and preview one.",[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 timer is on the cart page but not in the drawer","Set the Cart drawer selector on the app embed to your drawer element and save the theme. If you cannot find the selector, send us the store URL.",[414,419,421],{"label":420},"The timer does not show at all","Check the cart has items first, since an empty cart shows no timer by design. Then check the app embed is on and the timer is published.",[414,423,425],{"label":424},"The countdown started again for a shopper","Either the cart was emptied, which resets it, or the timer is set to repeat, or the shopper is on another browser or device. Each of these starts a new countdown by design.",{"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":329,"depth":428,"text":330},{"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},"A per visitor countdown on the cart page and in your theme cart drawer, shown only while the cart has items, with a title that holds the clock where you put it.","md",null,{},true,{"title":44,"description":442},"RAFno5wH5AlC9d4hVo3rPDI_q8qMzmV12TX0uA6b9fc",[450,452],{"title":40,"path":41,"stem":42,"description":451,"children":-1},"Where each timer type can show, how to exclude pages, which timer wins when two match, and how country targeting and translations work from Growth.",{"title":48,"path":49,"stem":50,"description":453,"children":-1},"A countdown image for marketing emails, drawn when the email is opened. How to get the snippet, what it shows after the deadline, and why you unpublish rather than delete.",1791656485036]