Skip to main content
Algolia’s commercetools integration stores your product data in an extensible format that’s optimal for search. The integration can generate two types of records, depending on your record model preference:
  • Product Variant records: create one record per product variant.
  • Product records: create one record per base product, containing all the variants in a variants attribute.
You can choose the record model when you configure the destination. For more information about which model best suits your needs, see Ecommerce records.

Variant level schema

Algolia stores commercetools product variants in the following format:
JavaScript

Product level schema

JavaScript
The attributes field lists all the commercetools product attributes. By default, users can search in the following attributes, ranked in order of importance:
  1. name
  2. description
  3. searchableAttributes. All commercetools product attributes where the isSearchable property is true. It’s a subset of the attributes object in the product schema.
  4. categories

Configure results grouping

Results are grouped by default when you use the product-level schema. In a variant-level schema, large catalogs often group related variants to show one result per base product. To enable this, set the distinct feature and use productID as the attributeForDistinct.

Categories

Categories are stored as hierarchical facets. Category pages are automatically generated and referenced by the categoryPageId attribute. The categoryKeys attribute is a flattened version of the categories attribute hierarchy.

Changes to your commercetools inventory

Algolia’s commercetools integration monitors inventory changes and sets the isInStock value for each affected SKU. isInStock is true if the inventory for any supply channel is greater than zero for that SKU.

Prices

The prices attribute consists of key-value pairs with currency codes as keys, such as “USD”. Values contain:
  • The minimum price min in centAmount: the smallest unit of the currency such as cents, pence, or centime.
  • The maximum price max in centAmount
  • A list of all the Customer Groups set in the prices as customerGroups with the following properties:
    • id. The ID of the Customer Group.
    • price. The price of the Customer Group in centAmount.
  • A list of values for each price as priceValues with the following properties:
    • id. The ID of the price.
    • value. The price in centAmount.
    • discountedValue. The discounted price in centAmount.
    • validFrom. The date from which the price is valid.
    • validUntil. The date until which the price is valid.
    • customerGroupID. The ID of the customer group to which the price applies.

Images

By default, the images array only contains the URLs of a product’s images. To index all image attributes, set useImagesObjects to true in the source input:
JSON
Last modified on June 19, 2026