Create a Coveo commerce catalog
Create a Coveo commerce catalog
The Coveo commerce 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 catalog sources. The catalog also lets you standardize your data to enable the proper use of machine learning models.
Furthermore, the creation of a commerce catalog is a requirement for Product embeddings and vectors, as well as analyzing usage data through advanced commerce reporting.
In a commerce-enabled Coveo organization, members of the Administrators built-in group can use the Catalogs (platform-ca | platform-eu | platform-au) page to initially create catalogs, and come back anytime to manage them. Ensure that you set the Required privileges for your commerce organization.
|
Note
You can also create catalogs using the Catalog API. |
Add a catalog
-
Access the Catalogs (platform-ca | platform-eu | platform-au) page.
-
Click Add Catalog. This will open the Add a Catalog panel.
-
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.
-
(Optional) In the Note field, enter a suitable description for your catalog (e.g.,
The various products and services offered by the ACME Corporation
). -
In the Catalog Content drop-down menu, select the source that contains your product’s metadata. The source you select can only be used with a single catalog.
NoteThe 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.
-
-
Select the object types your catalog should includes.
-
If all of your sellable items are all uniquely identifiable, continue to step 7.
ExampleProduct Product ID Red Lazer Headphones
0001
Blue Lazer Headphones
0002
NoteBy 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.
ExampleProduct 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.
ExampleChannel Available product IDs or variant IDs Québec Store
0001, 0002
London Store
0001
NoteDepending 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. Refer to Leverage variants and availabilities for more information.
-
-
Click Next.
NoteIf you need to change the catalog structure, you’ll need to create a new catalog. For example, your catalog previously only contained single SKU products and now you want to add variants or stores.
Catalog configuration
A catalog 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.
Select an existing catalog configuration or create a new one.
Use existing catalog configuration
-
Select a previously created configuration.
-
Click Add Catalog.
|
Note
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
-
Under Define your products, select the
objecttype
field value that identifies items as products in your index (e.g.,Product
). -
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.
|
Notes
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
-
Under Define your variants, select the
objecttype
field value that identifies items as variants in your index (e.g.,Variant
). -
Under Select your Product SKU field, select the field that uniquely identifies each distinct variant (e.g.,
sku
).Notes-
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.
-
-
Click Next.
Availabilities
-
Under Define your availabilities, select the
objecttype
field value that identifies items as availability channels in your index (e.g.,Store
). -
Under Select your Availability ID field, select the field to use to uniquely identify each availability channel in your index (e.g.,
availabilityid
)NoteEnsure that the selected field has the Facet and Use cache for nested queries settings enabled.
-
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
).Notes-
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.
-
-
Click Next.
NoteThe 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 Coveo.
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
.
|
Note
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. |
-
In the Associated Metadata column, select the metadata to associate to the
ec_
field(s). -
Click Finish.
|
Note
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[1] |
|
High |
Name of the product |
String |
Description[1] |
|
High |
Description of the product |
String |
Brand |
|
High |
Product brand |
String |
Category |
|
High |
Category of the product (e.g., Electronics; Electronics|Televisions; Electronics|Televisions|4K Televisions) |
String |
Price |
|
High |
Base price of the product or variant |
Float |
Item Group ID |
|
High |
For product grouping or bundling |
String |
Short Description |
|
Low |
Short description of the product |
String |
Image |
|
Low |
Lower resolution product image(s) used for faster page load time (URL format) |
Array |
Images Gallery |
|
Low |
Collection of high resolution product images used to view product details (URL format) |
Array |
Special Price |
|
Low |
Promotional price of product or variant |
Float |
In Stock |
|
Low |
Availability of the product (i.e., whether the product is in stock) |
Boolean |
COGS |
|
Low |
To calculate the product margin |
Float |
Ratings |
|
Low |
A rating based system from 0-10 |
String |
Manage configurations
Depending on the structure you’ve created for your commerce environment, you may need to change or delete your configurations.
For example, if you need to redefine which objecttype
field value identifies as a product in your index.
Edit a configuration
|
WARNING
Editing a configuration will impact all associated catalogs. |
-
On the Catalogs (platform-ca | platform-eu | platform-au) page, click Manage Configurations.
-
Click
to edit the configuration.
For more information on how to configure a catalog configuration, refer to the Catalog configuration section.
Delete a configuration
|
Note
You can’t delete a catalog configuration without first deleting the associated catalog(s). Once the associated catalog is deleted, the previously associated configuration will remain in your Manage configurations interface until it’s manually deleted. |
-
On the Catalogs (platform-ca | platform-eu | platform-au) page, click Manage Configurations.
-
Click
next to the configuration you want to delete.