Conversational Filtering
Conversational Filtering in Ecommerce Search transforms traditional facet filtering into an interactive, step-by-step product discovery experience. Instead of presenting all available filters at once, it guides users through a series of natural-language questions that progressively narrow down search results.
The problem it solves
In a typical ecommerce search, users are presented with a large number of facets (color, size, brand, material, etc.) all at once. This can be overwhelming, especially on mobile devices or in categories with many attributes. Users may not know which filters are most useful, leading to decision fatigue and abandoned searches.
Conversational Filtering addresses this by presenting one question at a time, focusing on the most relevant attribute for the current set of results. This creates a guided experience that helps users find the right products faster.
How it works
When a user performs a search in a scope with Conversational Filtering enabled, the search response includes a question with a set of answer options (called chips). Each chip represents a filter value and shows how many products match that value. When the user selects a chip, the corresponding filter is applied and the next most relevant question is presented.
The flow works as follows:
- User searches or browses — The search API returns products along with a Conversational Filtering question
- Question is displayed — The frontend shows the question text and answer chips to the user
- User selects a chip — The corresponding filter is applied to the search request
- Next question appears — The API returns the next unanswered question with updated chips and counts
- Process repeats — Until no more questions remain or the user has found what they need
How many chips a question carries
A question carries at most six answer chips, ordered by the number of matching products, so the user is offered a short and meaningful set of choices rather than a full facet listing.
Chips are drawn first from the filter values your shoppers use most for that facet within the category, based on the ingested filter usage statistics. When fewer than six of those values have results for the current search, the remaining slots are filled with the facet's other values that have the most matching products. A question therefore carries fewer than six chips only when the facet has nothing more to offer.
A question must be able to offer at least two chips. If only one value remains, the question is skipped
and the next one is presented instead, because a single chip offers no real choice. If no question can
offer two chips, conversationalFiltering is null.
Key concepts
Questions
A question targets a single facet (term filter) and is presented as natural-language text. For example:
- "What color are you looking for?" — targets the
colorfacet - "Which brand do you prefer?" — targets the
brandfacet - "What size do you need?" — targets the
sizefacet
Questions are specific to each product category, meaning the same search can present different questions depending on the category the user is browsing.
Chips (answers)
Each question comes with a set of chips — selectable answer options that map to filter values. Each chip includes:
| Field | Description |
|---|---|
| Text | The display text for the answer (e.g., "Blue", "Nike") |
| Filter mapping | The filter key and value to apply when selected |
| Product count | The number of products matching this answer |
Chips allow users to refine results with a single tap rather than navigating complex filter panels.
Facet popularity
Questions are automatically generated based on facet popularity — the most frequently used filters within each category. Ecommerce Search tracks which facets users interact with most often over a 30-day rolling period and uses this data to determine which questions to generate.
This means the system adapts to real user behavior: if users in the "Shoes" category frequently filter by size and brand, those will be the first questions asked.
Tip
Facet popularity is tracked via Search tracking and is based on Browse scope interactions only.
Disallowed filters
Not all facets are suitable for Conversational Filtering questions. Administrators can configure disallowed filters to exclude specific facets from automatic question generation. This is useful for:
- Filters that are too technical or not user-friendly
- Filters with too many or too few values
- Filters that are better suited as traditional facets
Category-awareness
Conversational Filtering is category-aware — questions are generated and presented per category. This means:
- Different categories can have different sets of questions
- The questions reflect the most relevant attributes for each category
- When a user browses a specific category, only questions relevant to that category are shown
Scope configuration
Conversational Filtering is an optional feature that must be enabled per Browse scope. It is only available for the Browse scope type and is not supported on other scope types (e.g., full-search).
When enabled on a scope, the unified search response includes the conversationalFiltering field. When disabled or when no more questions are available, this field is null.
Facet configuration
A question does not require the field it asks about to be configured as a facet. When the field is faceted, the answers and their product counts come from that facet. When it is not, Ecommerce Search counts the values for the question separately as part of the same search, so the question is presented either way. Those extra counts never appear among the facets in the response, which stay exactly the ones the business rule configures.
This matters most for the subcategory question, which is offered for any category that has subcategories: it works whether or not the category field is a facet, on any level of the category tree.
Managing questions
Conversational Filtering questions can be managed through the Admin API:
- Auto-generation: Questions can be bulk-generated from popular facets for a given category
- Single generation: Individual questions can be generated for specific facets
- Editing: Question text can be customized to match the store's tone and language
- Per-category management: Each category has its own set of questions
Note
Changes to Conversational Filtering configuration follow the standard publication flow.
Search API response
When Conversational Filtering is active, the unified search response includes a conversationalFiltering field:
| Field | Type | Description |
|---|---|---|
question |
string | The question text to display to the user |
answers |
array | List of answer chips |
answers[].text |
string | Display text for the chip |
answers[].filterKey |
string | The filter key to apply when selected |
answers[].filterValue |
string | The filter value to apply when selected |
answers[].productCount |
number | Number of products matching this answer |
When no question is available (feature disabled, no more questions, or non-Browse scope), the field is null.
Integration with existing search
Conversational Filtering works alongside existing search features:
- Filters: CF provides filter suggestions via questions and answers — the integrating frontend applies the corresponding filter to the next search request when a user selects an answer
- Facets: CF questions are generated from configured facets — both features use the same underlying filter infrastructure
- Unified Search: CF data is included in the unified search response alongside products, suggestions, and other features
- Commercial Sorting: Sorting and commercial rules continue to apply as filters are added through CF