Short description of issue
Range filtering for numeric metafields in Search & Discovery not supported
Reproduction steps
-
Create integer product metafields, e.g. custom.width_mm, custom.height_mm, custom.capacity_l.
-
Populate products with different numeric values, e.g. width_mm = 600, 900, 1200, 1224, 1253.
-
Add custom.width_mm as a storefront filter in Search & Discovery.
-
Open a collection page using an Online Store theme with storefront filtering.
-
Observe that width_mm renders as an exact-value list: 600, 900, 1200, 1224, 1253.
-
Compare with Price, which is exposed as a range-capable filter.
Expected: numeric metafields can be filtered by min/max range, e.g. width 600–1200mm.
Actual: numeric metafields are exposed as exact-value list filters only.
Additional info
Trying to confirm if this is a known limitation or if I’m missing a native approach.
Use case: commercial equipment products where dimensions/capacity are key buying criteria.
We have integer metafields like custom.width_mm, custom.height_mm and custom.capacity_l.
Search & Discovery can expose these as storefront filters, but they render as exact-value lists, e.g. width_mm: 600, 900, 1200, 1224, 1253.
For dimensions, buyers usually need min/max filtering, e.g. width 600–1200mm or capacity 1000–1500L.
Price already supports range behaviour via price_range. Numeric metafields appear to come through as list filters instead.
Is there any native way to expose integer/decimal metafields as range-capable storefront filters, similar to price_range?
Bucket metafields like 600–899mm work, but duplicate data. Third-party apps can solve it with their own index, but that adds JS, sync, theme integration and another storefront dependency.
What type of topic is this
Feature request