You can use a price from a price book as a condition or a discount for a promotion. In either case, you don't have to assign the price book to the site associated with the promotion.
When you use a price from a price book as a discount, all qualifying products use prices from the price book set in the promotion's discount.
For example, a promotion triggers when a shopper adds three or more of a product to their cart. Instead of using the product's original price from the storefront price book, which is $10, the product uses the price from a promotional price book, which is $8.
Price from price book discounts don't support tiered pricing.
For example, in a price book, the product's price drops from $10 to $9 after a shopper adds five to their cart. If this price book is used as a promotion, the product costs $10 regardless of how many the shopper adds.
When you use a price from a price book as a condition, a discount triggers when a shopper adds a product with a price from a specific price book to their cart.
For example, if price book-A defines a product price as $50 and price book-B defines it as $75, a promotion with a qualifier that use price book-A triggers.
These are the operator settings:
These examples show the usages of the Storefront Price In (recursive), Storefront Price In, and Price In promotions. The examples consider use cases where these promotions are used with a standalone price book and when price books are structured hierarchically.
Price Book | Price | Storefront Price In (recursive) | Storefront Price In | Price In | Reason |
---|---|---|---|---|---|
Standalone Price Book | 75 | X | Matches Price In because the price is defined | ||
Parent Price Book | 100 | X | X | Matches Price In (same as preceding entry) and matches Storefront Price In (recursive) because a child price book matches | |
Child Price Book | 75 | X | X | Same as preceding entry | |
Child of Child Price Book | 50 | X | X | X | Same as preceding entry, and Storefront Price In matches because this is the lowest price |
This example shows how Storefront Price In (recursive) differs from Storefront Price In.
The price book hierarchical structure matters for Storefront Price In (recursive). When a product is included in the child of a child price book, Salesforce B2C Commerce checks its parent and finds no price defined. Then it check the parent's parent, and finds a price defined. The parent price book, therefore, matches a Storefront Price In filter, even though the price in that price book isn't the price used in the storefront.
Price Book | Price | Storefront Price In (recursive) | Storefront Price In | Price In | Reason |
---|---|---|---|---|---|
Standalone Price Book | 50 | X | X | X | Matches all three because a price is defined and it's the lowest price |
Parent Price Book | 100 | X | X | Matches Storefront Price In (recursive) because a child price book has the lowest price and matches Price In because a price is defined | |
Child Price Book | N/A | X | Matches Storefront Price In (recursive) because a child price book has the lowest price | ||
Child of Child Price Book | 50 | X | X | X | Matches all three because a price is defined and it is the lowest price |