How to filter Shopify collections by metafield
Shopify's storefront filter API allows only one metafield, and category metafields often aren't available to add as filters at all. To filter by any metafield, and by as many as your catalog needs, you build filter groups from your metafields directly instead of through Shopify's admin-filterable flag.
A shopper lands on a collection of 400 products and wants the three they'd actually buy. You store the attributes they shop by, fabric, fit, season, care, as metafields, ready to be filters. Then native filters let you offer exactly one of them, sometimes none. The shopper scrolls a wall instead of narrowing, and leaves. Here's how to put your real attributes back in the shopper's hands.
Why can't you filter a Shopify collection by a metafield?
Two native limits collide. The storefront filter API allows only one metafield to be filtered, and the admin's filterable flag is unreliable, sometimes returning no values for a metafield that demonstrably has them.
Both are documented in Shopify's own channels. The storefront limit is stated flatly: "the storefront Product filter API only allows one metafield to be filtered." The admin side breaks too: you add an app-controlled metafield, the API insists the value exists, and the page returns "No values found." And category metafields, the structured ones Shopify itself encourages, "aren't available to add as filters" in Search and Discovery at all.
So the metafields you built to describe your catalog are the ones the native filter cannot expose. The data is there. The filter cannot reach it.
What does the one-metafield ceiling cost you?
Every attribute you cannot offer as a filter is a question your shopper cannot ask. On a deep catalog, that is most of the questions.
A shopper wants a linen shirt, slim fit, for summer, machine washable. That is four metafield questions, and native filters let them ask one. They pick "fabric: linen," still face a hundred linen products, and cannot narrow by fit or season from there. Deep catalog, shallow filter, and the mismatch reads as "this store doesn't really have my stuff." They give up and go.
The cost is the same shape as a bad search: high-intent shoppers, a clear request, no way to answer it, and they leave with money in hand.
How do you filter by any metafield, and by more than one?
You build the filters from your metafields directly, rather than relying on Shopify's admin-filterable flag. A product filter app reads your metafields and turns them into filter groups, as many as you need.
Sledge builds filter groups from any metafield you have, plus tags, variant options, vendor, and price, with no one-metafield ceiling and no dependence on the flaky admin flag, so no "No values found" on data you can see. Setup is configuration, not code:
- Install the filter app and open the collection you want to fix.
- Add a filter group for each metafield you want to expose: fabric, fit, season, care. Each becomes its own filter on the page.
- Add tag, variant, vendor, or price groups alongside them, so shoppers can narrow by any attribute, not just metafields.
- Publish. The filters apply to the collection and to your search results, so shoppers narrow the same way in both places.
Sledge builds filter groups on Shopify from any metafield, tag, variant option, vendor, or price, with no one-metafield ceiling. The four-question shopper finally gets to ask all four.
How do you make filters land for real shoppers, not just exist?
Three details separate a filter that sells from a filter that technically works: show counts, merge duplicates, and let people filter by look.
Show a product count on every value. Few things lose a shopper faster than tapping "2XL" and hitting "0 products." Sledge shows a live count next to each value, "2XL (0)," so shoppers steer toward options that deliver instead of dead ends.
Merge duplicate values. Years of adding products by hand leaves "Navy," "Dark Blue," and "Midnight" as three thin checkboxes for one color, so a shopper hunting blue picks the wrong split and finds four products where there should be forty. Sledge merges them into one clean "Blue" facet, variant titles included, so a deep range stops looking shallow.
Let shoppers filter by color, not by word. Color is the first thing most shoppers filter by, and they pick it with their eyes. Native swatches on collection pages aren't supported on the Dawn theme, so Sledge renders color and image swatches as filter values, set up with a CSV import and a sample template, no per-product fiddling.
How do you keep filters fast and out of your theme?
Run them from one storefront library rather than stacking a separate filter widget on top of your other apps, and never let the filter edit your theme files.
Filters live on your busiest pages, and a heavy filter script is a slow collection page. Sledge loads from a single lightweight library without blocking the page, and it doesn't edit your theme, so removing it later leaves no orphaned code behind. Fewer separate widgets is also fewer scripts fighting for the same page.
The metafield filter checklist
- Every attribute shoppers shop by is exposed as its own filter group, not just one metafield.
- Filters are built from your metafields directly, not the unreliable admin-filterable flag.
- Each filter value shows a live product count, so no option leads to an empty page.
- Duplicate values, like "Navy" and "Dark Blue," are merged into one clean facet.
- Color is offered as a swatch, not a text checkbox, including on Dawn.
- The same filter groups apply on collection pages and search results.
Related reading
Filters · What is a product filter? · What is faceted search? · How to add product filters to Dawn · What is a collection filter?
Questions, answered
Why can't I filter my Shopify collection by a metafield?
Shopify's storefront filter API allows only one metafield, category metafields often aren't available to add as filters, and the admin filterable flag can return No values found even when the value exists. Sledge builds filter groups directly from any metafield, with no one-metafield ceiling.
How do I add multiple metafield filters to a Shopify collection page?
Build the filters from your metafields directly with an app rather than the native storefront filter. Sledge builds a filter group per metafield, plus tags, variant options, vendor, and price, so you are not limited to one metafield.
Why does my metafield filter say No values found when the value exists?
That is a documented native admin issue with app-controlled metafields: the API reports the value while the filter returns no values. Sledge does not rely on Shopify's admin-filterable flag, so it reads metafield values directly and avoids that dead end.
Can I show color swatches on Shopify collection pages without coding?
Yes, with a filter app. Native swatches on collection pages are not supported on the Dawn theme, so Sledge renders color and image swatches as filter values, set up with a CSV import and a sample template, no custom code.
Let shoppers tell you exactly what they want.
Install free. Build a filter from every metafield you have, add the counts and swatches, and watch a wall of 400 products turn into a path to a purchase.
14-day free trial · No code · Works with any theme · Uninstalls clean