Search Filters – Part 3 – Dynamic Search Filters

This series will help you understand the Search Filters in Salesforce CPQ, different use cases around Search Filters and how we can set them up.

Salesforce CPQ Search Filters enable sales reps to filter the products available for selection based on certain attributes. For instance, you can search for all the Products where Product Name contains “Laptop” keyword. Essentially, your product catalog becomes RESPONSIVE driving more sales.

Default/Standard Search Filters

By default, CPQ allows you to search for a product based on below product fields.

  • Product Code
  • Product Name
  • Product Family
  • Product Description

In case of Default/Standard search filters, which are available through the Search Filters field set on the product object, all the products available in a Price Book are loaded initially. To get the products of a specific type, Reps have to apply a filter using the Product Filter Box.

Custom Search Filters

Custom Search Filter, a pre-defined product filter, allows CPQ Admins to apply specific filters at the time of initial product load. For instance, Search Filter can be set-up to show all the products having Product Family = Software (a specific value). Also, it enables the Sales Reps to change the pre-loaded filter and apply a different filter or remove all the filters altogether.

Dynamic Search Filters

CPQ Admins can set Custom Search Filters to apply dynamically using Filter Source Object and Filter Source Field fields from Search Filter. At the time of initial product load, Products can be displayed based on a MATCH between one of its field value and a field value on the Quote. For instance, Search Filter can be set-up to show all the products having Product Family = Quote’s Product Type.

Your organization sells different types of products having Software, Hardware and Services Product Families and Sales Team wants to have ONLY Products having a specific Product Family on a particular quote. Creating a dynamic search filter makes a limited set of Products available to your Sales Reps. If necessary, they can navigate to the Product Filter Box and filter for products of another Product Family.

Use Case

Jack Johnson works as a CPQ Administrator at Universal Containers (UC). UC sells different types of products having Hardware, Software and Services Product Families.

Sales Team at UC wants to create separate quotes one for each Product Family. While adding products on a quote with a specific Product Family, Sales Reps should be displayed with the Products of that Product Family ONLY and NOT of any other Product Family.

So, when Product Catalog loads it should display ONLY the products having product family matching to Quote’s Product Family. Changing the Product Family at the Quote Level should change the products available for selection based on the changed value.

How to Setup Dynamic Custom Search Filters?

  1. Create a Product type (API Name: Product_Type__c) picklist field on Quote Object with below values-
    • Software
    • Hardware
    • Services
  2. Navigate to the Search Filters Tab and click New button.
    Search Filters Tab
  3.  Enter all the necessary information as mentioned below and click Save.
    • Filter Name: Enter a meaningful name.
    • Target Object: Product (Object containing the field that you want to search.)
    • Target Field: Product Family (Select the field of Target Object that you want to search.) If you want to search based on “MyCustomField__c” custom field, you need to add its API Name as a value in Target Field picklist.
    • Operator: equals (Logical operator that you want to check against your filter input. In this case, we want to see whether the Product Family field equals Software, so the field value should be Equals.
    • Display Order: 10 (Number that determines the display order of this filter relative to other Search Filters on the Quote Line Editor’s Search Filter box.)
    • Filter Source Object: Quote (Object that sources value for use in filtering.)
    • Filter Source Field: Product_Type__c (Select the field of Filter Source Object that sources value for use in filtering) If you want to filter based on “MyCustomField__c” custom field, you need to add its API Name as a value in Filter Source Field picklist.)
      Dynamic Search Filter

Let’s check it out

  1. Create a new Quote/ navigate to an existing quote and set its Product Type = Software.
    Quote Product Type = Software
  2. Click Edit Lines button.
    Quote - Edit Lines
    Quote – Edit Lines
  3. Click Add Products button. You will be redirected to the Product Selection Page.
    Product Selection Page
    Product Selection Page
  4. You can see that the pre-defined dynamic filter got applied and ONLY the products with Product Family = Quote’s Product Type i.e. Software are displayed on the Product Selection Page.
    Pre-defined Filter Applied (Product Family = Quote's Product Type i.e. Software)
    Pre-defined Filter Applied (Product Family = Quote’s Product Type i.e. Software)
  5. Select the filter icon as shown in the above image, you will be displayed with the Product Filter Box. If you observe closely, the Filter Name that we entered while creating a Search Filter i.e. “Filter by Product Family” appears as the Filter Heading here.
    Product Filter Box
    Product Filter Box
  6. You can search for the products of other Product Families by selecting a different Product Family i.e. Accessories. Click Apply.
    Changed Filter Applied (Product Family = Accessories)
    Changed Filter Applied (Product Family = Accessories)
  7. There is only 1 product with Accessories product family and the same gets displayed here.
    Changed Filter Applied (Product Family = Accessories)
    Changed Filter Applied (Product Family = Accessories)
  8. If you want to clear all the filters and see all the products available for selection, select the Filter icon again and click Clear Fields.
    Clear All Filters
    Clear All Filters
  9. Once you click Clear Fields, CPQ removes the values selected for all the Filters.
    Apply Clear All Filters
    Apply Clear All Filters
  10. Now, click Apply button. You can see all the products with different Product Families.
    Products with all Product Families
    Products with all Product Families

Hiding Dynamic Search Filters

If your Sales Team wants to limit the products available for selection based on the Quote attribute and to not allow the Sales Reps to search for another type of products by changing the Product Filter, CPQ allows you to HIDE the Product Filter. Hidden Search Filters are NOT available for changes in the Product Filter Box.

Setup

  • Set Hidden field on your Search Filter to TRUE if you want to hide it from the UI. Use this field if you want to limit the search results for your Sales Reps without them knowing about it.
    Hidden Search Filter (Hidden = True)
    Hidden Search Filter (Hidden = True)
    Hidden Search Filter
  • Create another Search Filter with Hidden = False
    Search Filter with Hidden = False
    Search Filter with Hidden = False

Let’s check it out

  • Check out the Product Filter Box on the Product Selection Page. Only Products with Product Family = Quote’s Product type i.e. Software are displayed. So, Filter by Product Family Hidden Filter got applied and is NOT AVAILABLE for changes on the UI. On the other side, Filter by Product Code Filter is available for changes in the Product Filter Box as its Hidden flag is set to FALSE.
    Filtered Products and Product Filter Box
    Filtered Products and Product Filter Box

 


Points To Note

  • If you create one or more Custom Search Filters or Dynamic Custom Search Filters by navigating to Search Filters tab, Salesforce CPQ doesn’t show any of the Default/Standard Search Filters that are set based on the Search Filters field set on Product object. You cannot have Search Filter field set based filters and Custom Search Filter object based filters at the same time.
  • To use Custom Search Filters similar to Default/Standard Search Filters, create Custom Search Filters with API Name of Product Code/ Product Name/ Product Family/ Product Description as the Target Field and set Filter Value = BLANK.