Catalog visibility
A product appearing in the Admin API does not automatically make it purchasable in a storefront. Visibility is the intersection of product state, variant state, publication timing, store distribution channels, and sellable price and inventory context.
The visibility model
- Create a
DISTRIBUTIONchannel and attach it to a store. - Create the product and variants with an appropriate status.
DRAFTis useful while content and commercial data are incomplete;ACTIVEis required for a live catalog. - Publish the product and each sellable variant to the store’s distribution channel.
- Set
publishedAtand, when relevant,availableForPurchaseAt. A future timestamp delays the corresponding behavior. - Add a price that matches the storefront’s price channel, currency, country, customer group, and validity window.
- If inventory is tracked, add inventory on a supply channel used by the store and ensure stock is available.
The Storefront API applies the request’s store and pricing context when resolving products. A missing publication or a context-mismatched price can therefore make an otherwise active product absent or unsellable.
Channels have distinct jobs
Channel flags define where a channel may be used:
DISTRIBUTIONcontrols catalog publication and storefront availability.PRICEscopes prices.SUPPLYscopes inventory.
A channel can carry multiple flags, but separate channels are often easier to operate when markets have different catalogs, currencies, or warehouses. Channels must be ACTIVE to participate in live commerce.
Publish explicitly
You can include publications in ProductCreateInput, or publish later with productPublish. Variants have their own publications and can be managed with productVariantPublish.
Publishing a product does not implicitly publish every variant. Treat product and variant publication as two explicit steps in catalog synchronization.
A practical launch checklist
- Store points to the intended distribution, price, and supply channels.
- Product and intended variants are
ACTIVE. - Product and variants are published to the store’s distribution channel.
- Publication timestamps are not in the future.
- At least one valid price matches the Storefront request context.
- Tracked inventory is available on an applicable supply channel.
- The Storefront request supplies the intended
storeIdand price context.
When an item is missing, verify these layers in this order. It is faster than repeatedly changing product status because visibility is deliberately contextual.