Choice of Bonus Product Discount

You can provide your customers with a choice of bonus product discount, for example, Spend at least $1000 on living room furniture, and get your choice of 3 different types of televisions. In Salesforce B2C Commerce, there are two ways to do this: via rules in the Business Manager user interface, or via the list functionality, where you must customize your application. Rule-based bonus product discounts enable you to use a category as a pool of potential bonus products instead of specific Product IDs.

For example:

These are some similarities between the two discounts:

The following table described some differences:

Feature Rule-based List-based
Tiered promotions Tiered promotions can't include rule-based bonus choice discounts. You can use this discount in tiered promotions, where each tier has a free or defined price bonus product.

Precalculation for rule-based bonus choice discounts is not possible.

B2C Commerce precalculates whether there are online, available bonus products. If not, the promotion acts as if it is disabled and no entitlement is added to the cart even though the basket qualifies for it. This behavior was implemented to prevent a frustrating storefront user experience and to prevent an invalid promotion from blocking other valid product promotion from applying based on exclusivity rules.
BonusChoiceDiscount class Represented Represented
Application customization Not required Required


With the rule-based promotion, you can configure a choice of bonus product rule as you would any rule-based product or order promotion. When using this discount type, the product results set might be large. To accommodate this, the SiteGenesis application shows a window with at most 10 products per page. The SiteGenesis application implements this feature via the promotion ID RuleBasedChoiceOfBonusProduct. With this promotion, a customer can get a free video game with the purchase of a video game console.

Note: When global product exclusions are enabled, and the rule-based discount search results contains excluded products, the area where rule based products would appear will be blank.
Note: You must rebuild the product index after creating this discount type.


With the list-based discount, you can configure the discount, but you must change your storefront application to use it. If you merely configure it in Business Manager, no discount will actually appear in the storefront. When this discount applies in the storefront, a placeholder is added to the cart containing the discount information. The customer is entitled to add free products to the basket.

You must add additional workflow to your code that notifies a customer that he or she is entitled to the bonus products and enables the customer to select the products.

This discount enables customers to:

If all of the bonus products are offline, no longer exist in B2C Commerce, are no longer assigned to site catalog, or are out of stock, the promotion will not apply in the customer's cart. If the bonus promotion was previously blocking another product promotion because of exclusivity and rank, the previously hidden promotion will apply instead. This is similar to how other bonus discounts works.

Promotion classes and Types

In Business Manager, you can select up to a maximum of 50 bonus products to associate with the choice of bonus products (list) discount. The relatively low limit is due to performance considerations. You can configure the order in which the products appear. Bonus products must be assigned to the site catalog and online. You can configure how many bonus items the customer can select, up to a maximum of 10. Also, the promotion isn't intended to allow for the selection of several products, each with a different price. Consider using other promotion types if your goal is to apply promotions to many products at the same time.

Product Types

These types of products support the choice of bonus product discount:

Product type Details
Variation You can include a master product or a subset of its variants. If the master product is in the list, the customer can select any of its variants. If the discount allows multiple bonus products, the customer can select multiple different variants. The customer can change variation selection by removing the selected product and re-selecting different variants. If specific variants are listed, the customer can only choose those on the bonus selection page. In this case, each appears as a separate choice with no way to change variation attribute values.
Option The customer can select any option on the bonus selection page, and can change option selections anytime by removing the selected product and re-adding it with different options.
Bundle Bundled products don't count toward max bonus items (a bundle only counts as one item). If the bundle contains master products, the customer must select variations before adding the bundle to cart. In this case, all variants of the master product are selectable. If the bundle contains option products, the customer must select options before adding the bundle to cart. Customers can change selections any time by removing the selected bundle and re-adding it with different options.
Note: You can't use product sets for this discount.
X Privacy Update: We use cookies to make interactions with our websites and services easy and meaningful, to better understand how they are used. By continuing to use this site you are giving us your consent to do this. Privacy Policy.