How to sell a build-your-own cookie box on Shopify

Letting customers pick 12 cookies is the easy part. The three settings underneath it are what keep your kitchen sane.

"Pick any twelve" is a great offer for a bakery. It raises order value, it moves the flavours nobody would have chosen from a photo, and customers enjoy it.

It also has three ways of going wrong that have nothing to do with software, and every one of them ends with you in the kitchen at 5am doing something you didn't plan for.

So this guide covers the picker briefly and then spends most of its time on the parts a general "build a box" tutorial won't mention, because those tutorials are written for shops that ship from a warehouse rather than bake to order.

The picker: three ways, two of them free

Free, and right for most bakeries

Make one product — "Build Your Own Dozen" — priced for twelve cookies. Add a quantity field per flavour to the product template using line item properties, so the customer's choices ride along into the cart and print on the order.

Shopify sells one dozen and records the twelve choices as text. It does not track cookies as stock.

For a bake-to-order bakery that is the correct behaviour, not a limitation. You aren't counting a shelf. You're counting hours in a morning, which is a different problem and one we'll get to.

Free, and often better than it sounds

Don't build a picker at all. Offer five or six pre-built dozens — Classic, Chocolate Lovers, Baker's Choice, Nut-Free — as ordinary variants.

Real stock, no app, no theme edit. And plenty of bakeries find these outsell the build-your-own option, because a customer buying a gift doesn't want to make twelve decisions. Worth testing before you build anything.

Paid, when you're counting stock

If you bake in batches and sell from what exists — a cookie counter, a market stall, a shop that packs from trays — then you need each flavour to be a real product with real stock, decrementing as boxes sell.

Shopify's supported mechanism for that is the Cart Transform Function: one box in the cart, real components underneath. That's when a bundle app earns its fee.

The dividing line is simple. Bake to order in the morning → free line item properties. Sell from what's already baked → an app with real component inventory. Everything else is detail.


The three settings that actually matter

Here's where bakery boxes differ from every other build-a-box, and where general guides stop being useful.

1. A per-flavour maximum

Without one, someone will order twelve of the piped, hand-decorated cookie that takes four minutes each. They aren't being difficult — it's the best one, and nothing told them not to.

A cap of four per flavour on a dozen keeps boxes mixed and your morning predictable. It is the single highest-value setting in the whole build, and it's the one most apps don't mention.

Set it per flavour, not globally, so the labour-intensive ones can be capped tighter than the drop cookies.

2. How many boxes you can bake in a day

This is the one that hurts, and it's invisible on the product page.

Your oven, your bench space and your morning are finite. Shopify has no concept of "I can make forty dozen on a Saturday." Left alone, it will cheerfully sell you sixty.

Stock quantities don't solve it either — you aren't limited by cookies on hand, you're limited by capacity on a given date. Those are different numbers, and only one of them is in Shopify.

What you need is a cap per day, plus a cutoff time so a 9pm order doesn't land on tomorrow's list after you've planned it.

3. Lead time per product

Drop cookies are a morning's work. A decorated custom set is three days. If your store treats both as "ready tomorrow," one of those promises is a lie and it's the expensive one.

Lead time belongs to the product, not the store — and the customer should see it before they pick a date, not after.


Pickup, which is most of it

Most bakery orders never ship. They get collected — and a build-your-own box tends to raise the pickup share, because it's usually a gift or an occasion.

Shopify has local pickup built in and it's free. What it doesn't have is a date. It can tell a customer "available for pickup at this location." It can't ask "which day, and is that day full?"

For a bakery that's the whole question, so it's worth solving deliberately:

That last one is worth checking rather than assuming. Shopify's default packing slip template renders neither order note attributes nor line item properties — so a date captured at checkout can be entirely absent from the paper in the kitchen. If your date lives in either of those places, edit the template before you rely on it.


Order of operations

  1. Start with pre-built dozens. Free, five minutes, and you learn which combinations sell.
  2. Add a picker with line item properties when customers start asking. Still free.
  3. Add a per-flavour cap the first time someone orders twelve of one thing.
  4. Add date and capacity when you first oversell a Saturday. You'll know.
  5. Add real component inventory only if you're selling from stock rather than baking to order.

Most bakeries never need step five. Almost all of them need step four.


We build two apps for this. Choosebox handles the box — customers pick their own items, multiples allowed, inside a minimum and maximum you set. Readyby handles the date — per-product lead times, daily capacity caps, cutoffs, closed days, and pickup or local delivery. They're separate because plenty of bakeries only need one.

Related: How to let customers choose flavors on Shopify · Choosing the quantity of each flavour