> For the complete documentation index, see [llms.txt](https://modutheme.gitbook.io/helix/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://modutheme.gitbook.io/helix/how-to-guides/how-to-set-up-bundle-includes.md).

# How to set up bundle includes

The **Bundle Includes** block lists the products a bundle is made of, on the bundle product's own page. Each row shows the product image, its title, the exact variant you chose, and optionally its price — so shoppers know precisely what's in the box before they add it to the cart.

Customers buy the bundle with the product page's own **Add to cart** button, at the bundle product's own price — Helix does not add the listed products to the cart separately.

The contents are read from a metafield on the bundle product, so every bundle lists its own set of products.

![Bundle Includes block on a bundle product page](/files/Re84PJIwEKn0KcvTsDhd)

***

## Step 1 — Create the metafield

In Shopify admin, go to **Settings → Metafields and metaobjects → Products** and click **Add definition**, then set:

* **Name** — `Bundle products`
* **Namespace and key** — `modutheme.bundle_products`
* **Type** — Product variant, list of values

Click **Save**.

![Creating the bundle\_products metafield definition in Shopify admin](/files/P5TppK5Z5Fx03Njv4laJ)

{% hint style="warning" %}
The namespace and key must be exactly `modutheme.bundle_products`, and the type must be **Product variant** — not Product. Helix reads this fixed key, and it needs a variant so it can show the right color and size on each row.
{% endhint %}

You only create this definition once — every product in your store can then use it.

***

## Step 2 — Create the bundle product and add its contents

Go to **Products → Add product** and create the product customers will actually buy — for example *Deep repair collection*. Give it its own title, images, price, and inventory, exactly like any other product. The products it contains stay in your catalog as separate products — you only reference them here.

Then, on that same product:

1. Scroll to **Metafields → Bundle products**.
2. Select the products in the bundle and, for each one, choose the exact variant it ships with.
3. Save the product.

Rows appear on the storefront in the order you add them here, so put the hero item first.

![Creating the bundle product in Shopify admin](/files/YFTnySb6G72s9f0mIodD)

{% hint style="info" %}
The variant you pick is the one shoppers see — a row for a *Black / Medium* t-shirt shows *Color: Black | Size: Medium*. Products with a single variant show no option line.
{% endhint %}

***

## Step 3 — Add the block to the product page

In the theme editor, open a product template → **Product information** section → **Details** block → **Add block → Bundle Includes**, then place it where you want it — usually just under the price or below the buy buttons.

![Adding the Bundle Includes block to the product Details block](/files/MMwmkIbkT3rcvXrcv7ia)

Then set the copy and look of the list:

* **Text** — the heading above the rows, for example *This bundle includes:*
* **Show price** — turn on to show each product's price on its row
* **Show dividers** — draw a line between rows
* **Border thickness** under **Product card** — raise it above 0 to turn every row into its own boxed card

For the full settings list, see [Product Details → Bundle Includes](/helix/product-page-sections/product-information/product-details.md#bundle-includes).

{% hint style="success" %}
Use a separate product template for your bundles — for example `product.bundle` — so the block only appears on bundle products. Assign it under **Online Store → Themes → Customize**, or from the product's **Theme template** field in admin.
{% endhint %}

***

## Result

On the storefront, the bundle product page shows the list of everything included, each row linking to the product it names. Customers still check out with the single bundle product.

![Storefront bundle page listing the products included](/files/Wl1nbeH16kUJmc1mz60r)

{% hint style="info" %}
A product with an empty **Bundle products** metafield shows nothing — the block stays hidden on the storefront. In the theme editor you'll still see three placeholder rows, so you can style the block before assigning any products.
{% endhint %}

{% hint style="info" %}
Pricing and stock come from the bundle product itself. If you also need the components' inventory to go down when a bundle sells, set that up with a bundling app — this block controls what shoppers see, not what the cart contains.
{% endhint %}
