Interview Questions - CPQ Product Rules
Searching for a Salesforce CPQ specialist or want to become one, then this article is for you!
Instead of theoretical interview questions, this series of Salesforce CPQ Interview Questions focuses on the practical use cases and scenario based interview questions that would help you to understand the significance of Salesforce CPQ configurations and features in detail.
1. What are Product Rules in Salesforce CPQ?
Answer: Product Rules help manage the product compatibility and dependencies effectively They allow you to evaluate product options within a bundle, or a quote, or a quote line against pre-defined conditions and then perform actions in response. They help enforce business logic during bundle configuration and quoting process. They assist Sales Reps to maintain quote accuracy by showing the informational messages/ validation erros regarding product selection and by limiting product offerings within a bundle.
Trailhead Article Link –https://trailhead.salesforce.com/content/learn/modules/product-rules-in-salesforce-cpq/get-started-with-product-rules?trail_id=cpq-admin&trailmix_creator_id=dennishpalmer&trailmix_slug=morecpq
2. What are different types of Product Rules?
Answer: Based on the action that it performs there are 4 types of Product Rules-
Type | Purpose | Example |
Alert | Shows a message to your sales reps about a potential issue, but allows them to ignore it. | Reminds sales reps of an upsell opportunity when they add a specific product to the quote. |
Validation | Shows a message to your sales reps about a problem they must fix before they’re allowed to save the configuration or quote. | Tells sales reps they’ve selected the wrong toner for the printer they’re trying to add, and stops them from saving the illegal configuration. |
Selection | Automatically adds, removes, or hides products during bundle configuration. Also, automatically adds products to a quote. | Pre-checks options in a bundle based on the account’s industry type; unchecks and hides options known to be incompatible. |
Filter | Shows only specific products in a feature that uses the Dynamic selection option. | Lists only products with a product code that contains the letters “cable” in a mini product selection page. |
Trailhead Article Link – https://trailhead.salesforce.com/content/learn/modules/product-rules-in-salesforce-cpq/get-started-with-product-rules?trail_id=cpq-admin&trailmix_creator_id=dennishpalmer&trailmix_slug=morecpq
3. When exactly the Product Rules are executed during the quoting process?
Answer: Product Rules are executed either on the Product Configuration Page or on the Quote Line Editor. This is decided based on below Product Rule Fields-
a. SCOPE – (Values: Product/Quote) – The Scope field on the product rule record tells CPQ WHERE the rule should run. A scope of “Product” means the rule will run during product configuration, and a scope of “Quote” will make it run on the Quote Line Editor.
b. EVALUATION EVENT – (Values: Load/Edit/Save/Always) – The Evaluation Event field on the product rule record tells CPQ WHEN the rule should run.
Scope | Evaluation Event |
Occurs When the User… | Applicable Rule Types |
Product | Load | First loads the Product Configuration page. | Selection, Filter |
Product | Edit | Changes specific configuration attributes or options on the Product Configuration page. | Selection, Validation |
Product | Save | Clicks the Save button on the Product Configuration page. | Alert, Validation |
Quote | Save | Returns to the Quote Line Editor after selecting or configuring a product. | Selection |
Quote | Save | Clicks the Save or Quick Save buttons on the Quote Line Editor. | Alert, Validation |
Note: A product rule can run on either the Product Configuration page or on the Quote Line Editor, but not both! It’s rare that the same business logic needs to be in both places, but if you find yourself in that situation, you have to create two separate rules.
Trailhead Article Link – https://trailhead.salesforce.com/content/learn/modules/product-rules-in-salesforce-cpq/decide-when-rules-evaluate?trail_id=cpq-admin&trailmix_creator_id=dennishpalmer&trailmix_slug=morecpq
4. What is the difference between Option Constraints and Product Selection Rules?
Answer: Both Option Constraints and Product Selection Rules help to ensure only valid combinations of products are selected on the quote.
An option constraint is a simple tool that behaves a little like a product rule, used only in the context of bundles. It ties two options together, so that one can only be enabled/disabled if the other is selected.
Product Rules allow you to evaluate product options within a bundle, or a quote, or a quote line against pre-defined conditions and then perform actions in response.
Differences | Option Constraints | Product Selection Rules |
Supported Actions | Enable, Disable | Add, Enable, Disable, Remove, Enable & Add, Disable & Remove, Hide, Show, Hide & Remove, Show and Add |
Conditions | option constraint has one simple condition: if option X is selected | Product rules can have multiple conditions that evaluate information outside the context of the bundle i.e. Quote/ Opportunity/ Account level fields. |
Scope | option constraint is limited to just the one option | Product rules can act on multiple options |
Context | Used only in the context of bundles. Works on the options within the same bundle. It is specific to a single bundle. | Used in the context of bundles as well as standalone products. A single product rule can be applied to unlimited bundles. |
Result | Can’t automatically select/ deselect a product | Can automatically select/ deselect a product |
5. ABC Corp. sales Software and Hardware products. There is a Type (Software/ Hardware) field on the quote. As a Product Manager, I want to show only the products that matches with Quote’s Type. How would you configure SF CPQ to achieve this?
Note: If you want Sales Reps to be able to change the quote type from Software to Hardware and vice a versa, you would need to create additional validation rule to prevent Sales Reps from changing Quote’s Type while having quote lines present on the quote.
6. My Product scoped Selection Product Rule works for 4 out of 5 bundles. What could be the reason?
Answer: You might have missed adding the Configuration Rule for Bundle #5 or it might be Inactive.
To apply the Selection Product Rule to a specific Bundle Product, you need to associate it to the bundle product through a Configuration Rule.
If you need the rule to apply to more than one bundle, you just create more configuration rule records.
7. How to apply a Selection Product Rule to a specific Product Feature within a Bundle Product?
Answer: Select the expected Product Feature while creating a Configuration Rule to associate the Selection Rule to the Bundle Product.
8. When Sales Rep selects OPTION A, OPTIONS B, C and D should be removed and disabled. How would you make sure that this works in real-time as soon as OPTION A is selected?
Answer: Set Product Rule’s Evaluation Event to Edit/ Always and set “Apply Immediately” flag to True on the Product Option A record.
NOTE: Set “Apply Immediately” flag on the Configuration Attribute to True if you want to apply a product selection rule in real-time i.e. as soon as the Configuration Attribute value is changed.
9. What is the purpose of using Lookup Queries for Product Rules?
Answer: Lookup Queries for Product Rules are used to query the pre-defined set of data from custom object (lookup object) records to dynamically define Product Rule conditions and actions.
Product rule’s lookup query maps data from your lookup object back to your product rule. Your product rule contains several lookup fields for accepting data from the lookup object.
PRODUCT RULE FIELD | SELECTION RULES REQUIRE THESE VALUES FROM YOUR LOOKUP OBJECT | VALIDATION RULES REQUIRE THESE FIELDS FROM YOUR LOOKUP OBJECT | ALERT RULES REQUIRE THESE FIELDS FROM YOUR LOOKUP OBJECT |
Lookup Object FIeld | API Name of a custom object | API Name of a custom object | API Name of a custom object |
Lookup Type Field | SBQQ__Type__c or a custom field | None | None |
Lookup Product Field | SBQQ__Product__c or a custom field | None | None |
Lookup Required Field | SBQQ__Required__c or a custom field | None | None |
Lookup Message Field | SBQQ__Message__c or a custom value | SBQQ__Message__c or a custom value |
Product rules that use lookup queries are an excellent way to reduce the number of rules you have to create.
Note: When a product rule uses a lookup query, it ignores the value of the Feature field on the product rule’s configuration rule. This ensures that the product rule filters using only the lookup query’s parameters.
10. What are Dynamic Bundles in Salesforce CPQ?
Answer: If your bundle configuration changes frequently and you regularly cycle new products in and out of your bundles, it becomes a little tedious to add/remove the product options to/from the bundles. This can be simplified by using the Dynamic Bundles. Dynamic bundle automatically pick up new, relevant products, and drop those that are no longer needed.
Dynamic bundles have a special Product Feature that appears just like any other, but instead of showing a list of options, it shows a link to add options.
Advantage of Dynamic Bundles – you don’t have to create product options records for the products listed under the dynamic bundle product. It’s so much easier to add/remove these “virtual options” to/from the bundle whenever needed.
Limitations of Dynamic Bundles – Since you do not create option records, you lose the ability to control how the virtual options behave. For example, with a regular option you can set a maximum quantity, but with a virtual option you can’t.
So dynamic bundles are best suited for products that don’t require strict enforcement of business logic.
Note: Selection Product Rules with Show/Add actions will not be respected by the dynamic feature. If a product has already been selected from within a dynamic feature, then Hiding/Removing actions will be respected.
Steps to create a Dynamic Bundle/ Product Filter Rule-
1. Set the Option Selection Method on the Product Feature to DYNAMIC.
2. Create the field to be used for filtering on the Product Object.
3. Create the field to be used for filtering on the Product Option Object (Ensure that the API is the same as the field created on the Product)
4. Create the corresponding Filter Product Rule (Type = Filter)
Article Link- https://help.salesforce.com/s/articleView?id=000381705&type=1