Leverage variants and availabilities

Product variants let you define different variations of a product, while product availabilities let you specify where and when products and their variants are available.

In your catalog data, variants and availability channels are represented by items of the variant and availability catalog objects.

Variant and availability items usually have their own set of fields to store metadata specific to their catalog object.


A retailer sells a pair of shoes, which is offered in different sizes and widths.

The retailer creates an item of the product catalog object for this pair of shoes and defines a set of variant items.

The item of the product catalog object contains the general information about the pair of shoes, such as the brand, the model, and the color. The items of the variant catalog object contain the variant-specific information, such as the size and the width.

The retailer also creates an item of the availability catalog object for each store location where they sell their products. Each item of the availability catalog object contains the availabilityid of the store location and the availableskus (that is, the list of SKUs available at that location).

This information can be used to generate facets on a search results or listing page, to filter results based on the product’s variants and availability channels. See Determine which fields are available for facets for instructions.

Once you’ve defined your catalog structure and decided which fields you want to use as facets, you can leverage these facets to filter returned products. Here are some common use cases where you’ll want to leverage filters on variants and availabilities:

This section also contains instructions on how to disable availability filtering for all products to appear in the search results, regardless of availability channels.