How do I sell bundles in Shopify?
Updated over a week ago

There are times when you want to sell multiple products together as one bundle product. For example, 3 framed posters that look great next to each other on the wall. Follow this guide to set this up for your store.

This guide shows how it is done with Shopify but the same principles apply to all other e-commerce platforms too.

  • Step 1: Create the product bundle in your ecommerce store

If you already have your bundle in your Shopify (or other) store then you can proceed to the next step. Otherwise, start by creating the product bundle. In this example, we will create a bundle for 3 framed posters. Note that the bundle could be anything and they do not need to be the same products.

Add in Shopify the product with the regular information: title, description, image, price, etc., and then save it.

In this example, we will be selling 3 posters with white frames with flower artwork.


Your bundle will consist of separate products/items in Gelato. We do not have bundle pricing. The bundle product in the above example will consist of 3 framed posters. You will have to pay Gelato for the full price of each of those 3 framed posters. You can decide on the retail price of the bundle in your store.

  • Step 2: Create each separate product in Gelato

In Gelato, we now need to set up each of the three framed posters that are part of the bundle.

Create each product with the normal process for creating a product in the Gelato dashboard. Go through each of the steps of designing your artwork, selecting mockups, product details, and prices.

If you do not wish to sell the individual products of the bundle separately, on the product details page deselect "Show product to store visitors". This will save the product as a draft in your ecommerce store.

If you do want your customers to be able to buy them separately, you can leave this option selected.

Screenshot 2023-08-01 at 12.02.05.png

Complete the details and pricing and then press Publish product.

Repeat this step for each of the products in the bundle.

  • Step 3: Activate 'Import not connected orders'

To be able to receive orders for the bundle product from your ecommerce store, you need to allow Gelato to import orders for products that are not connected to Gelato. This means that when an order is made for the bundle, it will show up in your order list in Gelato as 'Not connected'. You can then choose to fulfill it with Gelato.

To activate Import orders: Go to Stores > Select your store -> Settings -> Enable "Import not connected orders"

When an order that is not connected comes into the system it will look similar to the one below.

  • Step 4: Adding the separate products to the bundle order

The final step is to now fulfill the order for the bundle with the separate products and "remove" the bundle product.

When you click on the order it will look like below. The bundled product is marked as being 'Not connected'.

Click 'Complete order' to start the fulfillment process and edit the order.


Select "Add product"


And then 'Select existing product'


Select the product you created for the bundle from the list and add it to the order.


Repeat this with each of the additional products in the bundle.


Click "Ignore" on the original bundle product. And select to ignore it only for this order. This means that next time the bundled product comes in another order will be created, which is what you want.


When you have ignored the bundle product and have at least one product added to the order to be fulfilled the status will change of the order to 'Pending approval'. Of course, make sure all products in the bundle are included. In this example, all 3 flower posters should be included before continuing.

You can now continue to the shipping and payment pages to complete the order and send it to the customer.

Currently, by ignoring the original product, we can't send the tracking code to Shopify and Etsy automatically. You can manually add this or send it to the customer. This is an area we are looking to improve.

Did this answer your question?