[{"data":1,"prerenderedAt":470},["ShallowReactive",2],{"navigation_docs":3,"-timer-start-installing-a-trestack-app":256,"-timer-start-installing-a-trestack-app-surround":465},[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":18,"body":258,"description":458,"extension":459,"links":460,"meta":461,"navigation":462,"path":19,"seo":463,"stem":20,"__hash__":464},"docs\u002F1.timer\u002F1.start\u002F1.installing-a-trestack-app.md",{"type":259,"value":260,"toc":441},"minimark",[261,276,306,311,314,318,321,324,328,331,340,344,347,350,354,387,391,415,419,422],[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],{},"Extension type:"," Theme app extension",[288,295,296,299],{},[265,297,298],{},"Access scopes:"," Four, listed on this page",[288,301,302,305],{},[265,303,304],{},"Theme files changed:"," None",[307,308,310],"h2",{"id":309},"where-to-install-it","Where to install it",[262,312,313],{},"TreStack Timer is listed on the Shopify App Store at apps.shopify.com\u002Ftrestack-timer. Install it from there, logged into the store you want it on. There is no other install route.",[307,315,317],{"id":316},"what-an-install-changes","What an install changes",[262,319,320],{},"TreStack Timer is a Shopify theme app extension. Installing it registers the app and its extension on your store. It does not open your theme files, it does not add a snippet to your layout, and it does not register a script tag. The app never asks you to paste code into your theme.",[262,322,323],{},"Until you publish a timer and turn on the app embed, the storefront renders exactly as it did before. Even with the embed on, the embed prints nothing at all, not even its script, while no timer is published. That makes an install safe on a live theme.",[307,325,327],{"id":326},"the-four-access-scopes-and-why-each-one-is-there","The four access scopes, and why each one is there",[262,329,330],{},"read_products lets the app list your products and collections, so you can choose which ones a timer shows on. read_themes lets it check whether the app embed is turned on in your live theme, which is what the status on the app Home reads. write_files lets it upload a timer background image to your own store Files. read_locales lets it read your store languages, so you can write timer text for each one.",[262,332,333,334,339],{},"That is the whole list. The app has no access to orders, customers, or payments. If the permission screen shows anything beyond these four, stop and write to ",[335,336,338],"a",{"href":337},"mailto:support@trestack.app","support@trestack.app"," before accepting it.",[307,341,343],{"id":342},"where-things-live-afterwards","Where things live afterwards",[262,345,346],{},"Almost everything happens inside the app in your Shopify admin: the Home page with a setup guide, the list of timers, the editor with its live preview, analytics, and plans. The setup guide works its steps out from the real state of your store, such as whether the embed is on and whether a timer is published, so it never asks you to tick a box by hand.",[262,348,349],{},"The theme editor holds two things only: the app embed switch, and the app block for timers you want in a custom position. Live chat with the people who build the app sits inside the app admin.",[307,351,353],{"id":352},"installing-in-four-steps","Installing, in four steps.",[355,356,358,363,366,370,373,377,380,384],"steps",{"level":357},"3",[359,360,362],"h3",{"id":361},"open-the-listing","Open the listing",[262,364,365],{},"Open apps.shopify.com\u002Ftrestack-timer and choose Install. Check you are logged into the store you mean to install on.",[359,367,369],{"id":368},"read-the-scopes","Read the scopes",[262,371,372],{},"Four of them, all listed above. An install needs a staff account that is allowed to install apps.",[359,374,376],{"id":375},"install-and-open-the-app","Install and open the app",[262,378,379],{},"The app opens on its Home page. The storefront is unchanged at this point, because nothing is published.",[359,381,383],{"id":382},"turn-on-the-app-embed","Turn on the app embed",[262,385,386],{},"Use the button on the app Home, which opens the theme editor at the right switch. Save the theme.",[307,388,390],{"id":389},"settings-reference","Settings reference",[392,393,394,399,403,407,411],"field-group",{},[395,396,398],"field",{"name":397},"Access scopes","read_products, read_themes, write_files, and read_locales. No orders, customers, or payments.",[395,400,402],{"name":401},"Theme files touched","None, at install or at any point afterwards. The app embed and the app block are theme editor settings, not code.",[395,404,406],{"name":405},"Starting plan","Free: 1,000 timer views a month, with product page timers and a top or bottom bar. Nothing is charged on Free.",[395,408,410],{"name":409},"Trial","7 days on the first paid subscription a store takes. It starts when you approve a paid plan, not at install.",[395,412,414],{"name":413},"Setup guide","Worked out from the real state of your store. Dismissing it is the only thing about it the app stores.",[307,416,418],{"id":417},"if-this-does-not-work","If this does not work",[262,420,421],{},"The failures most likely on this procedure, with the check that resolves each one.",[423,424,425,430,434],"accordion",{},[426,427,429],"accordion-item",{"label":428},"The app still says the app embed is off","The status reads your live theme, the one customers see. If you turned the embed on in a draft or a copy, the live theme still has it off. Turn it on in the live theme and save, then reload the app Home. The app also checks again whenever a theme is published.",[426,431,433],{"label":432},"The install was blocked by a staff permission","Installing an app needs a staff account that is allowed to install apps. Ask the store owner to grant that permission or to run the install. Everything after the install, including the app embed, can be done by staff with access to the app and the theme editor.",[426,435,437,438,440],{"label":436},"The permission screen lists a scope that is not one of the four","Do not accept it. Write to ",[335,439,338],{"href":337}," with a screenshot of the screen. The app requests four scopes and no more, so anything else is something we need to know about.",{"title":442,"searchDepth":443,"depth":443,"links":444},"",2,[445,446,447,448,449,456,457],{"id":309,"depth":443,"text":310},{"id":316,"depth":443,"text":317},{"id":326,"depth":443,"text":327},{"id":342,"depth":443,"text":343},{"id":352,"depth":443,"text":353,"children":450},[451,453,454,455],{"id":361,"depth":452,"text":362},3,{"id":368,"depth":452,"text":369},{"id":375,"depth":452,"text":376},{"id":382,"depth":452,"text":383},{"id":389,"depth":443,"text":390},{"id":417,"depth":443,"text":418},"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.","md",null,{},true,{"title":18,"description":458},"DxG_kwUQEjKOWDoAoNVFvmp7zeJARbf6jAYWbkC7JJU",[466,468],{"title":10,"path":6,"stem":11,"description":467,"children":-1},"Install steps, settings, and troubleshooting for TreStack Timer, the countdown timer app for Shopify.",{"title":22,"path":23,"stem":24,"description":469,"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.",1791656484110]