Product Bundles With Salesforce CPQ
storeConnect® supports Salesforce CPQ for the purposes of bundling and selling products together. storeConnect store operators can use this functionality to:
- Offer products (including variants thereof) to be sold as a bundle, instead of (or in addition to) individually.
- Enforce rules regarding the quantities that are purchased of bundled products (e.g. minimum and maximum).
- Require that related products be purchased when purchasing the lead product in the bundle.
- Specify different pricing structures for bundled products.
Salesforce CPQ & Billing is an optional package that can be installed into your Salesforce organization. Once installed, a new application is available within the organization called “Salesforce CPQ”, which allows administrators to configure the above functionality (and more). It encompasses a wide range of functions, but is implemented in storeConnect mainly for the purposes of product bundling.
“CPQ” stands for Configure, Price, and Quote. It is mainly used by sales teams to generate customized and dynamic quotes for clients. Within storeConnect sites that outcome is slightly shifted; the end result is a cart of products that your customer has chosen to purchase as a group, rather than a quote from a sales team to a prospective client.
To learn more about how CPQ works, complete this Trailhead course by Salesforce.
You need to assign the Salesforce CPQ Partner User permission set as well as one Salesforce CPQ license to your storeConnect synchronisation user for your storeConnect store to be able to work with the CPQ objects.
Activation Within storeConnect
You don’t have to do anything! Your storeConnect site will detect the presence of the CPQ package in the organization that it is connected to, and the CPQ functionality will enable automatically.
Configuring a Bundle
Bundles are configured within the Salesforce CPQ interface as per normal CPQ idioms. Here are the key concepts that you will need to be familiar with:
Product Options: These are the basic building blocks of product bundles. They link products together, with each Product Option record having a “lead product” and a “bundled product”. Thus, instead of there being a single entity within Salesforce that represents the bundle itself, it is better to think of a bundle as “a lead product which has multiple bundled products through Product Options”. The products themselves are just regular Product records; there is nothing special about them.
Product Features: These are optional groups of Product Options in a bundle. For example, if you run a store selling a computer bundle, you might create a Product Feature called “External Devices”, with Product Options within it for products like “Keyboard”, “Mouse”, and so on.
Within storeConnect, “product variants” represent slight differences of the same core product (variants, if you will). For example, a “Shirt” product might have three variant products: “Shirt - Small”, “Shirt - Medium” and “Shirt - Large”. For the purposes of configuring bundles, you don’t need to individually create Product Options for each variant. Simply create one for the master product and the variants will also be considered part of the bundle by virtue of the master product’s inclusion.
With CPQ enabled and your bundles configured, the “Add to cart” button on the product page of the bundle’s lead product will change to “Configure as a bundle”. Once clicked, your customers will be walked through an interface prompting them to select all of the bundled products in turn. A final Summary screen will display the bundle to the user and remind them of any validations that need to be satisfied, before prompting them to click a single button to add the entire bundle to their cart. From that point on, they simply checkout the cart as per normal.
As mentioned above, as well as prompting your customers to purchase other products in a bundle, storeConnect enforces the following rules that you can configure within Salesforce’s CPQ interface:
Product Option minimum and maximum quantity: When set on the Product Option, these ensure that the quantity of the bundled product that the customer selects falls within the specified range. A validation message on the Summary tab will prompt the customer to update their selections to conform to the range if necessary. Both, either or neither can be set. If both are set they form an inclusive range. If only minimum is set then at least that number has to be selected, with no maximum. And if only maximum is set, then at least one has to be selected, up to the maximum (inclusive).
Product Option quantity editable: When this setting is unchecked, the customer will not be able to change the bundled product’s quantity from its default (unless it is zero, in which case it will always be editable). If the customer somehow manages to change the quantity, don’t worry, a validation message will display on the Summary tab prompting them to restore it back to its default before they can continue.
Product Option quantity: If this setting is set to a value greater than zero, it will display to the customer as the default quantity when viewing a bundled product. If it is not set (or it is set to zero), then the minimum quantity (see above) will be used if that is set and greater than zero. As an ultimate fallback, the “selected” setting is used (see below).
Product Option selected: Within CPQ’s quote-building interface this checkbox automatically adds the bundled product to the quote. Within storeConnect this setting is re-purposed to be a fallback default quantity of one if no other default quantity can be determined (see above).
Product Option required: Bundled products that are marked as required must be selected by the customer. The Summary tab will display a validation message prompting them to select it before they can continue.
Product Feature minimum and maximum option count: When set, this will display a validation message on the Summary tab prompting the customer to ensure they have selected enough bundled products within that feature to satisfy the requirement before they can continue (remember that Product Features are groups of Product Options).
By default, the price of products when purchased within a bundle is the same as when purchased separately. However, that can be configured using CPQ’s “option pricing” and “block pricing” features.
There are two types of pricing that can be achieved with option pricing:
Bundled pricing: If the “bundled” checkbox is ticked then the product will be free when purchased within the bundle. Use this when a product’s price is included within the overall bundle price. For example, you might want the user to select an accessory (e.g. electricity adapters for different countries) but the price of the accessory is covered by the price of the bundle’s lead product.
Price override: If a “unit price” is set directly on the Product Option record, then that price is used in place of the product’s price book price. Use this to specify a different price for a product purchased within a bundle than when purchased individually.
If neither of these two options are set on the Product Option, then the product’s standard price book price is used by default (as it is outside of bundles).
In Salesforce’s CPQ interface, you can optionally create associated “Block Price” records for a product. Each record has a lower bound, an upper bound, and a price. If a customer selects a quantity of a product that falls within the range of an associated Block Price record, then that price is used for the product’s line item on the cart.
For example, if there is a Block Price of $50 for quantities between 1 and 11, and the user selects the product with a quantity of 9, then the line item will have a total price of $50 once added to the cart.
Note that with Salesforce CPQ Block Prices the upper bound of this range is exclusive. In this example, the highest quantity that would receive the block price is 10. Think of the upper bound as “the maximum quantity that this range supports, plus one”. If you have multiple Block Price records, the lower bound of a record would always be the same as the upper bound of the preceding record.
Tip: Don’t forget to set the “Pricing Method” of the Product itself to “Block”, in order to activate Block Pricing. Again, that is set within Salesforce’s CPQ interface simply by editing the product record.
Back to Documentation