In this document, you’ll learn the difference between global and inline
attributes and how an attribute becomes a storefront filter.
Scope
Every ProductAttribute is either global or inline, decided by its
product_id field:
A global attribute is defined once and attached to many products. An inline
attribute is created in the same step it is attached and only ever describes that
one product. It is useful for the occasional one-off field that doesn’t belong in
the shared vocabulary.
Attributes describe products in the shared master catalog. They are never
owned by a store. A seller sells against a master product through an offer, and
the product’s attributes come from the catalog, not from the seller.
Filtering
An attribute with is_filterable set to true is exposed as a storefront
filter, letting shoppers narrow the catalog by its values. Leave it false for
descriptive-only attributes that shouldn’t appear as facets.
Filtering pairs naturally with variant axes: a filterable multi_select axis
like Color both generates variants and lets shoppers filter by them. A
descriptive text attribute like Care instructions is usually left
non-filterable.