Introduction to Facets
Facets are product attributes that are often available on the left hand side (in larger viewports) or within the menu (for smaller viewports) that allow users to further refine their result set within a search, category or collection page. Common examples of these can be things like Brand, Price and Colour, though often many more options are provided to site users depending on the product assortment.
We support a number of configurations to facets within the dashboard and through the API. Generally speaking we have two levels of granularity for facet configurations - globally and within the context of a specific category.
Global configurations are done in the “Indexes” section of the dashboard and are applied to all search, category and collection pages where a given Facet Group or Facet Option is returned.
Category facet configurations are done in the “Facets” section of the dashboard and are applied to only the category page that was updated. Not all configurations are available to be set at a category level. Anything set at the category level will over-ride the configurations set at the global level for that specific category.
Only Facet Groups (ie. “Colour” would be a Facet Group) and Facet Options (ie. “Black”, “Blue”, “Green”) that are contained within the result set will be returned in the response from Constructor for facet values.
You can also choose to hide facets that would otherwise show by default within the dashboard. This can be handy in situations where you want to be able to searchandize against an attribute but you don’t want to surface that as a facet option. For example say you have a facet attribute for inventory that you want to use to bury products with low or no inventory, but you don’t want customers to be able to filter for those products, you could hide that facet from showing up on any search or category while still having it available to searchandizing against.
Facet Groups and Facet Options can both be hidden at both a global and category level.
Protected facets are like hidden facets in that they do not return as a facet option in search or category pages, but it takes it a step further and also hides the data from the API response so that the information cannot be found via an API call either. This is handy in situations where the attribute data is also sensitive but you want to be able to searchandize against it. A good example of this is product margin data. You might want to boost products with high margin but you wouldn’t want someone to be able to see any margin information on the site, or in the API response.
Facet Groups can be protected at the global level.
There are a few factors that contribute to facet sorting that we take into consideration. These include the attractiveness of the products those facet values are associated with and the coverage that a given attribute has across the result set.
Say for example the product in the number 1 spot in the result set includes an obscure attribute that no other product in the result set has, its coverage would be really low; while the product it is related to ranks high for attractiveness, the facet value itself wouldn’t rank nearly as high because its coverage is low. Alternatively if all the most attractive products have a common attribute and it generally has good coverage across the result set it is much more likely to rank higher in the facet order.
Facet Options are also sorted by default as described above, but can be changed to be sorted by number matches or value (alphanumeric) as well. These can only be sorted at the global level.
Facet Groups and Facet Options can also be slotted, meaning that you can place them at specific spots and they will always show there if they are part of the result set. For example, you might always want “Price” and “Brand” in spot 1 and spot 2 on any page that they are available for.
Facet Group and Facet Option slotting can be done at both the global and category level.
You also have the ability to merge facet options within a facet group as well. This is handy when there is a lot of variation in your Facet Options but many have the same or similar meaning. For example, you might have a colour facet group and you have options of “sky blue”, “navy blue”, “baby blue” and “galaxy blue” but you believe that customers looking for a blue shirt don’t necessarily know or have a preference for which variation of blue at this point in their shopping journey. You can merge them all into one “blue” option that would pull in all the products for those more granular options.
Facet options can only be merged at the global level.