Creating a Coveo Commerce Catalog

The Coveo catalog is the core structure of Coveo for Commerce. It defines the structure of commerce-related items in your index. In other words, it establishes relationships between a set of items representing catalog products, variants, and availability channels within your associated sources. The catalog also lets you standardize your data to enable the proper use of machine learning models.

In a commerce-enabled Coveo organization, members of the Administrators built-in group can use the Catalogs page to initially create catalogs, and come back anytime to manage them. Ensure that you set the Required Privileges for your commerce organization.

You can also create catalogs using the Catalog API.

Add a Catalog

  1. Access the Catalogs page.

  2. Click Add Catalog. This will open the Add a Catalog panel.

  3. Enter a suitable Name for your catalog (e.g., acme-full-catalog).

    This name appears in the catalog list in the Administration Console. It can also be used to reference the catalog when querying its content from a search interface.

  4. (Optional) In the Note field, enter a suitable description for your catalog (e.g., The various products and services offered by the ACME Corporation).

  5. In the Catalog Content drop-down menu, select the source that contains your product’s metadata.

    The source selection will affect the following:

    • The scope of the catalog preview, once your catalog is created.
    • The scope of the selectable configuration drop-downs (or available fields within drop-downs).
    • The Facet Association.
  6. Select the object types your catalog should include.

    • If all of your sellable items are all uniquely identifiable, continue to step 7.

      Product Product ID
      Red Lazer Headphones 0001
      Blue Lazer Headphones 0002

      By default, we’ll consider your products are available from a unique distribution channel unless the Availability option is selected.

    • If some or all of your sellable items are offered in different variations (e.g., color, size), select Variants.

      Product Product ID
      Lazer Headphones 0001
      Variant Product ID Variant ID
      Red Lazer Headphones 0001 SKU0001
      Blue Lazer Headphones 0001 SKU0002
    • If the availability of some or all of your products may vary depending on certain factors (e.g., customer location, distribution structure), select Availability.

      Channel Available Product IDs or Variant IDs
      Québec Store 0001, 0002
      London Store 0001

      Depending on the way you have structured your data, your availability data might be contained in another source, in that case, from the drop-down, select that source.

  7. Click Next.

Catalog Configuration

A configuration is a reusable structure of commerce-related items in your index that can be applied to multiple catalogs, which allows you to re-use the structure across multiple brands or stores. It establishes relationships between a set of items representing catalog products, variants, and availability channels as well as the standard fields mapping.

You can’t delete a catalog configuration without first deleting the associated catalog(s).

Select an existing catalog configuration or create a new one.

Use Existing Catalog Configuration

  1. Select a previously created configuration.

  2. Click Add Catalog.

Once your Commerce Catalog is created, stream your catalog data into the source once more. This ensures that the catalog is properly registered.

Create a New Catalog Configuration

Enter a suitable name for your configuration as you may need to return and use it later, then click Next.

Let’s say you want to use the same configuration for two catalogs. Your catalogs are language specific ACME EN and ACME FR. You would want to distinguish the actual structure of the configuration from the specializations, therefore you could name your configuration ACME default configuration.

Products

  1. Under Define your products, select the objecttype field value that identifies items as products in your index (e.g., Product).

  2. Under Select your Product ID field, select the field that uniquely identifies each distinct product (e.g., productid). If there are no variants available, click Next.

    • Ensure that the selected field has the Facet and Use cache for nested queries settings enabled.

    • If the catalog hierarchy has variants, the product unique identifier will link each variant to its parent product. Select a field whose value is the same for any given product and all of its variants.

    • If your catalog hierarchy has no variants, but many channels, the product unique identifier will link each product to the channels it’s available in. Select a field whose value for any given product is also contained in the values of a listing field on each channel in which this product is available.

Variants

  1. Under Define your variants, select the objecttype field value that identifies items as variants in your index (e.g., Variant).

  2. Under Select your Product SKU field, select the field that uniquely identifies each distinct variant (e.g., sku).

    • Ensure that the selected field has the Facet and Use cache for nested queries settings enabled.

    • If your catalog hierarchy has many channels, the variant unique identifier will link each variant to the channels it’s available in. Select a field whose value for any given variant is also contained in the values of a listing field on each channel in which this variant is available.

  3. Click Next.

Availabilities

  1. Under Define your availabilities, select the objecttype field value that identifies items as availability channels in your index (e.g., Store).

  2. Under Select your Availability ID field, select the field to use to uniquely identify each availability channel in your index (e.g., availabilityid)

    Ensure that the selected field has the Facet and Use cache for nested queries settings enabled.

  3. Under Select your Available SKUs field, select the multi-value field that lists all sellable items (product or variants) available from each distinct availability channel (e.g., availableskus).

    • Ensure that the selected field has the Multi-value facet and Use cache for nested queries settings enabled.

    • If your catalog hierarchy has variants, the listing field should contain one or more variant unique identifiers. Otherwise, it should contain one or more product unique identifiers.

  4. Click Next.

The visible tabs and sections depend on the object type structure and availability structure you selected when you created your catalog.

Standard Fields

The purpose for having a standardized set of product data is so that we can properly map product information with user data for Coveo Machine Learning models. As a result, models provide much more relevant content to your clients. The word standard is important here, as these fields are the same across all Coveo organizations and expect similar values to be stored in them. Furthermore standard fields will improve your experience throughout the Coveo Platform.

Standard commerce fields are prefixed by ec_ (i.e.: ec_price). The standard fields need to be populated by other Coveo fields during the catalog creation process. See below for a list of all standard fields.

In the Map standard fields to your catalog step of the catalog configuration, you’ll be asked to map a standard field to a Coveo field. Continuing with the example of pricing, here you would need to map ec_price to your previously created field my_price.

To ensure the proper functioning of standard fields, they’ll need to be defined carefully and this starts with a good definition of Coveo fields. Once all your Coveo fields are created and populated by your metadata with the same name, you’ll be able to proceed with standard field mapping.

  1. In the Associated Metadata column, select the metadata to associate to the ec_ field(s).

  2. Click Finish.

Once your Commerce Catalog is created, stream your catalog data into the source once more. This ensures that the catalog is properly registered.

Standard Fields Reference

Display Name Index Field Name Importance Description Format
Name ec_name High Name of the product String
Description ec_description High Description of the product String
Brand ec_brand High Product brand String
Category ec_category High Category of the product (e.g., Electronics; Electronics|Televisions; Electronics|Televisions|4K Televisions) String
Price ec_price High Base price of the product or variant Float
Item Group ID ec_item_group_id High For product grouping or bundling String
Short Description ec_shortdesc Low Short description of the product String
Image ec_thumbnails Low Lower resolution product image(s) used for faster page load time (URL format) String
Images Gallery ec_images Low Collection of high resolution product images used to view product details (URL format) Array
Special Price ec_promo_price Low Promotional price of product or variant Float
In Stock ec_in_stock Low Availability of the product (i.e., whether the product is in stock) Boolean
COGS ec_cogs Low To calculate the product margin Float
Ratings ec_rating Low A rating based system from 0-10 String

Edit a Configuration

You can edit the configuration of a catalog when you want to add or remove object types. Keep in mind that editing a configuration will impact all associated catalogs. For example, your catalog previously only contained single SKU products and you now want to add variants and/or stores.

You can’t delete a catalog configuration without first deleting the associated catalog(s).

  1. On the Catalogs page, click Manage Configurations.

    OR

    Select a Catalog and click Edit.

  2. Click Edit configuration icon to edit the configuration.

For more information on how to configure a catalog configuration, refer to the Catalog Configuration section.

Recommended Articles