All posts
Amay Aggarwal
Amay Aggarwal
Co-founder, Anglera

The attributes B2B search filters need, and why SKUs drop out

B2B buyers filter on fit and compatibility, dimensions, ratings and certifications, material, connection type, and pack quantity. Here is why SKUs drop out.

The attributes B2B search filters need, and why SKUs drop out

The product attributes that matter most for B2B search filters are the ones a buyer uses to eliminate wrong parts: fit and compatibility, critical dimensions, ratings and certifications, material, connection or thread type, and pack quantity. A SKU drops out of those filters whenever its value is blank, written as free text that does not match the facet list, stored in a different unit, or sitting in the wrong category.

Brand and price still matter, but in MRO and industrial catalogs they are often not the first click. The first click is a spec the part must meet, and a filter only returns SKUs that carry that spec as a clean, structured value.

The attribute classes B2B buyers filter on

Six classes cover most of what a maintenance tech, plant engineer, or purchasing agent filters by:

  • Fit and compatibility. Compatible_Models, Replaces_Part_Number, Shaft_Diameter for a bearing, Frame_Size for a motor. This is the "will it go in the hole" question, and it usually eliminates the most options fastest.
  • Critical dimensions. Inside_Diameter, Outside_Diameter, Length, Thread_Pitch, Width. Numeric, unit-bearing, and the most frequently broken.
  • Ratings and certifications. Voltage, Amperage, Pressure_Rating_PSI, Temperature_Range, IP_Rating, UL_Listed, NSF_Certified. Often pass/fail for a spec or a compliance requirement.
  • Material. 316 Stainless, Brass, Nitrile, PTFE. Drives chemical compatibility, corrosion resistance, and food-contact decisions.
  • Connection type. NPT, BSPP, JIC 37°, Push-to-Connect, Flanged. A buyer replacing a fitting cannot use the wrong thread form, however close the size.
  • Pack quantity and unit of measure. Each, Box of 100, Case of 12. Procurement compares landed cost per unit, and a mixed pack field makes that comparison impossible.

Baymard's filtering research notes that users expect a matching filter for any key attribute shown in a product list, and its benchmark found 25% of desktop sites and 40% of mobile sites use unclear filter labels that users may skip. In industrial catalogs the category-specific filters are the whole game, because generic filters like price and brand do not tell a buyer whether a hose fitting will seal.

How to create faceted search filters for industrial products, category by category

Do not build one global filter list. Pick facets per leaf category, from the decision a buyer makes in that category. A practical way to do it:

  1. List the elimination questions for the category. For hydraulic fittings: thread type, size, material, pressure rating, shape (elbow, tee, straight). For safety gloves: cut level, size, coating material, food-safe.
  2. Map each question to one structured attribute with a defined data type: a governed pick list for categorical values, a number plus a fixed unit for measurements, a yes/no for certifications.
  3. Keep the facet list short. If a filter does not answer an elimination question, cut it or move it down. Long filter rails bury the two or three that buyers actually use.
  4. Order numeric values numerically. Baymard's B2B electronics testing recommends sorting long lists logically, such as milliohms, then ohms, then kiloohms, and offering search inside a filter once it has more than roughly 15 to 20 options. Their example is a resistor category where one filter has hundreds of resistance values.
  5. Explain jargon in the filter. Baymard's benchmark found 62% of sites use unclear filter labels, which users may skip when trying to filter. A tooltip on JIC 37° or ANSI Cut Level A4 costs little.

Our guide on how to structure product attributes and values walks through the data-type decisions in step 2 in more detail, and the glossary entry on faceted, attribute-based search covers the vocabulary.

Why products are not showing up in site search filters

A facet is a count of matching values. Most search platforms build it in a similar way underneath, which is why the failure modes repeat across platforms.

In Elasticsearch, facets are built with aggregations, and the terms aggregation documentation says documents missing a value are ignored by default. The same page notes you cannot run a terms aggregation on an analyzed text field without a keyword sub-field. In Algolia, an attribute has to be declared in attributesForFaceting before it can be faceted at all, and attribute names are case-sensitive. The platform does exactly what the data tells it.

Four data problems come up again and again when SKUs vanish:

Blank values. If Thread_Type is empty on 3,000 fittings, those fittings are absent from every thread-type filter. They still show up in an unfiltered list, so nobody notices until a buyer clicks a facet and the count looks thin.

Free-text values that do not match the facet list. 1/2" NPT, 1/2 in. NPT, .5 NPT, and NPT 1/2 are four separate facet values to a search engine. A buyer who clicks one sees a quarter of the catalog.

Nine free-text spellings of the same sleeve-length value converge through normalization into one governed pick-list value, so rollup reports stop splitting.

Unit mismatch. One supplier sends Length: 12 in, another Length: 304.8 mm, a third Length: 1 ft. A numeric range slider either breaks or shows three non-overlapping clusters. Pick one storage unit per attribute and convert on the way in.

