Metafield filter missing values? Three checks before changing your data

AI-generated summary

Missing Shopify metafield filter values should be investigated before rerunning imports or changing theme code. The initial guidance recommends checking that the product has the expected value, the metafield definition is enabled in Search & Discovery, and the theme supports storefront filtering. It also notes Shopify’s limits: filters show up to 100 values, and collections with more than 5,000 products do not display filters. Testing a missing value through a direct collection URL can confirm whether it returns matching products, but does not by itself explain a missing sidebar option.

A follow-up adds two preliminary checks: verify the metafield definition uses a supported type (such as single-line text, number, boolean, or a metaobject reference), since unsupported types cannot be selected as filters; and identify whether a third-party filter app controls the storefront, as its configuration may determine what appears. No specific case is resolved. The key unanswered question is whether the symptom is an absent filter, a missing value, or incorrect results.

If a metafield value is saved on a product but missing from your collection filter, here are three checks I’d make before rerunning a bulk import or changing theme code.

1. Check the setup on one product

Pick a product that belongs to the collection. Check its saved metafield value and definition, then confirm that definition is selected under Apps > Search & Discovery > Filters.

Your theme also needs to support storefront filtering. Saving a value on the product doesn’t complete the filter setup by itself.

2. Check which limit you’re dealing with

A storefront filter can display at most 100 values. That’s different from the values you can see inside Search & Discovery.

Collections containing more than 5,000 products don’t display filters at all.

If you exceed those limits, consider smaller collections or grouping related filter values. Don’t combine unrelated values just to fit the limit, and don’t assume adding another filter will bypass it.

3. Test one missing value directly

For an existing product metafield filter with namespace custom, key series, and a single-line text value of Batman, try:

/collections/your-collection?filter.p.m.custom.series=Batman

Replace the collection handle, namespace, key and value with yours. Start without other active filters, and URL-encode values containing spaces or special characters.

Check whether the results actually narrow to the expected products. If they do, that shows filtering works for that value. It doesn’t prove why the value is missing from the sidebar.

No matches aren’t proof of bad data either. Recheck collection membership, the URL parameter and the filter setup before drawing that conclusion.

If you’re below the documented limits, don’t split collections just to try something. Record the collection URL, one missing value, and what changes when you apply it directly. Those details give your theme developer or Shopify Support something specific to investigate.

Shopify’s filter setup and limits

Which symptom are you running into: no filter at all, a missing value, or a visible value that returns the wrong products?

--
Cuong, founder of Trooix

Hey @cuongnm_trooix, I’d add a zero-th check before any of those: read the metafield definition’s type. Storefront filters can only reference single_line_text_field, list.single_line_text_field, metaobject_reference, list.metaobject_reference, number_integer, number_decimal and boolean, so a multi-line text, rich text, date or dimension definition will never show up as a filter however clean the saved values are. That’s usually why the definition isn’t even selectable under Search & Discovery > Filters. Also, if a third-party search and filter app renders your collection filters, the storefront list comes from that app’s own config, so identify that first. Open the definition in Settings > Custom data > Products and check its type.