Juo Build-a-box is a dedicated page where customers can select their favorite
products, claim discounts for reaching purchasing milestones, and more.
This guide explains how to set up the Build-a-box feature using the Shopify
2.0 theme editor. If you are using an older theme, please contact us for
custom implementation support.
This is a virtual product to act as a container for the physical products customers will add to their boxes. Uncheck Track quantity and This product requires shipping.Note: This product must be different from any of the products actually available to purchase in the box.Save the product and change its theme template to the newly created box template.
Enhance your Build-a-box feature by setting up a quantity discount that increases as customers add more items to their box.Determine the appropriate number of tiers and minimum thresholds based on typical customer behavior. Adjust these tiers over time to optimize customer engagement and Average Order Value (AOV).
Select products from your inventory that customers can add to their boxes. You can add as many as you want. Next, add these products to a new collection. It will be needed later.
If you’d like the box to always include specific free products, make sure to add them under Free products. They can work as an additional incentive to purchase the box.
Enable subscription options for the Build-a-box feature:Go to Offers > Subscribe and Save and click on Add new or edit an existing one. Add all the products available in the box and press Save.Note: You can use products belonging to multiple subscription plans, but Build-a-box will only display delivery frequencies that are common for all products. It means that all products need to have at least one delivery frequency in common for the box subscription to work.
Go back to the newly created template in your Online Store and customize it to display your box builder.
Remove or hide all Product Information blocks (Variant picker, Price, etc.)
In their place add the Juo Build-a-box block and click on it.
Scroll down to the Products section. Here, add the collection that you created in step 5. Build-a-box products will be displayed in the same order as in the collection.
You can add an extra step to build-a-box experience, where your customers can pick one-time products to complement their box subscription.In the Juo Build-a-box block settings, select Additional step (Addons) option. Specify Title, Description, and pick the collection to be displayed in the additional step.After enabling, a Next button will show up for the customers before they can go to the checkout.Once done, your template should now properly display all the products. You can now further customize the template to your liking.
Theme allows you to change colors, and radius of particular elements.
Headline lets you add a custom title and images for desktop and mobile devices
Filters lets you add filter button to let customers view products only from specific collections
Subscriptions option lets you enable or disable the ability to subscribe to the box.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Juo Subscriptions documentation","colors":{"primary":"#3727F4","light":"#3727F4","dark":"#d9d9d9"},"logo":{"light":"https://mintcdn.com/juo-docs/cLJUw5eiI9OKM0X6/logo/light.svg?fit=max\u0026auto=format\u0026n=cLJUw5eiI9OKM0X6\u0026q=85\u0026s=d41a8b3ca189a0212d8c707309bddacd","dark":"https://mintcdn.com/juo-docs/cLJUw5eiI9OKM0X6/logo/dark.svg?fit=max\u0026auto=format\u0026n=cLJUw5eiI9OKM0X6\u0026q=85\u0026s=29f70ff3ce5c77142a480d3a3f94e08e"},"favicon":{"light":"https://mintcdn.com/juo-docs/yVQsOyGv0SLbx5Dr/favicon.png?fit=max\u0026auto=format\u0026n=yVQsOyGv0SLbx5Dr\u0026q=85\u0026s=d6cb6daa51052383f471eedf80ad8402","dark":"https://mintcdn.com/juo-docs/yVQsOyGv0SLbx5Dr/favicon.png?fit=max\u0026auto=format\u0026n=yVQsOyGv0SLbx5Dr\u0026q=85\u0026s=d6cb6daa51052383f471eedf80ad8402"},"navbar":{"links":[{"href":"mailto:hi@juo.io","label":"Contact us"}],"primary":{"type":"button","label":"Book a demo","href":"https://juo.io/demo"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/juo-io"}},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"API","icon":"code","href":"https://juo.dev/"},{"anchor":"Changelog","icon":"newspaper","href":"https://juo.com/changelog"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"juo-docs","hasAudioNarration":false,"actualSubdomain":"juo-docs","customDomains":["juo.io"],"gitSource":{"type":"github","owner":"juo","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae49eefab76b29675b215f5","collectionId":"c11c4ea5-7b0f-4ee0-9ece-bde04d69496c","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae49eefab76b29675b215f5"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae49eefab76b29675b215f5","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"Glossary","count":24},{"language":"default","tag":"Use guide","count":12},{"language":"default","tag":"Workflows","count":8},{"language":"default","tag":"Subscription experiences","count":7},{"language":"default","tag":"Integrations","count":7},{"language":"default","tag":"Settings","count":6},{"language":"default","tag":"Getting started","count":5},{"language":"default","tag":"Use cases","count":3}]},"assistantConfig":{},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","href":"/docs/_mintlify/custom/juo-docs/67fbaf3080934196/style.css"},{"filePath":"sidebar-scroll-fade.css","content":":root{--scrollbar-size: 8px;--scrollbar-thumb: rgba(0, 0, 0, 0.15);--reveal-speed: 0ms}#sidebar-content{scrollbar-width:thin;scrollbar-color:transparent transparent}#sidebar-content::-webkit-scrollbar{width:var(--scrollbar-size)}#sidebar-content::-webkit-scrollbar-track{background:transparent}#sidebar-content::-webkit-scrollbar-thumb{background-color:transparent;border-radius:calc(var(--scrollbar-size) / 2);transition:background-color var(--reveal-speed)}#sidebar-content:hover,#sidebar-content:active{scrollbar-color:var(--scrollbar-thumb) transparent}#sidebar-content:hover::-webkit-scrollbar-thumb,#sidebar-content:active::-webkit-scrollbar-thumb,#sidebar-content::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb)}"}],"page":{"pagePath":"build-a-box","slug":"/build-a-box","pageMetadata":{"title":"Build-a-box","description":null,"href":"/build-a-box"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,img:`img`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,..._provideComponents(),...props.components},{CodeBlock,Frame,Heading,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Frame,{children:_jsx(_components.p,{children:_jsx(_components.img,{src:`https://cdn.juo.io/content-uploads/Build_a_box_1b2fff5093.png`,alt:`Build-a-box setup -\nDetails`})})}),`\n`,_jsxs(_components.p,{children:[`Juo `,_jsx(_components.strong,{children:`Build-a-box`}),` is a dedicated page where customers can select their favorite\nproducts, claim discounts for reaching purchasing milestones, and more.`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`This guide explains how to set up the Build-a-box feature using the Shopify\n2.0 theme editor. If you are using an older theme, please contact us for\ncustom implementation support.`})}),`\n`,_jsx(Heading,{level:`2`,id:`step-1-create-a-new-template`,children:`Step 1: Create a New Template`}),`\n`,_jsx(_components.p,{children:`The Build-a-box feature requires a unique template to appear on your storefront.`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Navigate to `,_jsx(_components.strong,{children:`Online Store`}),` and click `,_jsx(_components.strong,{children:`Customize`}),` on your active theme.`]}),`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`Products`}),` from the top bar and click `,_jsx(_components.strong,{children:`Create template.`})]}),`\n`,_jsxs(_components.li,{children:[`Name the template (e.g., Build-a-box or Build Your Own Bundle) and base it on your `,_jsx(_components.strong,{children:`Default product.`})]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`step-2-create-a-build-a-box-parent-product`,children:`Step 2: Create a Build-a-box parent product`}),`\n`,_jsxs(_components.p,{children:[`This is a virtual product to act as a container for the physical products customers will add to their boxes. Uncheck `,_jsx(_components.strong,{children:`Track quantity`}),` and `,_jsx(_components.strong,{children:`This product requires shipping.`})]}),`\n`,_jsx(_components.p,{children:`Note: This product must be different from any of the products actually available to purchase in the box.`}),`\n`,_jsx(_components.p,{children:`Save the product and change its theme template to the newly created box template.`}),`\n`,_jsx(Heading,{level:`2`,id:`step-3-set-up-build-a-box-details-in-juo`,children:`Step 3: Set Up Build-a-box details in Juo`}),`\n`,_jsxs(_components.p,{children:[`In Juo admin panel, go to Offers > Build-a-box and click on `,_jsx(_components.strong,{children:`Add Build-a-box`}),`. Configure the Build-a-box settings:`]}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Select the newly created `,_jsx(_components.strong,{children:`parent product`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Optionally, give the box a unique name in the `,_jsx(_components.strong,{children:`Title`}),` field (visible only to you).`]}),`\n`,_jsxs(_components.li,{children:[`In the `,_jsx(_components.strong,{children:`Discount code`}),` field, enter the code you want displayed at Checkout.`]}),`\n`,_jsxs(_components.li,{children:[`Set the `,_jsx(_components.strong,{children:`Discount status`}),` to `,_jsx(_components.strong,{children:`Active`}),` if you’d like to enable quantity discounts.`]}),`\n`,_jsxs(_components.li,{children:[`In `,_jsx(_components.strong,{children:`Discount type`}),`, choose Percentage or Fixed amount discount.`]}),`\n`,_jsxs(_components.li,{children:[`In `,_jsx(_components.strong,{children:`Tiers threshold type`}),` decide whether discount tiers should be unlocked by number of products in the cart, or total cart value.`]}),`\n`,_jsxs(_components.li,{children:[`Specify the `,_jsx(_components.strong,{children:`minimum number of products`}),` required to unlock discounts.`]}),`\n`,_jsx(_components.li,{children:`Decide if you want to combine the box discount with other discounts within the same order.`}),`\n`,_jsxs(_components.li,{children:[`Under `,_jsx(_components.strong,{children:`Restrict quantity to match available tiers`}),` you can decide if you only allow purchases that match your set tiers.`]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Add`}),` to create the box.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Note: after the box is created, just click on “Edit” on the Product boxes list to finish setting it up:`}),`\n`,_jsx(Heading,{level:`2`,id:`step-4-configure-tiered-discounts`,children:`Step 4: Configure Tiered Discounts`}),`\n`,_jsx(_components.p,{children:`Enhance your Build-a-box feature by setting up a quantity discount that increases as customers add more items to their box.`}),`\n`,_jsx(_components.p,{children:`Determine the appropriate number of tiers and minimum thresholds based on typical customer behavior. Adjust these tiers over time to optimize customer engagement and Average Order Value (AOV).`}),`\n`,_jsx(Heading,{level:`2`,id:`step-5-add-boxable-products`,children:`Step 5: Add Boxable Products`}),`\n`,_jsx(_components.p,{children:`Select products from your inventory that customers can add to their boxes. You can add as many as you want. Next, add these products to a new collection. It will be needed later.`}),`\n`,_jsx(Heading,{level:`2`,id:`step-6-add-free-products`,children:`Step 6: Add free products`}),`\n`,_jsxs(_components.p,{children:[`If you’d like the box to always include specific free products, make sure to add them under `,_jsx(_components.strong,{children:`Free products`}),`. They can work as an additional incentive to purchase the box.`]}),`\n`,_jsx(Heading,{level:`2`,id:`step-7-add-build-a-box-to-a-subscription-plan`,children:`Step 7: Add Build-a-box to a Subscription Plan`}),`\n`,_jsx(_components.p,{children:`Enable subscription options for the Build-a-box feature:`}),`\n`,_jsxs(_components.p,{children:[`Go to `,_jsx(_components.strong,{children:`Offers > Subscribe and Save`}),` and click on `,_jsx(_components.strong,{children:`Add new`}),` or edit an existing one. Add all the products available in the box and press `,_jsx(_components.strong,{children:`Save.`})]}),`\n`,_jsxs(_components.p,{children:[`Note: You can use products belonging to multiple subscription plans, but `,_jsx(_components.strong,{children:`Build-a-box will only display delivery frequencies that are common for all products`}),`. It means that all products need to have at least one delivery frequency in common for the box subscription to work.`]}),`\n`,_jsx(Heading,{level:`2`,id:`step-8-customize-the-build-a-box-template`,children:`Step 8: Customize the Build-a-box template`}),`\n`,_jsx(_components.p,{children:`Go back to the newly created template in your Online Store and customize it to display your box builder.`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Remove or hide `,_jsx(_components.strong,{children:`all`}),` Product Information blocks (Variant picker, Price, etc.)`]}),`\n`,_jsxs(_components.li,{children:[`In their place add the `,_jsx(_components.strong,{children:`Juo Build-a-box`}),` block and click on it.`]}),`\n`,_jsxs(_components.li,{children:[`Scroll down to the `,_jsx(_components.strong,{children:`Products`}),` section. Here, add the collection that you created in step 5. Build-a-box products will be displayed in the same order as in the collection.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`step-9-set-up-one-time-add-ons-optional`,children:`Step 9: Set up one-time add-ons (optional)`}),`\n`,_jsx(_components.p,{children:`You can add an extra step to build-a-box experience, where your customers can pick one-time products to complement their box subscription.`}),`\n`,_jsxs(_components.p,{children:[`In the `,_jsx(_components.strong,{children:`Juo Build-a-box`}),` block settings, select `,_jsx(_components.strong,{children:`Additional step (Addons)`}),` option. Specify Title, Description, and pick the collection to be displayed in the additional step.`]}),`\n`,_jsxs(_components.p,{children:[`After enabling, a `,_jsx(_components.strong,{children:`Next`}),` button will show up for the customers before they can go to the checkout.`]}),`\n`,_jsx(_components.p,{children:`Once done, your template should now properly display all the products. You can now further customize the template to your liking.`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Theme`}),` allows you to change colors, and radius of particular elements.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Headline`}),` lets you add a custom title and images for desktop and mobile devices`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Filters`}),` lets you add filter button to let customers view products only from specific collections`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Subscriptions option`}),` lets you enable or disable the ability to subscribe to the box.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`custom-frontend`,children:`Custom frontend`}),`\n`,_jsx(_components.p,{children:`If you are creating custom Build-a-box frontend experience, make sure to add box items to the cart with the following properties:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`html`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`html`,children:_jsxs(_components.code,{language:`html`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\"properties\": { \"_box\": \"box-`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#82071E`,\"--shiki-light-font-style\":`italic`,\"--shiki-dark\":`#F44747`,\"--shiki-dark-font-style\":`inherit`},children:`PARENT_PRODUCT_ID`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:` >`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\", \"_parent_product_handle\": \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#82071E`,\"--shiki-light-font-style\":`italic`,\"--shiki-dark\":`#F44747`,\"--shiki-dark-font-style\":`inherit`},children:`PARENT_PRODUCT_HANDLE`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:` >`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\", \"_parent_product_id\": \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#82071E`,\"--shiki-light-font-style\":`italic`,\"--shiki-dark\":`#F44747`,\"--shiki-dark-font-style\":`inherit`},children:`PARENT_PRODUCT_ID`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:` >`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\" },`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#82071E`,\"--shiki-light-font-style\":`italic`,\"--shiki-dark\":`#F44747`,\"--shiki-dark-font-style\":`inherit`},children:`PARENT_PRODUCT_ID`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:` >\u003c/`}),_jsx(_components.span,{style:{color:`#82071E`,\"--shiki-light-font-style\":`italic`,\"--shiki-dark\":`#F44747`,\"--shiki-dark-font-style\":`inherit`},children:`PARENT_PRODUCT_HANDLE`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:` >\u003c/`}),_jsx(_components.span,{style:{color:`#82071E`,\"--shiki-light-font-style\":`italic`,\"--shiki-dark\":`#F44747`,\"--shiki-dark-font-style\":`inherit`},children:`PARENT_PRODUCT_ID`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})}),`\n`]})})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Build-a-box","description":null,"href":"/build-a-box"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Step 1: Create a New Template","slug":"step-1-create-a-new-template","depth":2,"children":[]},{"title":"Step 2: Create a Build-a-box parent product","slug":"step-2-create-a-build-a-box-parent-product","depth":2,"children":[]},{"title":"Step 3: Set Up Build-a-box details in Juo","slug":"step-3-set-up-build-a-box-details-in-juo","depth":2,"children":[]},{"title":"Step 4: Configure Tiered Discounts","slug":"step-4-configure-tiered-discounts","depth":2,"children":[]},{"title":"Step 5: Add Boxable Products","slug":"step-5-add-boxable-products","depth":2,"children":[]},{"title":"Step 6: Add free products","slug":"step-6-add-free-products","depth":2,"children":[]},{"title":"Step 7: Add Build-a-box to a Subscription Plan","slug":"step-7-add-build-a-box-to-a-subscription-plan","depth":2,"children":[]},{"title":"Step 8: Customize the Build-a-box template","slug":"step-8-customize-the-build-a-box-template","depth":2,"children":[]},{"title":"Step 9: Set up one-time add-ons (optional)","slug":"step-9-set-up-one-time-add-ons-optional","depth":2,"children":[]},{"title":"Custom frontend","slug":"custom-frontend","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"juo-docs","siteName":"Juo Subscriptions documentation","title":"Build-a-box - Juo Subscriptions documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-30T13:35:54.047Z","originalFileLocation":"build-a-box.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"Juo Subscriptions documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/juo-docs/M-CEz_Bq6naV5nJf/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/juo-docs/M-CEz_Bq6naV5nJf/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/juo-docs/M-CEz_Bq6naV5nJf/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/juo-docs/M-CEz_Bq6naV5nJf/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/juo-docs/M-CEz_Bq6naV5nJf/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/juo-docs/M-CEz_Bq6naV5nJf/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/juo-docs/M-CEz_Bq6naV5nJf/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/juo-docs/M-CEz_Bq6naV5nJf/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/juo-docs/M-CEz_Bq6naV5nJf/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Build-a-box - Juo Subscriptions documentation\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Juo Subscriptions documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://juo.io/docs/build-a-box\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://juo-docs.mintlify.app/_mintlify/api/og/v2?division=Subscription+experiences\u0026amp;title=Build-a-box\u0026amp;theme=744beef7a106f2cad03d3b03\u0026amp;signature=6851b640ed0eb45a172b1c7c917f26959604d3f63c0344da5f873f0f2dc2031d\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Build-a-box - Juo Subscriptions documentation\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://juo-docs.mintlify.app/_mintlify/api/og/v2?division=Subscription+experiences\u0026amp;title=Build-a-box\u0026amp;theme=744beef7a106f2cad03d3b03\u0026amp;signature=6851b640ed0eb45a172b1c7c917f26959604d3f63c0344da5f873f0f2dc2031d\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/juo-docs/M-CEz_Bq6naV5nJf/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Juo Subscriptions documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3727F4\">\u003clink data-mint-head rel=\"canonical\" href=\"https://juo.io/docs/build-a-box\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/build-a-box.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://juo.io/#organization\",\"name\":\"Juo Subscriptions documentation\",\"url\":\"https://juo.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/juo-docs/cLJUw5eiI9OKM0X6/logo/light.svg?fit=max\u0026auto=format\u0026n=cLJUw5eiI9OKM0X6\u0026q=85\u0026s=d41a8b3ca189a0212d8c707309bddacd\"}},{\"@type\":\"WebSite\",\"@id\":\"https://juo.io/docs#website\",\"name\":\"Juo Subscriptions documentation\",\"url\":\"https://juo.io/docs\",\"publisher\":{\"@id\":\"https://juo.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://juo.io/docs/build-a-box#webpage\",\"url\":\"https://juo.io/docs/build-a-box\",\"name\":\"Build-a-box\",\"dateModified\":\"2026-10-30T13:35:54.047Z\",\"isPartOf\":{\"@id\":\"https://juo.io/docs#website\"},\"breadcrumb\":{\"@id\":\"https://juo.io/docs/build-a-box#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://juo.io/docs/build-a-box#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Subscription experiences\",\"item\":\"https://juo.io/docs/subscribe-and-save\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Build-a-box\",\"item\":\"https://juo.io/docs/build-a-box\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://juo.io/docs/build-a-box#article\",\"headline\":\"Build-a-box\",\"name\":\"Build-a-box\",\"url\":\"https://juo.io/docs/build-a-box\",\"mainEntityOfPage\":{\"@id\":\"https://juo.io/docs/build-a-box#webpage\"},\"dateModified\":\"2026-10-30T13:35:54.047Z\",\"publisher\":{\"@id\":\"https://juo.io/#organization\"},\"isPartOf\":{\"@id\":\"https://juo.io/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Juo Subscriptions documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Juo Subscriptions documentation","nav":{"global":{"anchors":[{"anchor":"API","icon":"code","href":"https://juo.dev/"},{"anchor":"Changelog","icon":"newspaper","href":"https://juo.com/changelog"}]},"groups":[{"group":"Getting started","pages":[{"title":"Intro","href":"/index"},{"title":"About Juo","href":"/about-juo"},{"title":"Use Juo with an AI assistant","sidebarTitle":"Juo MCP","href":"/use-juo-with-ai"},{"title":"Subscription experiences","href":"/subscription-experiences"},{"title":"Retention","href":"/retention"}]},{"group":"Subscription experiences","pages":[{"title":"Subscribe and save","description":null,"href":"/subscribe-and-save"},{"title":"Build-a-box","href":"/build-a-box"},{"title":"Upsells","description":null,"href":"/upsells"},{"title":"Extras","href":"/extras"},{"title":"Custom workflows","href":"/custom-workflows"},{"title":"Curated boxes","href":"/curated-boxes"},{"title":"Memberships","href":"/memberships"}]},{"group":"Workflows","pages":[{"title":"Workflows overview","sidebarTitle":"Overview","href":"/workflows/workflows-overview"},{"title":"Triggers","href":"/workflows/triggers"},{"title":"Conditions","href":"/workflows/conditions"},{"title":"Actions","href":"/workflows/actions"},{"title":"Experiments (A/B tests)","sidebarTitle":"Experiments","href":"/workflows/experiments"},{"group":"Use cases","pages":[{"title":"Cancellation flow","href":"/workflows/guides/cancellation-flow"},{"title":"Fight new subscriber churn","href":"/workflows/guides/fight-new-subscriber-churn"},{"title":"VIP rewards","href":"/workflows/guides/vip-rewards"}]}]},{"group":"Settings","pages":[{"title":"General settings","href":"/general-settings"},{"title":"Retention and acquisition settings","sidebarTitle":"Retention settings","href":"/retention-flow"},{"title":"Shipping setup","href":"/shipping-setup"},{"title":"Notifications","href":"/notifications"},{"title":"SID conversion engine","href":"/subscription-intent-detection"},{"title":"SEPA chargebacks recovery","href":"/sepa-chargebacks"}]},{"group":"Integrations","pages":[{"title":"Klaviyo","href":"/klaviyo-integration"},{"title":"Hubspot","href":"/hubspot-integration"},{"title":"Customer.io","href":"/customerio-integration"},{"title":"Gorgias","href":"/gorgias-integration"},{"title":"Zipify","href":"/zipify-integration"},{"title":"Webhooks","href":"/webhooks"},{"title":"Leat","href":"/leat-integration"}]},{"group":"Use guide","pages":[{"title":"Editor","sidebarTitle":"Editor","href":"/editor"},{"title":"Managing subscriptions","href":"/managing-subscriptions"},{"title":"Create a subscription","href":"/create-subscription"},{"title":"Bulk actions","href":"/bulk-actions"},{"title":"Using Customer Portal","href":"/customer-portal"},{"title":"Customer Portal link","href":"/linking-customer-portal"},{"title":"Quick actions","href":"/quick-actions"},{"title":null,"href":"/discounts"},{"title":"Tiered discounts","href":"/tiered-discounts"},{"title":"Subscription widget","href":"/adding-juo-subscription-widget"},{"title":"Customize widget","href":"/subscription-widget"},{"title":"Build a custom subscription storefront","sidebarTitle":"Custom storefront","href":"/custom-storefront"}]},{"group":" ","pages":[{"group":"Glossary","pages":[{"title":"Build A Box","href":"/glossary/build-a-box"},{"title":"Customer Portal","href":"/glossary/customer-portal"},{"title":"Delivery Frequency","href":"/glossary/delivery-frequency"},{"title":"Dunning","href":"/glossary/dunning"},{"title":"Dynamic Boxes","href":"/glossary/dynamic-boxes"},{"title":"Email Notifications","href":"/glossary/email-notifications"},{"title":"Inventory Policy","href":"/glossary/inventory-policy"},{"title":"Lifetime Value","href":"/glossary/lifetime-value"},{"title":"Membership","href":"/glossary/membership"},{"title":"Merchant Portal","href":"/glossary/merchant-portal"},{"title":"Migration","href":"/glossary/migration"},{"title":"One Time Purchase","href":"/glossary/one-time-purchase"},{"title":"Product Swap","href":"/glossary/product-swap"},{"title":"Retention Flow","href":"/glossary/retention-flow"},{"title":"Skip Renewal","href":"/glossary/skip-renewal"},{"title":"Stock Keeping Unit","href":"/glossary/stock-keeping-unit"},{"title":"Subscriber","href":"/glossary/subscriber"},{"title":"Subscription Box","href":"/glossary/subscription-box"},{"title":"Subscription Cancellation","href":"/glossary/subscription-cancellation"},{"title":"Subscription Order","href":"/glossary/subscription-order"},{"title":"Subscription Pause","href":"/glossary/subscription-pause"},{"title":"Subscription Renewal","href":"/glossary/subscription-renewal"},{"title":"Subscription","href":"/glossary/subscription"},{"title":"Variable Discount","href":"/glossary/variable-discount"}]}]}]},"basePath":"","title":"Build-a-box - Juo Subscriptions documentation","buildId":"dpl_9yaRmq8qi7yyMZn9oEWmKEdYMvGZ","deploymentId":"dpl_9yaRmq8qi7yyMZn9oEWmKEdYMvGZ","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-DcbodgP9.js","DynamicMarkdown-BBrVIqs3.js","zoom-image-lightbox-BB8grMv9.js","lightbox-handle-r17bVUz3.js"]}