Wrong category. Facets are configured per category. A pipe nipple filed under "Miscellaneous Hardware" never sees the pipe-fitting filters, however complete its data is.

Shopify search filters not showing products: the platform-specific causes

On Shopify, Search & Discovery filters can come from availability, price, vendor, product type, tags, product options, and product, category, or variant metafields. Metafield filters only work for specific value types, including single line text (and lists of it), decimal, integer, true or false, and metaobject references, so a spec stored in a multi-line text field cannot be a filter.

The same Shopify help page lists the limits that make filters disappear outright: filters do not display on collections with more than 5,000 products or on searches with more than 100,000 results, a store can have up to 25 filters, and a filter shows customers at most 100 values. Shopify does let you group values, such as several color names under one Black option, which helps but treats the symptom. Confirm these limits against Shopify's current documentation, since they change.

A worked example

For illustration, take a distributor with 8,000 pneumatic fittings and a Connection_Type facet. Suppose 1,200 SKUs have the field blank, 1,600 use one of five spellings for push-to-connect, and 400 sit in a parent category with no fitting facets. A buyer filtering on the canonical Push-to-Connect value sees only the SKUs that happen to use that exact string. The other push-to-connect parts exist, are in stock, and are invisible to that buyer. Nothing in the search platform is broken. The catalog data is.

Filter-audit checklist

Run this per category, starting with the categories that carry the most revenue or search traffic:

  • Fill rate per facet attribute. What share of SKUs in the category have a non-blank value for each facet field?
  • Distinct values per facet. Export the value list. Any facet with spelling variants, mixed case, or trailing units in the value is splitting results.
  • Unit consistency. Every numeric facet stored in one unit, as a number, with the unit in the attribute definition.
  • Category placement. Spot-check SKUs in catch-all categories; reclassify so they inherit the right facets.
  • Platform config. Each facet attribute declared as facetable, mapped to a keyword or filterable field type, and the index rebuilt after changes.
  • Platform limits. Collections or result sets large enough to suppress filters, and facets exceeding the display cap.
  • Labels. Technical filter names explained with a tooltip or plain-language alias.

For more on how attribute gaps cost visibility, see 5 gaps that filter you out and why site search is only as good as its attributes.

Who does the work of fixing it

The audit is the easy part. The hard part is filling 1,200 blank Connection_Type values from spec sheets and manufacturer sites, collapsing five spellings into one pick-list value, and keeping it that way as new SKUs arrive weekly. That is ongoing work, and it usually lands on a merchandising team that already has a full plate, or on an offshore data-entry project that ends when the spreadsheet does.

Your PIM stores the data. Anglera does the work: it extracts attribute values from source documents, normalizes them to your governed value lists and units, quality-scores each value, and flags conflicts for review rather than guessing. It works alongside whatever PIM, ERP, or flat-file export you already have, and the process can start from a flat-file export, with a first pass typically live in 30 days or less.

If your facet counts look thin, the fastest diagnostic is the distinct-values export on your top three categories. When the fix turns out to be thousands of blank or inconsistent values, that backfill and its ongoing maintenance is the part Anglera handles, so your filters return the parts you actually stock.

Frequently asked questions

Why are my products not showing up in site search filters?

Most often the product's value for that filter attribute is blank, spelled differently from the value the buyer clicked, stored in a different unit, or the product sits in a category that does not carry that filter. Search engines build facets by counting exact values, and Elasticsearch's terms aggregation ignores documents with a missing value by default. Check the attribute's fill rate and distinct values before changing search settings.

Why are Shopify Search & Discovery filters not showing products?

Shopify metafield filters only work for certain value types such as single line text, decimal, integer, true or false, and metaobject references, so specs stored in other field types cannot be filtered. Shopify also hides filters on collections with more than 5,000 products and on searches with more than 100,000 results, and a filter displays at most 100 values. Confirm the current limits in Shopify's help center, then check that each product actually has a value in the filtered field.

How do Elasticsearch and Algolia build faceted search filters?

Elasticsearch builds facets with aggregations, typically a terms aggregation on a keyword field, which returns each distinct value with a document count. Algolia requires each attribute to be declared in attributesForFaceting before it can be faceted, and returns 100 facet values per attribute by default. In both cases the facet is only as clean as the values in your product records.

How many filters should an industrial product category have?

Choose filters from the questions a buyer uses to rule parts out in that specific category, such as thread type, size, material, and pressure rating for hydraulic fittings. Each filter should map to one structured attribute with a governed value list or a number in a fixed unit. Baymard recommends sorting numeric values in logical order and adding search inside a filter once it has more than roughly 15 to 20 options.

Amay Aggarwal

About the author

Amay Aggarwal — Co-founder, Anglera

Amay is a co-founder of Anglera, where he's building the AI pipeline that turns messy supplier catalogs into structured, AI-readable product data for distributors and answer engines. He built the catalog AI systems at Uber Eats on top of research from Stanford's AI lab.

See it on your own SKUs.

A 30-minute walkthrough on your categories and your supplier data.

Book a demo