Storefront filtering
Definition
Storefront filtering is Shopify's native faceting for collection and search results. A merchant enables filters in the Search & Discovery admin, and the storefront exposes them to the theme as filter objects carrying values, counts and URL parameters. Filter state lives in the query string, so a filtered view is a real, shareable, server-rendered URL rather than a client-side state.
Documented at https://shopify.dev/docs/storefronts/themes/navigation-search/filtering/storefront-filtering.
How we've used it
The facets are Shopify's; the interface almost never is. The same rebuild happens on every storefront. The stock drill-down drawer becomes a persistent sidebar rail on desktop and an in-place accordion on mobile, values that carry a color render as swatches, long value lists get a show-more, and one sort control moves between breakpoints instead of being duplicated. Underneath, the fetch gets hardened: a filter change re-renders the grid section over the Section Rendering API, and our version adds an error path, a page-level loading state and an event other components subscribe to, because promo tiles, review widgets and analytics all have to re-initialize against the new grid. The query string keeps carrying the state, so back, refresh and share still work.
Builds using it
- Main collection grid: merchandisable promo tiles, load-more and a filter blocklist — Nudestix
- Collection page: three filter modes, in-grid promo blocks and infinite scroll — Three Ships
- Vertical filter rail and an in-place mobile filter accordion replacing Dawn's drill-down drawer — LUS Brands
- Filter-triggered promo cards inside the search results grid — Three Ships
- Tabbed multi-type search results page with faceted filtering — Three Ships
- Collapsible desktop filter sidebar that reflows the product grid instead of squeezing it — LUS Brands
4 further gated builds use it; their pages follow.
Related entities
Section Rendering API · Collection tag permalinks · Storefront search · Predictive Search API