Choice of Bonus Product Discount

You can offer your shoppers a choice of bonus product as a discount. For example, spend at least $1000 on living room furniture and get your choice of 3 different types of televisions.

A bonus product is only added to a shopping cart if the bonus product is online and orderable. The product is orderable if an inventory list is assigned to the site (it’s available to sell (ATS) or there isn't an inventory list assigned to site (availability isn't evaluated).

See ProductAvailabilityModel.isOrderable() in the Salesforce B2C Commerce API documentation for more information.

Important: You can’t assign a bonus discount to a master product because a master product isn't orderable.

To configure bonus products, define rules in Business Manager or use the list functionality and customize your application. Rule-based bonus product discounts let you use a category as a pool of potential bonus products instead of specific Product IDs.

For example:

For both discounts, if the discount applies for a basket, B2C Commerce adds a BonusDiscountLineItem to the cart, representing an entitlement to a bonus product.

When the B2C Commerce Script API is called to select a bonus product (for example, using AddBonusProductToBasket), B2C Commerce validates the product against the configured rule. It rejects the product unless it satisfies the promotion product rule. B2C Commerce identifies bonus products that are improperly associated with BonusDiscountLineItem and don't satisfy the configured product rule. B2C Commerce removes the product from the cart.

The following table describes some differences between the two discounts.

Feature Rule-based List-based
Tiered promotions Tiered promotions can't include rule-based bonus choice discounts. Tiered promotions can include list-based choices, where each tier has a free or defined price bonus product.
Precalculation

Precalculation for rule-based bonus choice discounts isn't possible.

B2C Commerce precalculates whether there are available bonus products online. If not, the promotion acts disabled and doesn't add an entitlement to the cart even though the basket qualifies for it. This behavior prevents a frustrating storefront user experience. It also prevents an invalid promotion from blocking other valid product promotion from applying based on exclusivity rules.
BonusChoiceDiscount class Represented Represented
Application customization Not required Required

Rule-Based

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 can be large. The SiteGenesis application shows a window with at most 10 products per page. The SiteGenesis application implements this feature via the promotion ID RuleBasedChoiceOfBonusProduct.

Note: When you enable global product exclusions, and the rule-based discount search results contain excluded products, the area where rule-based products would appear is blank.
Note: Rebuild the product index after creating this discount type.

List-Based

Configure the discount and change your storefront application. If you only configure it in Business Manager, no discount appears in the storefront. When this discount applies in the storefront, a placeholder is added to the cart containing the discount information. The shopper can add free products to the basket.

You must add extra workflow to your code that notifies a shopper that they are entitled to the bonus products and lets them select the products.

This discount lets shoppers:

If every bonus product is offline, no longer assigned to the site catalog, out of stock, or no longer exists, the promotion doesn't apply. If the bonus promotion previously blocked another product promotion because of exclusivity and rank, the previously hidden promotion applies 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 because of performance considerations. You can configure the order in which the products appear. Bonus products must be online and assigned to the site catalog. You can configure how many bonus items the shopper can select, up to a maximum of 10. The promotion isn't intended to let users select several products, each with a different price. If your goal is to apply promotions to many products at the same time, consider using other promotion types.

Product Types

Product type Details
Variation You can include a master product or a subset of its variants in a Choice of Bonus Product promotion. If the master product is in the list, the shopper can select any of its variants. If the discount allows multiple bonus products, the shopper can select multiple different variants. The shopper can change selection by removing the selected product and selecting different variants. If specific variants are listed, the shopper can only choose from those. In this case, each appears as a separate choice with no way to change variation attribute values.
Option The shopper can select any option on the bonus selection page. They can change option selections anytime by removing the selected product and 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 shopper 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 shopper must select options before adding the bundle to cart. Shoppers can change selections at any time by removing the selected bundle and adding it using 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.