# Build a gift box

Chapter 10 of the Wick user guide.

Half of a candle shop's year is gifting. The **Build a gift box** section lets shoppers fill a box themselves, in three steps on a glowing band:

1. **Choose a box**: option tiles with a drawing of the box, its name ("Box of 3"), a line ("Linen box, tissue and a wax seal · $6.00") and your discount tag ("Save 10%").
2. **Pick 3 favourites**: mini cards of your products, each with its notes line, price and a **+** key. A picked item turns accent and gets a − 1 + stepper; a product with several variants gets a small menu to choose one (each variant counts on its own). Sold-out products say "Sold out" and can't be picked, and an item can't be picked past its stock.
3. **Add a gift note** (optional): an italic note field with a live count ("55 / 200").

Beside the steps, the **box summary** stays in view: "Your box of 3", a drawing of the open box whose slots fill one by one with the items picked, "2 of 3 chosen · Choose 1 more to fill your box.", the lines and the **Box total**, your summary line ("Boxes of 3 save 10% at checkout"), the key and your fine print. The key reads "Choose 1 more" until the box is full, then "Add box to bag · $108.00". On phones the summary becomes a bar at the bottom of the screen (the slots, "2 of 3" and the key) that opens the full summary.

Changing to a smaller box keeps the first items picked and says so ("Box of 3 holds 3. We kept your first 3."). Screen readers hear every change ("2 of 3 chosen", "Your box is full."). **Add box to bag** puts the whole box in the bag in one go and opens the cart drawer; the builder then empties, ready for another box.

## Set it up

1. **Make a collection** of the products shoppers can put in a box, such as "Gift box favourites" (the presets start the section on **All products**, so choose your own collection). The builder leaves out the section's own packaging products and your gift wrap product wherever they are, but any other product in the collection can be picked.
2. **Create a packaging product per box size** if you charge for the box or want it on the packing slip: an ordinary product such as "Box of 3, wrapped" at $6 (or $0 for a free box), available on your **Online Store** sales channel. Track its inventory if you have a limited number of boxes: a sold-out packaging product makes its box size unavailable ("Sold out"). Packaging is optional; without it, a box is just its items.
3. **Create a page** in **Online Store › Pages** with the theme template **page.gift-box**, and give it the handle `gift-box` (the presets' hero and the Gift box page setting link to `/pages/gift-box`). On the page, choose your collection in the section, and the packaging product in each **Box size** block.
4. **Set Theme settings › Gifting › Gift box page** to that page, so the product page's **Gift box link** and the bag's "Build another box" link point to it.
5. **Create the discounts** behind your box tags (below), and make the **Discount tag** and **Summary line** say exactly what they give.

You can also add the section to your home page, as the presets do.

## Section settings

| Setting | Default | What it does |
| --- | --- | --- |
| Kicker, Heading, Subheading | "Made to give", "Build a gift box", "Choose a box, fill it with your favourites and add a note. We wrap it in tissue and seal it with wax." | The section heading. On the `page.gift-box` template the heading is the page's main heading. |
| Heading alignment | Centered | Centered or Left |
| Collection | Empty | The products shoppers fill the box from, in the collection's sort order. Gift cards and subscription-only products are left out, and so are variants with a B2B minimum above 1. |
| Products to pick from | 16 (4 to 48) | How many of the collection's products to show |
| Show scent notes on items | On | The notes line on each mini card |
| Show gift note | On | Step 3 |
| Gift note heading | Add a gift note | |
| Gift note help text | We handwrite it on a card inside the lid. | |
| Gift note length | 200 (50 to 250) | The most characters the note can have |
| Button label | Add box to bag | The price follows once the box is full |
| Fine print | Ships wrapped, with your note handwritten. | A small line under the key |
| Background | Glow band | Page, Band or Glow band |

Add up to four **Box size** blocks:

| Setting | Default | What it does |
| --- | --- | --- |
| Label | Box of 3 | The box's name, on its tile, in the summary, in the bag and at checkout |
| Items in the box | 3 (2 to 12) | How many items fill it |
| Description | Linen box, tissue and a wax seal | The line on the tile; the packaging product's price follows it, or "free" when it costs nothing |
| Image | Empty | Your own tile picture (blank shows a drawing of the box) |
| Packaging product | Empty | Added once with every box, such as the box itself. Its price shows on the tile and in the summary, and counts in the box total. |
| Discount tag | Save 10% | The tag on the tile. The theme only shows this text: create the discount in Shopify admin › Discounts. |
| Summary line | Boxes of 3 save 10% at checkout | Shown in the summary under the total |

The presets ship two sizes each: Box of 3 and Box of 6 (Wick), Stack of 3 and Stack of 5 (Lather), Box of 2 and Box of 3 (Vesper, with a tag on the larger box only).

**Empty states.** Without box sizes, or without a collection with products, the section shows nothing on your storefront. In the theme editor it shows sample boxes and eight sample items instead, with the key reading "Pick a collection to sell from", so you can see the design first.

## What lands in the bag and the order

A box goes into the bag as one line per item (and one for its packaging), grouped together in the cart drawer and on the cart page (chapter 12). Every line carries a **Gift box** property such as "Box of 3 · A1B2": the box's label and a four-character code that's different for each box. The gift note travels as a **Gift note** property on the packaging line (or on the first item when the box has no packaging). Both show at checkout and on the order in admin, so when you pack, put the lines with the same code in one box with its note. The theme also adds hidden properties (starting with an underscore) that it uses to keep a box together in the bag; checkout doesn't show them.

If an item sells out in the moments between the shopper picking it and adding the box, Shopify refuses the add: the theme takes any part of that box out of the bag again, shows the error under the key, refreshes the items and tells the shopper which picks it had to take out, so no half box is left behind.

## Discount recipes

The box tags and summary lines are only words; the discount itself is an **automatic discount** you create in **Shopify admin › Discounts**. Shopify discounts can't see which lines belong to a box, so pick the recipe that fits:

**1. Free or discounted box ("Buy X get Y" on the packaging product).** Give each box size its own packaging product, then for each size: **Create discount › Buy X get Y**, method **Automatic discount**. Under **Customer buys**, choose **Minimum quantity of items** 3 and **Any items from** › Specific collections › your gift box collection. Under **Customer gets**, quantity 1 of the **Box of 3** packaging product, **At a discounted value**, Percentage 100% (a free box) or less. Repeat for the box of 6 with 6 and its packaging. The packaging normally reaches the bag only with a box, so loose items don't get it (keep the packaging products out of your collections and menus so nobody buys one on its own).

**2. Percentage off the items ("Amount off products").** **Create discount › Amount off products**, method **Automatic discount**, 10%, **Applies to** your gift box collection, **Minimum purchase requirements** › Minimum quantity of items 3. Add a second at 15% for 6 items. With **Combinations** off for both, Shopify applies the one that saves the shopper more. This discounts any 3 items from that collection, boxed or not; a box-only rule needs a discount app built with Shopify Functions.

Then write the box blocks' **Discount tag** ("Save 10%") and **Summary line** ("Boxes of 3 save 10% at checkout") to match, and the product page's **Gift box link** text ("and save 10%"). If a shopper later changes a box in the bag, the bag says its price may change at checkout (chapter 12).
