Loading

Salesforce CPQ Product Selection Rule Best Practices

Date de publication: Feb 4, 2026
Description

When you use Product Selection Rules in Salesforce CPQ to hide or show products based on conditions that can change during bundle configuration, you must account for how those conditions are evaluated over time. If a rule hides or shows products when conditions are met, an inverse rule is required to undo that behavior when the conditions are no longer met. Without this approach, products may remain incorrectly hidden or visible during product selection.

Product Selection Rules are evaluated during configuration and can respond to changes such as configuration attribute values, option selections, or other dynamic inputs. However, Selection Rules only take action when their conditions are met. If conditions change and are no longer met, the original rule does not automatically reverse its action.

For example, a rule that hides a product option when an error condition is met will continue to hide that option even after the error condition is resolved—unless another rule explicitly reverses the action.

Résolution

Standard Practice: Create an inverse rule

When creating Product Selection Rules that hide or show products based on conditions that may change during configuration, always create an inverse rule that counteracts the original action.

Best Practice Guidelines:

  • Create one rule to act when conditions are met (for example, hide a product)

  • Create a second rule with the inverse condition to reverse the action (for example, show the product).

  • Ensure both rules are evaluated consistently during configuration changes.

This approach ensures that product visibility remains accurate as the user updates configuration inputs.

Alternative Workaround: “Blank Slate” Product Selection Rule

As an alternative to creating paired Selection Rules, you can implement a “blank slate” rule that resets product option visibility before all other Product Selection Rules run.

This approach ensures that each calculation cycle starts from a known state.

STEP 1: Create a new Product Selection Rule with the following settings:

Conditions Met: All
Scope: Product
Active: True
Evaluation Event: Always
Evaluation Order: 1

Important: Ensure that all other Product Selection Rules in the org have an Evaluation Order greater than 1 so they run after this rule.


STEP 2: Create Actions to Hide All Relevant Product Options

Add Product Actions to this rule to Hide all Product Options in the bundle that are controlled by Product Selection Rules.

These actions reset product visibility at the start of every evaluation cycle, allowing subsequent Product Selection Rules to selectively show or hide options based on current conditions.

STEP 3: Create a Configuration Rule to connect this rule to the Parent Product 

This is a required step for any Product Scoped Selection Rule 


NOTE: You you do not need any error conditions for this rule
- This rule does not require any error conditions. It is designed to always run first whenever a calculation refresh occurs on the Product Selection page.

Examples of actions that trigger a calculation refresh include:

  • Changing a Configuration Attribute with Apply Immediately set to True

  • Adding or removing bundle options

  • Updating option quantities

Result

By using either inverse Product Selection Rules or the “blank slate” workaround:

  • Product visibility stays in sync with changing configuration conditions.

  • Hidden or shown options are reliably updated as users modify the bundle.

  • Configuration behavior is more predictable and easier to maintain.

Ressources supplémentaires
Numéro d’article de la base de connaissances

005305184

 
Chargement
Salesforce Help | Article