Recreate Basic Filters and Make a Subscription Filter
Create Search Filter Records for the Basic Filters
Right now, your CPQ-enabled org already has a few out-of-the-box filters on the Product Selection page. View them by opening the filtering pane with the filter button.
There are two ways that CPQ decides which Product fields to show in the filter pane. The first is to look at the Search Filters field set on the Product object. The Product Code, Product Name, and Product Family fields are already in that field set. Any custom field you create can also be added to the Search Filters field set.
However, the field set method has a few big limitations. Most of the Product fields that CPQ uses, such as Subscription Type, can’t be added to the field set. Additionally, you can’t control search behaviors, like how text is matched (that is, ‘starts with’ versus ‘contains’).
There’s another more flexible way to show a field in the filter pane: creating a Search Filter record. This second method lets you add most Product fields as a filter, control matching behavior, and do other fancy things you learn about later.
Be aware, Salesforce CPQ uses either the Search Filters field set or the Search Filters records, but not both! The moment you start using records, CPQ ignores anything in the field set. For that reason, re-create the Product Code, Product Name, and Product Family filters so that they still exist when you create other Search Filter records.
So, start your Search Filter adventure by creating a Search Filter record for Product Code.
- If you don’t already have your CPQ-enabled org open, scroll down to the Challenge section and click Launch to open it.
- Click the App Launcher (
), and click the Salesforce CPQ tile.
- In the navigation bar, click Search Filters, which may be under the More tab.
- Click New.
- For Filter Name, enter
Product Code
.
The name is shown in the filter pane, so choose something your sales reps will understand. - For Target Object, choose Product.
- For Target Field, choose Product Code.
The Target Object and Field combination tells CPQ what exactly it should search. - For Operator, choose contains.
The Operator tells CPQ how to conduct the search. Now when a sales rep searches for “usb”, CPQ will find products that contain USB anywhere in the product code, such as 4PORTUSBHUB. The original filter showed only those products that started with USB. - For Display Order, enter
10
.
Filters appear in the filter pane from top to bottom based on display order. - Click Save.
Great! You’ve replaced the original Product Code field that appeared in the search pane with your new filter. Now it’s better than ever.
Let’s re-create the filters for Product Name and Product Family.
- In the navigation bar, click Search Filters.
- Click New.
- For Filter Name, enter
Product Name
. - For Target Object, choose Product.
- For Target Field, choose Name.
- For Operator, choose contains.
- For Display Order, enter
20
. - Click Save & New.
- For Filter Name, enter
Product Family
. - For Target Object, choose Product.
- For Target Field, choose Product Family.
- For Operator, choose equals.
This time you choose “equals” because picklist values, like those stored in the Product Family field, must be matched exactly. - For Display Order, enter
30
. - Click Save.
Good work—the three original product fields are now back in the search pane. Next, add other useful filters to help the sales reps of AW Computing.
Create a Search Filter for Subscription Pricing
The Subscription Pricing field is the first new field that the sales team wants to base a search on. This will help them view only subscription-based products. But before you can make the new search filter, you need to update the Target Field picklist. Your first three filters used preloaded Target Field values. However, your org doesn’t currently have Subscription Pricing as a choice, so you have to add it.
- Click
and click Setup. The Setup page opens in a new tab.
- In the navigation bar, click Object Manager.
- Click Search Filter. (Hint: Enter
Search Filter
into the Quick Find box to reduce scrolling.) - Click Fields & Relationships.
- Click Target Field.
- In the Values table, click New.
- Enter
SBQQ__SubscriptionPricing__c
.
Always use the API name when adding fields. Even if the field label changes, it’s unlikely the API name will change. - Click Save.
- In the Picklist Options section, locate the Controlling Field entry and click Change.
- In the Product column, double-click SBQQ__SubscriptionPricing__c.
It should turn yellow, which means it’s a valid choice whenever the Target Object is set to Product. - Click Save.
Close the Setup tab in your browser to return to the Salesforce CPQ tab. Now that the Subscription Pricing field is in the picklist, you’re free to create the search filter record.
- In the navigation bar, click Search Filters.
- Click the refresh button in your browser.
If you don’t refresh, you might see the cached version of the page which won’t include SBQQ__SubscriptionPricing__c as a picklist value. - Click New.
- For Filter Name, enter
Subscription Pricing
. - For Target Object, choose Product.
- For Target Field, choose SBQQ__SubscriptionPricing__c.
- For Operator, choose equals.
- For Display Order, enter
40
. - Click Save.
And that’s it, you’re ready to test your work.
- In the navigation bar, click Quotes
- Choose the All list view.
- Click Q-00054.
- Click Edit Lines.
The first time the page loads, it can take a few minutes. Subsequent page loads are faster. - Click Add Products.
- Click the Filter button (
).
You should see all 4 fields in the filter pane. - For Subscription Pricing, choose Fixed Price.
- Click Apply.
Great! The list of 150+ products should have shrunk to a little more than a dozen. The sales reps at AW Computing appreciate that you made it much easier to find subscription products!
In the future, whenever you want to add another product field to the search pane, follow the same steps you used for Subscription Pricing.
- Add the API name into the Target Field field. (Remember to update the Controlling Field at the same time.)
- Create a search filter record.