[{"data":1,"prerenderedAt":457},["ShallowReactive",2],{"navigation_docs":3,"-timer-timer-types-email-timers":256,"-timer-timer-types-email-timers-surround":452},[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":48,"body":258,"description":445,"extension":446,"links":447,"meta":448,"navigation":449,"path":49,"seo":450,"stem":50,"__hash__":451},"docs\u002F1.timer\u002F2.timer-types\u002F4.email-timers.md",{"type":259,"value":260,"toc":429},"minimark",[261,276,306,311,314,317,321,324,327,331,334,337,341,374,378,406,410,413],[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],{},"Format:"," Animated GIF, plays once",[288,295,296,299],{},[265,297,298],{},"Recipient tracking:"," None",[288,301,302,305],{},[265,303,304],{},"Plan:"," Growth and above",[307,308,310],"h2",{"id":309},"how-it-works","How it works",[262,312,313],{},"Email apps do not run scripts, so an email timer is an animated GIF image. Each time the email is opened, the app draws 60 one second frames counting down from the time left at that moment, and the image plays once and stops on its last frame. Opening the email again shows the current time.",[262,315,316],{},"Images are drawn once a minute per timer and reused within that minute. Some email apps show only the first frame of an animated image. The first frame is the full timer at the moment of opening, so the time is still right, it just does not tick.",[307,318,320],{"id":319},"getting-the-snippet","Getting the snippet",[262,322,323],{},"An email timer has a Code tab where other timers have Placement. After you publish, the tab shows an HTML image snippet with a Copy button. Paste it into Shopify Email, Klaviyo, or any email tool that accepts HTML, in a custom HTML or code block. The snippet is one image tag whose address is timer.trestack.app\u002Femail\u002F followed by the timer ID.",[262,325,326],{},"The address holds only the timer ID. There are no cookies and no identifier per recipient, so the image cannot tell who opened the email.",[307,328,330],{"id":329},"after-the-deadline-and-after-you-are-done-with-it","After the deadline, and after you are done with it",[262,332,333],{},"At zero the image shows 00:00:00:00, or a message of yours, at the same size, so the layout of the email does not jump. Unpublishing shows an ended image too.",[262,335,336],{},"Deleting an email timer breaks the image in every email already sent with it, and the app warns you before it does. If a campaign is finished, unpublish the timer instead of deleting it.",[307,338,340],{"id":339},"adding-a-timer-to-an-email-in-four-steps","Adding a timer to an email, in four steps.",[342,343,345,350,353,357,360,364,367,371],"steps",{"level":344},"3",[346,347,349],"h3",{"id":348},"create-an-email-timer","Create an email timer",[262,351,352],{},"It always counts to a date, in your shop timezone.",[346,354,356],{"id":355},"design-and-preview","Design and preview",[262,358,359],{},"The editor preview is the real image, redrawn as you change the form.",[346,361,363],{"id":362},"publish-and-copy-the-snippet","Publish and copy the snippet",[262,365,366],{},"Code tab, Copy. Paste it into a custom HTML block in your email tool.",[346,368,370],{"id":369},"send-yourself-a-test","Send yourself a test",[262,372,373],{},"Open it on a phone and on a computer. Open it again a minute later and the time has moved.",[307,375,377],{"id":376},"settings-reference","Settings reference",[379,380,381,386,390,394,398,402],"field-group",{},[382,383,385],"field",{"name":384},"End date","Always a date and time, one day out by default, in your shop timezone.",[382,387,389],{"name":388},"Once it ends","Show 00:00:00:00, which is the default, or show a message. Both keep the image the same size.",[382,391,393],{"name":392},"Fonts","Chosen from the list of fonts the app draws email images with on its server.",[382,395,397],{"name":396},"Snippet","One HTML image tag, shown in the Code tab after publishing, with a Copy button.",[382,399,401],{"name":400},"Refresh","Drawn once a minute per timer. Every open inside that minute gets the same image.",[382,403,405],{"name":404},"Deleting","Breaks the image in emails already sent. Unpublish instead when a campaign ends.",[307,407,409],{"id":408},"if-this-does-not-work","If this does not work",[262,411,412],{},"The failures most likely on this procedure, with the check that resolves each one.",[414,415,416,421,425],"accordion",{},[417,418,420],"accordion-item",{"label":419},"The image is broken in an email","Either the timer was deleted, which cannot be undone for emails already sent, or the email tool changed the snippet when you pasted it. Paste it again into a custom HTML block rather than a text block.",[417,422,424],{"label":423},"The countdown does not move","Some email apps show only the first frame of an animated image. The time shown is still the time left when the email was opened. Test in a second email app to confirm.",[417,426,428],{"label":427},"The time shown looks a little behind","The image is redrawn once a minute, and some email apps keep their own copy of images for a while. Reopen the email a few minutes later to see a fresh one.",{"title":430,"searchDepth":431,"depth":431,"links":432},"",2,[433,434,435,436,443,444],{"id":309,"depth":431,"text":310},{"id":319,"depth":431,"text":320},{"id":329,"depth":431,"text":330},{"id":339,"depth":431,"text":340,"children":437},[438,440,441,442],{"id":348,"depth":439,"text":349},3,{"id":355,"depth":439,"text":356},{"id":362,"depth":439,"text":363},{"id":369,"depth":439,"text":370},{"id":376,"depth":431,"text":377},{"id":408,"depth":431,"text":409},"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.","md",null,{},true,{"title":48,"description":445},"AJ-STD1Oil56b6l3_7hNLWbRtxWS0JtLVMD4o8TFULI",[453,455],{"title":44,"path":45,"stem":46,"description":454,"children":-1},"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.",{"title":57,"path":58,"stem":59,"description":456,"children":-1},"What the storefront code weighs, what it loads and from where, one measurement on one theme, and how to measure your own store so the numbers compare.",1791656485092]