A Shopify metafield filter can exist in the admin without appearing on a collection page. I would check the collection, theme and product data before rewriting the filter interface. The quickest useful test is a small collection containing products whose metafield values you have verified individually.
1. Identify which filtering system owns the page
My BC Supply Ops project supports a store with 70,000+ products and seven suppliers. That makes the difference between store size and collection size practical: the full catalog is not the assortment on every page. This case study documents catalog operations; it is not a claim that the filter procedure below was deployed there.
First record the affected URL, published theme and any app supplying the filters. A custom search app can have a separate index and configuration. Changing Search & Discovery settings is not a reliable test of an unrelated app's results.
For native Shopify filtering, Shopify's current filter guidance says collections above 5,000 products do not display filters. It also requires a compatible theme and explains that values must apply to the current assortment. Check the collection's product count, not the number of cards on the current pagination page.
If an oversized collection is the cause, smaller collections can give shoppers useful starting points. Choose divisions that reflect a shopping task, such as product type. Do not create hundreds of empty categories simply to get below a limit.
2. Build a small control collection
I would make an unpublished theme copy and choose a small set of real products for a controlled preview. Record their product IDs and exact field values before editing anything. Include one product with the intended value, another with a different value and one with no value.
Use the same collection template as the failing page. Keep currency, language, availability settings and other selected filters constant. Otherwise the comparison changes several variables and cannot tell you which one caused the difference.
| Check | Working control | Failing page | What the difference suggests |
|---|---|---|---|
| Filtering provider | Record theme or app | Record theme or app | Different systems may need different settings |
| Collection size | Small verified set | Record actual count | Check native collection limits |
| Template | Record template name | Record template name | Compare filter rendering configuration |
| Field source | Exact namespace and key | Exact namespace and key | Similar labels can hide different fields |
| Product evidence | IDs and values verified | IDs and values sampled | Missing data or mismatched assortment |
| Visitor context | Language and currency | Same language and currency | Isolate market-specific behavior |
Save the worksheet with the preview URL and theme revision. Another person should be able to reproduce the result without asking which product you clicked. A screenshot is helpful, but the product IDs and field values are the stronger evidence.
3. Check the definition separately from the values
A field label such as “Material” is not enough to identify its source. Record the namespace, key, resource type and value type. Then inspect the actual values on the products you expect to appear, including whether the information belongs to a product or a variant.
Do not assume that a supplier column has already become a Shopify metafield. My first question would be where the import maps that column, followed by whether the last import actually wrote it. An empty value and an omitted update are different things to investigate.
For example, consider an illustrative catalog where two imports use cotton and Cotton blend. I would not merge those values just because both contain the word cotton. A normalization rule should preserve useful distinctions and have an owner who can explain the mapping.
This is the same review discipline I use in the supplier barcode matching checklist: verify identity before applying a broad mapping. For filters, keep the raw supplier value alongside the proposed customer-facing value in your review sheet. That makes a mistaken transformation easier to reverse.
4. Trace one filter selection through the storefront
Shopify's storefront filtering documentation explains that active filters are represented in URL parameters. Use the controls generated by the theme to select a value, then copy the resulting URL. Avoid guessing a parameter from a display label.
Open that URL in a fresh tab and confirm that the selected state and product results agree. Clear the filter, apply another, and try the browser Back button. If the address changes but the products do not, inspect the theme's request and rendering behavior.
If the small control works and the original collection does not, return to their differences before changing JavaScript. If both fail, inspect shared configuration first. This ordering keeps a catalog-data investigation from becoming an unnecessary theme rewrite.
For a custom theme, the filter implementation guide provides the relevant Liquid objects and rendering approach. Have the developer inspect the server-generated filter data as well as the visible markup. An absent value and a hidden control are different failures.
5. Verify recovery and keep the change bounded
After correcting the identified cause, repeat the control and failing-page tests. Include a keyboard user opening the mobile filter drawer, selecting a value, clearing it and returning to the product list. Confirm that the chosen state remains understandable when there are no matching products.
Newly changed product data may need time to appear in search; Shopify's troubleshooting guidance notes indexing delays. Record when the change was saved and retest before repeatedly rewriting products. If the issue persists, send support the controlled example and evidence rather than making a catalog-wide edit to provoke an update.
Once the filters work, check whether the assortment itself is useful. The large-catalog SEO audit covers the separate decision about collection intent and discoverability. The collection sorting guide addresses the order of eligible products after a shopper narrows the assortment.
Start with one failing collection and complete the worksheet. If you need help interpreting it, book a catalog review with the URL, filtering provider and a verified example product. Those details support a focused diagnosis without assuming that a new app is the answer.



