
Choosebox help and guide
Let customers build their own box or mix-and-match bundle: pick products, get a discount, and add the whole thing to cart as one box. Components stay real products, so inventory never oversells.
Watch the whole setup — choosing which products can go in, pricing, turning the box live, and what a shopper sees at checkout. Watch on YouTube →
What Choosebox does
You create a box: choose which products a shopper can pick from, how many items go in the box, and the discount. On your storefront, shoppers build their box in a simple picker; at checkout the picked items collapse into one discounted box line. Because the items are your real products, stock draws down normally and the exact contents carry through to the order for fulfillment.
Getting started
▶ Watch: build a sample box in one click (0:34)
- Install Choosebox from the Shopify App Store and open it from Apps in your Shopify admin.
- Create a box. Go to Boxes → + Create a box. Give it a name (this is what shoppers see on the box line, e.g. "Build Your Own 6-Pack").
- Choose what can go in the box: either hand-pick Specific products or point it at A collection (every in-stock product in that collection becomes eligible).
- Set how many items per box: a Minimum and Maximum. Set both to the same number for a fixed "pick exactly N" box, or a range like 3–6.
- Set the discount (see Pricing below), optionally add a Box image, then flip the status toggle to Live and click Save box.
- Add the box to your storefront with the box's Copy ID & open theme button (see below), then test it.
Setting a box Live automatically creates a hidden container product (product type “Choosebox Bundle”, inventory not tracked). That's what lets the box show as one line at checkout. Leave it alone; it's managed for you, and deleting the box removes it.
New to Choosebox? On the home screen — before you’ve created any boxes — click Try a sample box. It instantly builds a ready-made draft box from a few of your own products so you can see how everything works, then customize or delete it. You need at least three active products for this — below that a sample box can’t show you anything useful, so Choosebox tells you instead of building a box of one. It stays a draft, so it makes no changes to your storefront until you set it Live.
Choosing what goes in the box
▶ Watch: choosing which products can go in (0:50)
Each box has one source:
- Specific products: hand-pick the exact products shoppers can choose from (from any collections, or none). Make sure you include at least as many as your Minimum, or the box can't be completed.
- A collection: the box pulls its choosable items from one collection you select. Add or remove products from that collection and the box updates automatically.
The products you choose are the menu: the pool shoppers pick from, not how many go in the box. Offer more products than the box’s maximum so shoppers have a real choice (e.g. list 8 flavors for a “pick 3” box).
How many items per box
Minimum and Maximum control how many items a shopper puts in their box: not how many products you offer. Below the Minimum, the "Add box to cart" button stays disabled and shows "Pick N more"; at the Maximum, extra picks are blocked. Minimum must be at least 1, and Maximum can't be below the Minimum.
Pricing
▶ Watch: box size and discount pricing (1:12)
- % off: take a set percentage off the picked items.
- Fixed box price: the whole box sells for one price regardless of what's chosen.
- Tiered: "buy more, save more": at N items give X% off, with multiple tiers. Available on every plan, including Free.
Out-of-stock items
▶ Watch: real products, real inventory (1:55)
Choosebox reads each product's real, online-sellable availability. With Hide out-of-stock products on (the default), a sold-out item simply drops out of the picker and returns when restocked. You can even add a currently out-of-stock product to a box in the editor — availability is checked live on every page load, so it appears for shoppers automatically the moment it’s back in stock, with no re-editing. Turn it off and sold-out items show as a grayed "Out of stock" card that can't be picked. Either way, shoppers can never add something that would fail at checkout, and because components are real products, you won't oversell. A product or variant that isn't published to the Online Store sales channel also shows as “Out of stock”, since it can't be sold on your storefront until you publish it there.
Products with variants
Each product appears as one card. A single-variant product adds in one click. A product with multiple variants (sizes, colors, etc.) shows an “Add” button that opens a small popup: shoppers choose one or more variants and a quantity each (e.g. Ice ×1, Sunset ×2), each with its own thumbnail. Every unit counts toward the box’s maximum, and the exact variants carry through to the order.
Box image (optional)
Set a Box image in the box editor to control the thumbnail on the box line in cart and checkout. Leave it blank and the box automatically uses the first item the shopper picked. To use a custom image, upload it in your Shopify admin under Content → Files, then paste its URL into the Box image field.
Discount codes on top of a box
They work. A shopper can use one of your discount codes on an order containing a box, and both come off. Shopify runs the box pricing first and then applies discounts, so a code stacks on top of the box discount rather than replacing it or being refused.
This is worth knowing because it is not true of every app in this category. Apps that build a box as a draft order cannot accept discount codes at all, which is a common reason merchants move away from them.
The flip side: they really do stack. If you run a sitewide code while a box is discounted, a shopper gets both. There is no setting to stop that, so price your box discount with that in mind, or exclude the box container product from the code’s conditions.
Splitting a box into steps
By default a shopper sees every eligible product in one grid. For a bigger box you can split that into named screens they move through in order: one bread, then one pastry, then an extra.
Open a box, scroll to Steps, and press Split this box into steps. For each step, give it a name shoppers will read as the heading, set the least and most items it takes, and click the products that belong on it.
- A product can appear on more than one screen.
- Anything you leave off every screen is not shown to shoppers at all.
- The box’s own least and most still apply on top. If the steps add up to something the box can never satisfy, the app tells you and will not save it.
- Shoppers cannot skip ahead past a step whose minimum is not met, but they can go back.
Steps need a hand-picked product list. They are not available on a box pointed at a collection, because a collection changes on its own and a step pinned to particular products would quietly lose them as it moved.
Seeing how your box is doing
The app home screen shows a Last 30 days card once your builder has loaded at least once, and each box shows its own numbers in its editor.
- Builder loads is how many times the builder asked for its box. That includes page prefetches and crawlers, so read it as a ceiling rather than a count of people.
- Boxes added to cart and orders with a box are exact.
- The two percentages are the useful part. Plenty of loads and almost no adds points at the box itself, the products in it or the discount. Almost no loads points at placement, so check the box page or the block is actually where shoppers go.
Nothing about a shopper is recorded. These are three counters per box per day and nothing else.
Changing the wording, or translating the builder
Open a box and expand Storefront wording. Every string a shopper can see is there: the prompt above the products, the prompt once the box is full, the counter next to the button, the Add and Edit buttons, the sold-out label, the discount tag and every error message.
Leave a field empty and it keeps the English wording, which is shown in grey inside the empty field so you can see what you are replacing. Fill in only the ones you care about.
Keep the curly brackets. {n} is replaced with a number and {item} with a product name. “Pick {n} more” becomes “Pick 2 more”. You can move them wherever your language needs them. If you delete one, the sentence still shows, just without the number.
Wording is set per box, and it applies on the box’s own page and in the theme block. It is included on every plan.
Gift messages
Open a box, scroll to Gift message and switch on Let shoppers add a message to this box. Shoppers then get a message field under the products, before the add-to-cart button.
- What to call it is what shoppers see, and it is also the heading the message appears under on the order. A florist might use “Card message”.
- Placeholder text is the grey prompt inside the empty box.
- Longest message caps the length. Around 200 characters fits a standard gift card; 500 is the most allowed.
- Require a message stops the box being added until something is written. Off by default, and worth leaving off unless every one of these boxes really is a gift.
Where the message ends up. It is attached to the box line as a line item property, so it shows against the box on the order in your admin rather than sitting under Additional details where whoever packs it never looks.
To print it on a packing slip, you will need to add it to your template. Shopify’s built-in packing slip prints neither line item properties nor order attributes out of the box. That is a platform default, not a Choosebox limitation. Because the message is on the line item, a few lines of Liquid under
Settings → Shipping and delivery → Packing slips will pick it up. Email
support@dropfeed.io and we will send you the snippet.
Preview your box
The box editor shows a live preview at the top. It lays out your eligible products with their images and prices, and you can click products right in the preview to build a box the way a shopper would — the item count and the discounted box total update as you pick, respecting your Minimum and Maximum. Change your products, item counts, or pricing and the preview updates instantly, so you can sanity-check the discount before going live.
The preview is a layout preview only — it uses neutral styling so you can check the setup and the math. On your live storefront the box takes on your theme’s fonts, colors, and spacing. Collection-based boxes preview too — Choosebox reads the collection’s products (the first 24) and lays them out the same way. Because it reads the saved collection, choosing or changing a collection shows a short amber note asking you to press Save box first; after that the clickable grid appears.
Adding the box to your storefront
▶ Watch: adding the builder to your theme (2:12)
There are two ways to put a box in front of shoppers. The first needs no theme editing at all.
Its own page, with no theme editing
Every live box is also served at /apps/choosebox/build on your own store. Choosebox draws it inside your theme, so the page arrives with your header, footer, fonts and colours already on it. Nothing is added to your theme and nothing can be placed wrongly.
- Make the box live and press Save. A draft box shows nothing, on this page or anywhere else.
- In your Shopify admin, go to Content → Menus. Open the menu you want the link in, usually Main menu. (Menus used to live under Online Store → Navigation. Shopify moved them.)
- Add menu item and give it a name, such as “Build a box”.
- Paste /apps/choosebox/build into the Link field, press the tick, then press Save.
Paste the path, not the full web address. Shopify’s menu editor checks a pasted link against your own pages and products, and turns down an app link as an invalid URL. The path is accepted, and it keeps shoppers on your own domain instead of sending them to your myshopify address. The box editor has a Copy path button for exactly this, and a Copy link button with the full address for emails and ads.
More than one box live? The plain link shows a card for each one, with its picture and name, so shoppers pick first. To send someone to one particular box, add ?id= and that box’s ID to the end of the link.
The second way puts the builder inside a page you already have, using the theme block. Both can run at once.
Inside a page, from the box editor
- Press Save, then click "Open my theme editor". Go to the page where you want the box.
- Allow cookies if asked. The theme editor needs cookies to load. If it stays blank, enable third-party cookies for admin.shopify.com and reopen it.
- Add the block where you want it: Add block → Apps → Choosebox builder.
- Drag the block into position and press Save. Leave the Box ID field empty — the block shows whichever box is live.
You no longer need to copy a Box ID. An empty Box ID field means “show my live box”, which is what almost everyone wants. Only fill it in if you run more than one box and want to pin a specific one to a specific page. If you have more than one box live at the same time, an empty field follows whichever of them you edited most recently — so give each block its own Box ID once you go past one live box.
Choosebox never places the block for you. Where the box appears is your decision — drop it exactly where you want shoppers to see it.
Putting a box on any other page
- Open your theme editor — the “Copy ID & open theme” button on the Boxes list gets you there, and copies that box’s ID in case you need it.
- Add the block. On the page where you want the box (a dedicated "Build a Box" page works well), click Add section (or Add block) → Apps → Choosebox builder.
- Press Save. Leave Box ID empty unless you run more than one box and want this block pinned to a specific one — then paste that box’s ID.
An empty Box ID follows your live box. A filled-in Box ID pins that block to one specific box — which is how you put different boxes on different pages. You can copy any box’s ID from the Boxes list at any time. With two or more boxes live, an empty field follows the one edited most recently, which can change as you work — Choosebox warns you in the app when that happens.
Seeing two builders on one page? The block has been added twice. Open the theme editor, click the duplicate block in the left-hand list, and remove it. One block per box, per page.
Styling the box to match your theme
There are two places styling can come from, and they work together.
In the app, on the box itself
Open a box and scroll to Appearance. You get accent, text, card background, card border and button text colours, corner roundness, card border width, overall width, the add-to-cart wording and a Custom CSS field. Leave a colour cleared and it follows your store theme, which is the default and usually the right answer.
Layout presets sit at the top of that section: Default, Minimal, Compact, Rounded, Sharp and Wide. Each one sets roundness, border width and width together. They do not change colour on purpose. The builder is built to take your store’s own colours, and a preset that painted it something else would undo that on most themes.
What you set here applies to the box’s own page and to the theme block.
In the theme editor, on the block
The Choosebox builder block keeps its own copy of the same settings. Anything set there wins for that block, so a block you have already styled by hand does not change. Leave a block setting blank and the block uses what you set in the app instead. The block also has its own Custom CSS field, separate from the one in the app.
By default the picker matches your store theme — it inherits your theme’s fonts, text color, and background automatically. Open the Choosebox builder block in your theme editor to adjust anything; settings are grouped into Text, Colors, Layout, and Advanced. Leave any color blank to keep the theme default.
- Text — a custom Heading (defaults to the box name) and the Add-to-cart button text. Editing these also lets you translate the widget for non-English stores.
- Colors — Accent & button color (recolors buttons, the selected-item highlight, quantity badges, and progress bar), plus optional Text color, Card background, Card border color, and Button text color. Any left blank inherit your theme.
- Layout — Corner roundness (sharp to fully rounded), Card border width, and the widget Max width.
- Advanced → Custom CSS — for power users: add your own CSS targeting
.choosebox, .cb-card, .cb-add and other classes. Applies to this block only.
Hiding the box container product from your catalog
Each live box needs a hidden $0 container product (product type “Choosebox Bundle”, tag choosebox-parent) so the box can check out as one line. It must stay published to your Online Store for checkout to work — but Shopify shows every published product in /collections/all and search, so it can appear where shoppers browse. None of the steps below affect checkout; they only change what’s displayed. Work them in order — most stores only need steps 1 and 2.
1. Keep it out of your collections (do this first)
The container never needs to be in a collection. Don’t add it to a manual collection, and if an automated collection’s conditions would sweep it in, add the condition Product type is not equal to “Choosebox Bundle”. This one habit prevents it from surfacing in most places — including homepage “Featured collection” blocks, which pull from a collection you pick.
2. Hide it on collection & catalog pages (one-line theme edit)
- Online Store → Themes → Edit code.
- Open Sections → main-collection-product-grid.liquid.
- Find
{%- for product in collection.products -%} and add this line directly beneath it:
{%- if product.type == 'Choosebox Bundle' -%}{%- continue -%}{%- endif -%}
Save. This single edit covers /collections/all and every collection page at once.
3. Featured collection sections (only if needed)
If a homepage “Featured collection” section still shows the container, open Sections → featured-collection.liquid, find its {%- for product in collection.products ... -%} line, and add the same line beneath it. Usually unnecessary once you’ve done step 1.
4. Search results
Storefront search uses a different loop, so the line above won’t match it. Easiest: use Shopify’s free Search & Discovery app to exclude the “Choosebox Bundle” product type from search and recommendations. Or edit Sections → main-search.liquid, find {%- for item in search.results -%}, and add:
{%- if item.object_type == 'product' and item.type == 'Choosebox Bundle' -%}{%- continue -%}{%- endif -%}
The container’s own name and image never reach your shopper — the box line at checkout uses the box’s own title, image, and discount. It’s pure behind-the-scenes plumbing: hide it, but never delete it (deleting the box removes it for you).
What shoppers see
▶ Watch: what the customer sees at checkout (2:30)
On the storefront, shoppers pick items in a clean picker with a progress bar, running savings, and a total. When they add the box, the individual items merge into a single box line at the discounted price. At checkout and on the order, the box line expands to show exactly what's inside, so you know what to ship.
Plans & usage
- Free: as many boxes live as you like, up to $500 of box sales a month, every discount type including tiered, gift messages, steps and translation, and a small "Powered by Choosebox" badge. Only the box lines count toward that figure, never the rest of an order. Past it the builder stops showing on your storefront until the count resets on the 1st. Your product pages are otherwise unaffected, and you keep full access to the editor the whole time. Choosebox warns you in-app from 80% of your figure.
- Starter $19/month: up to $5,000 of box sales a month, and the badge is removed.
- Pro $49/month: up to $25,000 of box sales a month, plus support direct from the person who builds Choosebox, answered within one business day.
- Scale $99/month: unlimited box sales, plus help setting your boxes up rather than only fixing them.
- Pro ($19/mo, 7-day free trial): unlimited box orders, tiered "buy more, save more" pricing, no badge, and priority support.
Creating and editing boxes is always unlimited on both plans: only the number of box orders per month is metered on Free. The dashboard shows a usage bar so you always know where you stand. Upgrading is one click through Shopify’s secure billing, and you can cancel anytime from the Plans page.
Frequently asked questions
Will this oversell my stock?
No. The items in a box are your real products, so their inventory draws down normally and Shopify won't let a sold-out item be purchased. Choosebox also hides or blocks out-of-stock items in the picker.
Do the individual products show on the order?
Yes. At checkout and on the order the box line lists its components, so fulfillment sees exactly which products (and quantities) to pack.
Can I run more than one box?
Yes — create as many as you like. To show a specific one on a specific page, paste that box’s ID into the block’s Box ID field; leave the field empty and the block follows whichever box is live. Box creation and editing are unlimited on every plan. If two or more boxes are live at once, every block with an empty field follows the most recently edited one, so pin each block with its own ID.
What counts toward the Free monthly limit?
Only completed box orders (up to 25/month on Free). Building and editing boxes never counts.
What happens if I downgrade from Pro to Free?
Cancelling Pro stops future charges — Shopify applies any prorated credit for unused time, and your live boxes keep selling. The monthly box-order count resets on the 1st of each month regardless of plan, so a plan change doesn’t reset the current month. If you’re over 25 for the month, you simply can’t create or edit boxes until it resets — sales are never blocked.
Can a box include a subscription product?
Not as a subscription. Boxes work with one-time purchases; a line with a subscription/selling plan can't be merged into a box.
Need more help?
Email support@dropfeed.io. We typically reply within 1–2 business days.
← Back to Dropfeed