# Product Bundles add-on – bulk creation and visual linking

> A guide to creating product bundles in bulk on Shoptet with a Google Sheets script, import files, bulk image uploads and variant linking.

- **Zdroj:** https://www.webmakeria.com/guides/general-shoptet-guides/product-bundles-add-on-bulk-creation-and-visual-linking/
- **Doplněk / kategorie:** General Shoptet guides (https://www.webmakeria.com/guides/obecne-navody-pro-shoptet/)
- **Datum:** 2026-03-07
- **Autor:** Webotvůrci (https://www.webotvurci.cz/)

---

## Preparing products for bundles

Before you start building bundles, make sure that every product you include:

- **Is available in the same warehouse.**
- **Has the same visibility and availability.**

Product visibility and availability carry over automatically to the bundles you create.

## Creating the first bundle

Start by creating a single bundle in your online store that will serve as a template for the rest. When you build it:

- Use **generic texts** so they work for the other combinations too.
- Pick **images** that can be reused across the other bundles.

Then download an export containing these required columns:
- `code`
- `pairCode`
- `name`
- `price`

Avoid these columns: `atypicalShipping`, `atypicalBilling`, `adult` — if they carry the value `0`, the import may activate them automatically.

## Combining

You can calculate the total number of bundles by multiplying the number of variants of each product.

**Example:** 4 mugs × 2 snacks × 2 wines = 16 different bundles

It's best to prepare the combinations in a spreadsheet editor or with a Google Sheets script.

## Google Sheets script

The script is available **only for Google Sheets** (not for Excel).

**Setting up the spreadsheet:**

1. Create a new file in Google Sheets
2. Rename the first sheet to "Bundle items"
3. Fill in the product variants starting from row 1 — alternate the columns: name and code

Structure:

| Column | Content |
|---------|-------|
| A | Name of product 1 variant |
| B | Code of product 1 variant |
| C | Name of product 2 variant |
| D | Code of product 2 variant |

**Inserting the script:**

1. Go to Extensions → Apps Script

![Google Sheets spreadsheet with product variants and the Extensions menu open, Apps Script highlighted](https://www.webmakeria.com/uploads/navody/sady-produktu-01-apps-script.png)

2. Paste in the JavaScript code provided
3. Click Save

![Apps Script editor with the script code pasted in and the Save button highlighted](https://www.webmakeria.com/uploads/navody/sady-produktu-02-vlozeni-skriptu.png)

4. Run the `generateCombinations()` function

The script creates a new sheet named "Combinations DATE TIME" containing every possible combination.

### Creating bundle codes

Use the `CONCATENATE` function to automate this:

```
=CONCATENATE("SADA";B2;D2)
```

**Important:** "Don't use diacritics or special characters that could cause errors during the import."

## Building the import file

**Steps:**

1. Copy the structure of the sample bundle (header + row data)
2. Put the unique bundle codes into the `code` column
3. Into the `setItem`, `setItem2` and similar columns, put the product codes in this format:
   ```
   01111;1.00
   ```
   (product code; number of units)

4. Use `VLOOKUP` to automate this:
   ```
   =CONCATENATE(VLOOKUP($A19;'List 3'!$A:$K;3;0);";1.00")
   ```

5. **Test the import with a single bundle** before you upload all of them in bulk.

## File naming

Recommended naming:

- **Exports** → `EXT_products.xlsx`
- **Imports** → `IMP_bundles.xlsx`
- **Working files** → `WS_combinations.xlsx`

Save them into separate folders: `📁 Exports`, `📁 Imports`, `📁 Working files`

## Bulk image uploads

The most efficient approach:

1. Upload the images externally (website/server)
2. Create a spreadsheet with the image URLs
3. Use `VLOOKUP` to match them to products
4. The images are assigned automatically once you import into Shoptet

Images should be in "optimized formats (JPG, PNG, WEBP)."

## Many bundles in one category

**Solution — hide them in nested categories:**

1. Leave one bundle visible in the main category
2. Move the other bundles into a nested subcategory
3. Use bulk import to edit the categories

Example of the `categoryText` column:
```
Propojení produktů > Dárková balení – produkty > Skrytá kategorie >> Varianty
```

The two arrows (`>>`) at the end mean the product will be in this category only.

![Category tree in the Shoptet admin – under the Gift packaging category there is a hidden category with a nested, checked Variants subcategory](https://www.webmakeria.com/uploads/navody/sady-produktu-03-skryta-kategorie.png)

**Note:** "Products hidden this way can only be found through the search bar."

## Linking bundles through variants

Use the **Product Linking** add-on to connect the different variants of one bundle, so customers can switch easily between combinations.

The number of linking levels depends on how many parameters the customer picks.

## Watching stock levels

**Two options:**

1. **Manual monitoring** — track stock by hand and adjust the availability of your bundles
2. **Create hidden products** — create every non-sellable item as a product, add it to the bundle and hide it in a nested category

"All bundle items must have the same availability and visibility as the bundle itself."

---

**Contact:** shoptet@webotvurci.cz

---

*Návod pochází z webu Webotvůrci — Zlatý a Premium partner Shoptetu.*
*Všechny návody: https://www.webmakeria.com/guides/ · Kontakt: jsme@webotvurci.cz*
