Search Refinement

You can let customers refine a search using multiple attributes, such as price, promotion, category, or a product attribute. For example, you might let customers search for TVs based on-screen size, price and manufacturer, or to search for lenses based on zoom magnification, price, and manufacturer. This is useful if you have a large catalog and any particular customer is only looking for specific products. For example, on an apparel site, most customers are not interested in items that are not in their desired size or color.

You can view refinements in the refinement bar, as shown in the SiteGenesis application, on the left side of the browser. The refinement bar is available after the customer performs a search or selects a category from the navigation bar.

The following example shows three refinements: category, color, and price. Within each refinement are buckets that contain values the customer can refine on. When the customer clicks the green swatch, only green clothing appears in the search results.



Each bucket can contain multiple values. For example, the green swatch might refine the search to include clothes that have sage, emerald, or bottle green as colors. Similarly, the $50–99.99 bucket can refine the search to contain products that are priced $56.00, $79.00, or $99.00.

You configure the refinement bar values in Business Manager as follows

  1. Category refinements: customers refine by subcategory. This is most useful for customers who have navigated to a top-level category from the menu on the main page.
  2. Attribute refinements: customers refine by attribute values, in this case, by selecting a particular shade of the color attribute.
  3. Price refinement: customers refine by a price threshold.
  4. Promotion refinement: customers refine by promotions (by Merchant Request only).
  5. Boolean refinements: customers refine by whether a boolean value is set to true or false.
  6. Date refinements: customers refine by whether the date set in a date refinement matches a period set up as a bucket.

You can also import search refinements from the catalog import file.

Note: You can create and maintain product attributes in many ways, for example, via import, product edit, or bulk edit. At the time of attribute creation, you might not use the attribute as a search refinement. However, if you decide to use it as a search refinement, understand that the pipe character "|" is reserved and can't be used as a search refinement attribute value.

When a customer clicks a bucket, the link creates a query and passes the value for the refinement to the Search-Show subpipeline as an extra parameter. The search query is performed again, rather than iterating over the existing results.

Condensing Multiple Search Refinement Values

When you select multiple search refinement values to be included for the current search, Salesforce B2C Commerce creates the same URL for different ordered search refinement value parameters. For example, for red and blue shoes, you would see the same URL for blue and red shoes as you would see for red and blue shoes:

[...]/shoes/blue|red/

Refinement Inheritance

Refinement definitions are inherited by subcategories by default, but they can be blocked in the subcategory search refinement configuration, so they don't appear in the storefront.

Deepest Common Category

For all products in a search result set, the deepest common category is the category highest in the catalog structure that all of the products have in common. If you navigate to a category, that category is usually the deepest common category. If you use search to find a result set, the deepest common category can often be the root category of the catalog.

The deepest common category determines the search refinements that appear for a particular search. The deepest common category is calculated based on category assignments below the current refinement category only. The system ignores any assignments to categories outside the current refinement tree. If a search is refined by category, the deepest common category is still calculated based on the actual search result and can therefore be any category below the refinement category.

To find out why a particular set of search refinements is used for a search result, use the Storefront Toolkit Search Information tool to determine the deepest common category. The refinements configured for this category are the ones used for the search result.