Skip to content
Log in

Product bundles

On this page

Product bundles let you sell a curated group of products as a single offering. Customers configure and add the bundle to their cart from the bundle product page on your storefront.

StoreConnect’s native bundle system does not require Salesforce CPQ. If you are using CPQ, see Product bundles with Salesforce CPQ instead.

How bundles work

A bundle consists of:

  • An anchor product — the bundle itself (e.g., “Gaming Laptop Bundle”). This is the product your customers visit and purchase.
  • Components — the individual products that make up the bundle (e.g., a laptop, keyboard, monitor). Each component has quantity and pricing rules.
  • Component groups (optional) — logical groupings of components that let you apply additional selection and quantity constraints (e.g., “Choose your accessories”).

When a customer adds a bundle to their cart, the anchor product and each selected component appear as separate line items, grouped together under the bundle.

Set up a bundle

Step 1: Create the anchor product

Create a product to represent the bundle (e.g., “Gaming Laptop Bundle”). This is the product customers will visit on your storefront. It does not need to be a real product — it acts as the bundle container.

Step 2: Set the bundle pricing strategy

The pricing strategy controls how the bundle total is calculated. Set this on the Pricebook Entry for the anchor product.

Strategy How pricing works
flat_price The bundle total is the anchor product’s price only. Component prices are ignored.
component_price The bundle total is the sum of all selected component prices × quantities (less any free quantities).

Step 3: Create your component products

Create or identify the products you want to include as components. If a product should only ever be sold as part of a bundle (never standalone), check Bundle Only on its pricebook entry.

Step 4: Create Product Component records

For each component, create a Product Component record linking it to the anchor product. Set the following fields:

Field Description
Anchor Product The bundle anchor product
Component Product The product to include as a component
Required If checked, the component must be included. The customer cannot remove it.
Default Quantity Pre-selected quantity when the customer opens the bundle configurator
Minimum Quantity Minimum quantity the customer must select (0 = none required)
Maximum Quantity Maximum quantity the customer can select
Free Quantity Quantity included in the bundle price at no extra charge (applies to component_price strategy)
Position Display order — lower numbers appear first
Component Group (Optional) Assign to a group for additional constraints

Step 5: Create Component Groups (optional)

Use component groups to organise components and apply group-level selection rules. For example, an “Accessories” group where customers must choose at least one but no more than three items.

On the Component Group record, set:

Field Description
Display Name The group heading shown to customers on the storefront
Position Display order of the group
Minimum Components Minimum number of different components from this group the customer must select (0 = none required)
Maximum Components Maximum number of different components the customer can select from this group
Minimum Group Quantity Minimum total quantity across all components in this group
Maximum Group Quantity Maximum total quantity across all components in this group

Then assign each component to its group by setting the Component Group field on the Product Component record.

:::tip Minimum Components and Minimum Group Quantity serve different purposes. For example: Minimum Components = 2 means the customer must pick at least 2 different items from the group. Minimum Group Quantity = 4 means the combined quantities of all items in the group must total at least 4. :::

Quantity constraints

Constraints are enforced both in the browser (real-time feedback) and server-side before adding to the cart.

  • Required component with matching min/max/default: The component cannot be removed.
  • Min Quantity = 0, Required = false: The component is optional and can be excluded entirely.
  • Free Quantity: For the component_price strategy, the first N units of a component are included in the bundle price. Units above the free quantity are charged at the component’s price.

Nested bundles

A component product can itself be a bundle. This lets you build hierarchical bundle structures.

Example:

Ultimate PC Bundle ├── Gaming Laptop Bundle (nested) │ ├── Gaming Laptop (required) │ └── Keyboard Cover (optional) ├── 4K Monitor (optional) └── HD Webcam (optional)

Customers configure the nested bundle in a separate modal before adding the parent bundle to the cart. Quantities cascade: the parent bundle quantity multiplies through all nested component quantities.

To set up a nested bundle, create a Product Component record where the Component Product is itself a bundle anchor product. The nested bundle’s own Product Component records define its contents.

Bookable product bundles

A component product can be a bookable or rental product. When included in a bundle, customers select booking dates, times, and location for that component directly in the bundle configurator.

Each bookable component in a bundle can have a different booking period. Availability is validated per component when the bundle is added to the cart.

For more on configuring bookable products, see Sell bookable events and services and Configure rental products.

Customer experience

  1. The customer visits the bundle product page on your storefront.
  2. The bundle configurator displays required components (pre-selected) and optional components.
  3. The customer adjusts quantities, selects optional components, chooses variants, configures nested bundles, and selects booking details for any bookable components.
  4. The total price updates in real time as selections change.
  5. The customer adds the bundle to the cart. The anchor product and each component appear as grouped line items.
  6. To edit a bundle in the cart, the customer selects Edit. The configurator reopens with the current configuration pre-filled.
  7. Removing the bundle from the cart removes all component line items together.

Salesforce object reference

The bundle system uses these custom Salesforce objects:

The Bundle Price Strategy and Bundle Only fields are on the Pricebook Entry record for each product.

Was this article helpful?

Was this article helpful?