[{"data":1,"prerenderedAt":563},["ShallowReactive",2],{"navigation_docs":3,"-bundles-measure-ab-tests":256,"-bundles-measure-ab-tests-surround":558},[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":212,"body":258,"description":551,"extension":552,"links":553,"meta":554,"navigation":555,"path":213,"seo":556,"stem":214,"__hash__":557},"docs\u002F2.bundles\u002F5.measure\u002F3.ab-tests.md",{"type":259,"value":260,"toc":534},"minimark",[261,276,306,311,326,329,339,342,348,354,358,366,369,373,376,382,393,396,400,414,421,427,431,464,468,507,511,514],[262,263,264,268,269,272,275],"p",{},[265,266,267],"strong",{},"Applies to:"," TreStack Bundles, every plan",[270,271],"br",{},[265,273,274],{},"Updated:"," 11 October 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],{},"Variants:"," Two to four, A to D, one open test per deal",[288,295,296,299],{},[265,297,298],{},"Winner shown after:"," 200 visitors and 10 orders per variant, and 72 hours",[288,301,302,305],{},[265,303,304],{},"Price charged:"," The variant the shopper saw",[307,308,310],"h2",{"id":309},"setting-up-a-test","Setting up a test",[262,312,313,314,317,318,321,322,325],{},"There are two ways to start. ",[265,315,316],{},"Setup A\u002FB test",", in a deal's menu in the deal list or above the preview in the editor, gives you a second variant to change by hand. ",[265,319,320],{},"Smart A\u002FB test"," builds the second variant around one change you pick from suggestions and starts the test at once; see ",[323,324,216],"a",{"href":217},".",[262,327,328],{},"With Setup A\u002FB test, variant A is your deal and variant B starts as a copy of it. Where A still has the default texts and colors, B gets the title \"BUY MORE - SAVE MORE\", the bar titles \"Buy 1\", \"Buy 2\" and \"Buy 3\", and a blue background and border, so the two look different from the start. \"Add variant\" adds C and D, up to four in all. The variant buttons above the preview switch which variant you are editing, and a variant other than A can be deleted while the test has more than two.",[262,330,331,334,335,338],{},[265,332,333],{},"Shared across variants",", edited on A only: the deal's name, its products and visibility (selected and excluded products and collections), the market and excluded markets, the currency, Exclude B2B customers, Apply discount only via bundle widget, the active dates, and the shop-wide custom CSS. ",[265,336,337],{},"Everything else can differ",", including bars, discounts, gifts, upsells, design, texts, badges and the timer.",[262,340,341],{},"If a variant differs from A only in the collections of \"Volume discount with other products\", the editor warns you: checkout gives every variant the same discount there, so that test changes nothing at checkout.",[262,343,344,347],{},[265,345,346],{},"The split."," Settings opens \"A\u002FB test settings\". \"Even allocation\" splits traffic equally across all variants. \"Custom allocation\" sets the \"Traffic sent into variants\" other than A, from 5 to 95 percent in steps of 5 (with buttons for 10, 25, 50 and 95 percent); A gets the rest, and the other variants share the custom part equally. For example, a custom 50 percent with three variants gives A 50 percent, B 25 percent and C 25 percent. \"Save settings\" keeps it. As the modal says, changing the split moves some visitors to another variant.",[262,349,350,353],{},[265,351,352],{},"Starting."," The test starts when the deal is published with its variants: Publish, or Save on a deal that is already live. Until then it waits. A deal has one open test at a time, and there is no limit on tests across the store.",[307,355,357],{"id":356},"what-shoppers-see-and-pay","What shoppers see and pay",[262,359,360,361,365],{},"When a shopper's browser first reaches a deal with a running test, the widget gives that browser a random id, ",[362,363,364],"code",{},"bndl_sid",", kept in the browser's local storage. The id decides the variant, so the same browser keeps seeing the same variant on later visits, and one id serves every test in your store. Another device or browser, a private window, or cleared site data can land on a different variant. The id never leaves the browser and the app sets no cookies.",[262,367,368],{},"Each variant has its own prices: a shopper pays the price of the variant they saw, at checkout too. Two shoppers can see different prices for the same deal while a test runs.",[307,370,372],{"id":371},"reading-the-results-and-the-winner-rule","Reading the results and the winner rule",[262,374,375],{},"A deal with a running test shows an A\u002FB badge in the deal list. Expand it for a row per variant: how long the test has run (for example \"3d 4h\"), the columns you chose for the list, counted from the day the test started, a preview of the variant, and Set winner.",[262,377,378,379,381],{},"Variants are compared on conversion rate: orders with an item added through the deal, divided by visitors, counted as in ",[323,380,204],{"href":205},". The best variant is tested against the second best with a two-sided test of two proportions. A \"Significant winner\" badge shows only when all of these hold:",[285,383,384,387,390],{},[288,385,386],{},"every variant has at least 200 visitors and at least 10 orders,",[288,388,389],{},"the test has run at least 72 hours,",[288,391,392],{},"the difference is significant at 95 percent with two variants. With three or four variants the bar is stricter: the 5 percent margin is split, to 2.5 percent with three variants and about 1.7 percent with four.",[262,394,395],{},"Hover the badge for how much higher the winner's conversion rate is. Until the badge shows, treat the numbers as a running count, not an answer. The test never stops on its own and never picks a winner for you.",[307,397,399],{"id":398},"ending-a-test","Ending a test",[285,401,402,408],{},[288,403,404,407],{},[265,405,406],{},"Set winner",", on a variant's row: \"Choose the winning variant\" sends 100 percent of traffic to that variant and archives the rest. Confirm to apply.",[288,409,410,413],{},[265,411,412],{},"Stop A\u002FB test",", in the deal's menu: \"End A\u002FB test\" lists every variant with its numbers. Choose any one to keep, significant or not.",[262,415,416,417,420],{},"Either way, the chosen variant becomes the deal, with A's shared settings, and a live deal updates on the storefront. The test moves to the ",[265,418,419],{},"A\u002FB test archive",", a view of the deal list, with its period, its numbers per variant and a \"Winner\" badge on the one you kept. A test that never started is dropped rather than archived. Removing a deal also closes its open test.",[262,422,423,426],{},[265,424,425],{},"Start over",", in the archive, runs the same variants again as a new test on the same deal. The deal must still exist and have no open test. Its settings go back to the archived variant A, keeping its current shared settings such as products and dates, and on a live deal the test starts at once.",[307,428,430],{"id":429},"running-a-test-in-four-steps","Running a test, in four steps.",[432,433,435,440,443,447,450,454,457,461],"steps",{"level":434},"3",[436,437,439],"h3",{"id":438},"set-up-the-variants","Set up the variants",[262,441,442],{},"Choose Setup A\u002FB test and change one thing in B, such as the discount on one bar or the title, so the result tells you what made the difference.",[436,444,446],{"id":445},"choose-the-split-and-publish","Choose the split and publish",[262,448,449],{},"Keep the even split unless you want to limit how many shoppers see the new version. Publish, or Save a deal that is already live, to start the test.",[436,451,453],{"id":452},"wait-for-the-thresholds","Wait for the thresholds",[262,455,456],{},"At least 200 visitors and 10 orders per variant, and 72 hours, before a winner can show. On a quiet product that takes longer.",[436,458,460],{"id":459},"keep-one-variant","Keep one variant",[262,462,463],{},"Set winner on a significant result, or Stop A\u002FB test and choose any variant. The test and its numbers stay in the A\u002FB test archive.",[307,465,467],{"id":466},"settings-reference","Settings reference",[469,470,471,476,480,484,488,494,498,501,504],"field-group",{},[472,473,475],"field",{"name":474},"Variants","Two to four, A to D. A is the deal. One open test per deal.",[472,477,479],{"name":478},"Shared settings","Name, products and visibility, markets, currency, Exclude B2B customers, Apply discount only via bundle widget, active dates, shop-wide custom CSS. Edited on A.",[472,481,483],{"name":482},"Traffic allocation","Even allocation, or Custom allocation: 5 to 95 percent to the variants other than A, in steps of 5.",[472,485,487],{"name":486},"Start","When the deal is published with its variants.",[472,489,491,493],{"name":490},"Shopper id",[362,492,364],{}," in the browser's local storage. Picks the variant, never sent to our servers.",[472,495,497],{"name":496},"Significant winner","Best against second best on conversion rate, 95 percent with two variants and stricter with three or four, after 200 visitors and 10 orders per variant and 72 hours.",[472,499,500],{"name":406},"Sends all traffic to that variant and archives the others.",[472,502,503],{"name":412},"Lets you choose any variant to keep, then archives the test.",[472,505,506],{"name":419},"Ended tests with their numbers and the variant kept. Start over runs one again.",[307,508,510],{"id":509},"if-this-does-not-work","If this does not work",[262,512,513],{},"The failures most likely with a test, with the check that resolves each one.",[515,516,517,522,526,530],"accordion",{},[518,519,521],"accordion-item",{"label":520},"No winner shows after several days","Every variant needs 200 visitors and 10 orders as well as 72 hours, and the difference has to hold up in the test. Only shoppers who allow analytics count as visitors. A small difference may never become significant; you can still stop the test and keep any variant.",[518,523,525],{"label":524},"Two people see different prices for the same deal","That is the test working. Each browser is given one variant and pays its price at checkout.",[518,527,529],{"label":528},"Some shoppers switched variant during the test","Changing the split moves some visitors to another variant. A shopper on a new device, in a private window, or after clearing site data can also land on another variant.",[518,531,533],{"label":532},"Setup A\u002FB test is missing from a deal's menu","The deal already has an open test, running or saved and not started. End it with Stop A\u002FB test first.",{"title":535,"searchDepth":536,"depth":536,"links":537},"",2,[538,539,540,541,542,549,550],{"id":309,"depth":536,"text":310},{"id":356,"depth":536,"text":357},{"id":371,"depth":536,"text":372},{"id":398,"depth":536,"text":399},{"id":429,"depth":536,"text":430,"children":543},[544,546,547,548],{"id":438,"depth":545,"text":439},3,{"id":445,"depth":545,"text":446},{"id":452,"depth":545,"text":453},{"id":459,"depth":545,"text":460},{"id":466,"depth":536,"text":467},{"id":509,"depth":536,"text":510},"Test two to four versions of a deal against each other: what the variants share, how shoppers are split, how a winner is decided, and how to end a test and keep the version you choose.","md",null,{},true,{"title":212,"description":551},"jfsJbIYCpWqx4qFcnL6nYsPIPGdAuDv6pjcFAeQnZg4",[559,561],{"title":208,"path":209,"stem":210,"description":560,"children":-1},"The one number Bundles uses both to show what your deals earned and to decide which plan covers your store: how it is counted, what billing leaves out, and worked examples.",{"title":216,"path":217,"stem":218,"description":562,"children":-1},"A quick A\u002FB test that copies your live deal and changes one thing, picked from suggestions built from the deal's own settings: what it can test, where it is offered, and what it publishes.",1791656489016]