Shopify guideGuide·8 min read
How to Set Up Product Filters in Shopify
Good filters help shoppers find the right product in seconds, and bad product data breaks them. This guide shows how to set up Shopify product filters properly, from data cleanup to theme settings.

Key takeaways
- Shopify product filters are set up in the free Shopify Search & Discovery app, under
Apps > Search & Discovery > Filters, and shown by your theme on collection and search pages. - A store can have up to 25 filters, built from availability, price, category, product type, vendor and tags, plus custom filters from product options, metafields and metaobjects.
- Collections with more than 5,000 products don't show filters, and each filter shows at most 100 values on the storefront.
- Filters are only as good as your product data. Inconsistent option names and tags create duplicate filters and values, so clean the data before you build them.
- Who it is for
- Stores with more than a few dozen products
- Time needed
- An afternoon, plus data cleanup
- What you need
- Search & Discovery and a 2.0 theme
On a collection with more than a couple of dozen products, filters decide whether shoppers find what they want or leave. They also expose messy product data faster than anything else. If half your products say "Colour" and the other half "Color", your shoppers will see two filters, and neither will work properly.
This guide shows how to set up Shopify product filters properly: preparing the data, creating the filters, grouping values, using metafields, turning filters on in your theme, and what developers need to know about the filter URLs and Liquid. Limits and steps come from Shopify's help center and shopify.dev as I checked them on 7 November 2026.
How Shopify filters work
There are two halves to every filter setup:
- The Search & Discovery app, free and built by Shopify, decides which filters exist, what they're called, which values they show and how values are grouped. The same app handles search synonyms, product boosts and product recommendations.
- Your theme decides how the filters look and where they sit: a sidebar, a horizontal bar or a drawer. Filters work with any compatible theme, which in practice means an Online Store 2.0 theme. Swatches and image values need a theme that supports them.
The same filters appear on collection pages and on search results. Shoppers combine them in a predictable way: different filters narrow the results (size M and color blue), while several values in one filter widen them (blue or green).
The limits to plan around
| Limit | Value | What it means |
|---|---|---|
| Filters per store | 25 | Standard and custom combined |
| Values shown per filter | 100 | On the storefront |
| Collection size | 5,000 products | Larger collections show no filters |
| Search results | 100,000 products | Above this, filters are hidden |
| Values counted in search | First 1,000 results | Counts are based on those only |
| Unique tag values | 5,000 | Options and attributes allow 1,000 |
| Values per filter group | 200 | Up to 1,000 groups per store |
The 5,000-product rule catches large stores out most often. An "All products" or "Sale" collection on a big catalog can quietly lose its filters. Split very large collections by category instead.
Step 1: Clean your product data
Filters read straight from your products, so start there. I spend more time on this step than on the filters themselves.
- Option names. Use one name for each option across every product: "Color", not a mix of "Color", "Colour" and "Shade". Each distinct name becomes its own filter source.
- Option values. Agree on spelling and case. "Navy" and "navy " become separate values.
- Product type and vendor. Fill them in consistently, because both are standard filters.
- Category. Set Shopify's product category on each product. It powers the Category filter and the category metafields that come with it.
- Tags. If you filter by tags, prefix them by purpose, such as
style_minimal, so filter tags don't mix with internal ones. - Metafields. For attributes like material, fit or room, create metafields with a type Shopify can filter on (see Step 4).
The bulk editor (Products, select products, Edit products) is the fastest way to fix types, vendors and metafield values across many products at once.
Step 2: Create filters in Search & Discovery
- Install the app. Install Shopify Search & Discovery from the Shopify App Store if it isn't already on your store.
- Open the filters. Go to
Apps > Search & Discovery > Filters. - Add a filter. Click
Add filterand choose aSource, such as Availability, Price, a product option like Size, or a metafield. - Name it for shoppers. Optionally rename the label, for example "Size" instead of an internal option name.
- Choose its behavior and display. Depending on the source, set how values combine and whether they show as text, color swatches or images.
- Group and sort values if needed (see Step 3).
- Save. Repeat for each filter, then drag them into the order shoppers will use most.
Which filters to add depends on the products, but a sensible starting order for most stores is: availability, price, the main option (size or color), category or product type, then one or two attributes from metafields. Five or six filters that matter beat fifteen that don't.
Step 3: Group messy values
Grouping merges several values under one shopper-facing name. If your products use "Onyx", "Ebony" and "Midnight", you can show them all as "Black". Shoppers get a short, clear list while your product names keep their character.
Grouping is set per filter in the app. The Category filter doesn't support grouping, and a filter group can hold up to 200 unique values. Grouping also helps you stay under the 100 values a filter can show on the storefront.
Step 4: Filter by metafields
Metafields let you filter by attributes that aren't options, such as material, fit, finish, room or diet. Filtering supports these metafield types:
- Single line text, and lists of single line text
- Integer and decimal numbers
- True or false
- Metaobject references, and lists of them
To set one up, create the definition under Settings > Metafields and metaobjects > Products, fill in values (the bulk editor helps), then add a filter in Search & Discovery with that metafield as its source. A list of single line text suits attributes where a product can have several values, such as "Wool" and "Cashmere". A metaobject reference suits values you want to control centrally, with a fixed list of entries. My metafields guide covers types in detail.
Step 5: Turn filters on in your theme
Creating filters doesn't show them until your theme displays them. In Dawn and its sibling themes:
- Open the collection template. In
Online Store > Themes > Edit theme, chooseCollections > Default collectionfrom the template menu. - Select the Product grid section. Under
Filtering and sorting, tickFiltersandSorting. - Pick a layout. Set
Filter layouttoHorizontal,VerticalorDrawer. Vertical suits larger catalogs on desktop. Drawer keeps a small collection clean. - Do the same for search. Switch to the search template and turn on the same settings in the Search results section.
- Test on a phone. Open a collection, apply two filters and check the result count and how easy it is to clear them.
Other themes put these settings in a similarly named collection section. If your theme has no filter settings at all, it's probably a vintage theme, and my guide to Online Store 2.0 explains what moving involves.
For developers: filter URLs and Liquid
Filters are applied through URL parameters in the format filter.scope.attribute=value, where the scope is p for product or v for variant:
/collections/all?filter.p.product_type=shoes&filter.v.option.color=red
/collections/all?filter.v.price.gte=20&filter.v.price.lte=50
/collections/all?filter.v.availability=1
/collections/all?filter.p.m.custom.material=wool
That makes filtered views linkable, which is handy for menus and campaign links. Price values use the store's default currency. When a variant filter is applied, the product's featured_media and url switch to the first matching variant, so a shopper filtering by "red" sees the red product photo.
In Liquid, collection.filters holds the filters set up for the collection. Each filter has a type of list, price_range or boolean, and a presentation of text, swatch or image for list filters. A minimal list filter looks like this:
{%- for filter in collection.filters -%}
{%- if filter.type == 'list' -%}
<fieldset>
<legend>{{ filter.label }}</legend>
{%- for value in filter.values -%}
<label>
<input type="checkbox" name="{{ value.param_name }}" value="{{ value.value }}" {% if value.active %}checked{% endif %}>
{{ value.label }} ({{ value.count }})
</label>
{%- endfor -%}
</fieldset>
{%- endif -%}
{%- endfor -%}
Each value also has url_to_add and url_to_remove for link-based filters, and collection.products_count gives the count after filtering. Filters must be created in the admin first. Liquid can only display them.
Common mistakes
- Building filters before fixing data. Duplicate option names and values become duplicate filters.
- Huge collections. Over 5,000 products and the filters disappear.
- Too many filters. Every filter is something to scroll past on a phone. Remove ones nobody uses.
- Tag soup. Filtering by unprefixed tags shows internal tags to shoppers.
- Wrong metafield type. Multi-line or rich text metafields can't be used as filters. Use single line text or a metaobject reference.
- Forgetting search results. Turn filters on in the search template as well as collections.
Product filter checklist
- Standardize option names, option values, product types and vendors.
- Set product categories and create filterable metafields for key attributes.
- Install Search & Discovery and add five or six useful filters.
- Group messy values and set swatches where your theme supports them.
- Turn on filters and sorting in the collection and search templates.
- Keep filtered collections under 5,000 products.
- Test on a phone: apply, combine and clear filters.
Next steps
Filters work best on a clear collection structure, so if your catalog has grown messy, read my guide to structuring collections and navigation alongside this one. If you need filters designed into a custom collection layout, or your product data cleaned at scale, that's part of my Shopify development service, which starts from $300 with a fixed quote.
Free tools
Check your own store
Free, no sign-up. Each one runs a part of this guide for you.
Frequently asked questions
How do I add filters to my Shopify store?
Install the free Shopify Search & Discovery app, go to Apps, Search & Discovery, Filters, and click Add filter to choose a source such as price, availability, a product option or a metafield. Then turn on filtering in your theme's collection and search templates.
How many filters can a Shopify store have?
Up to 25 filters per store, combining standard filters like price and vendor with custom ones from product options, metafields and metaobjects. Each filter shows up to 100 values on the storefront.
Why are filters not showing on my collection?
The most common causes are a collection with more than 5,000 products, filtering switched off in the theme's collection section, or a vintage theme that doesn't support storefront filtering. Check the collection size and your theme settings first.
Can I filter Shopify products by metafields?
Yes. Product and variant metafields of type single line text, lists of single line text, integer, decimal, true or false and metaobject references can be used as filters. Create the metafield, fill in values, then add a filter with it as the source in Search & Discovery.
Do Shopify filters work on search results?
Yes. The same filters appear on search results pages if your theme's search template has filtering turned on. Filter counts on search are based on up to the first 1,000 results, and filters are hidden above 100,000 products.
Can I combine color values like Navy and Midnight into one filter value?
Yes. In Search & Discovery you can group several values under one name, such as showing Onyx, Ebony and Midnight as Black. The Category filter is the exception and doesn't support grouping.
Sources
- Filters, Shopify Help Center
- Storefront filtering, Shopify.dev
- filter object, Shopify.dev
- Shopify Search & Discovery, Shopify App Store
- Dawn theme source code, Shopify on GitHub
Related services and work

Written by Ashraf Siddik
I'm a Shopify developer and CRO specialist. I have built and improved Shopify stores since 2018, completed more than 1,000 projects, and hold a 4.96 average rating across 719 client reviews.
More guides
-
Themes8 min readUpdated
Shopify Metafields Explained, with Examples
Metafields let you add your own fields, such as care guides, dimensions or burn time, to products and other parts of Shopify. This guide shows how to set them up and show them in your theme, with examples.
Read the guide -
Themes7 min readUpdated
How to Make Your Shopify Store Look Premium
A premium-looking Shopify store comes from a few consistent decisions, not an expensive theme. This guide walks through them in the order I work, using the theme editor and a little custom CSS.
Read the guide -
Themes7 min readUpdated
Shopify Liquid Basics for Store Owners
Liquid is the language every Shopify theme is written in, and you can learn to read it in an afternoon. This guide covers the basics with code examples you can test safely on your own store.
Read the guide -
Themes9 min readUpdated
How to Customize the Dawn Theme Without Code
Dawn looks plain only when it keeps its default settings. This guide shows how to customize the Shopify Dawn theme area by area in the theme editor, with the real setting names from version 16.1.1.
Read the guide
