Setup guide
Setup guide
The Coveo Merchandising Hub (CMH) offers a convenient solution for ecommerce merchants to manage product discovery for their Coveo for Commerce implementation.
This tool provides merchants with the flexibility to curate products displayed on search results pages, product listing pages, and recommendation slots, that are tailored to various scenarios and requirements.
To begin utilizing the CMH, you must take steps in the Coveo Administration Console to properly configure your Coveo for Commerce implementation.
More precisely, you must:
-
Configure your query pipelines to use the CMH.
-
Configure your machine learning models to ensure a personalized and relevant product discovery experience.
Notes
|
Query pipeline configuration
To ensure that the CMH works seamlessly with your Coveo for Commerce implementation, you must configure your query pipelines in the Administration Console (platform-ca | platform-eu | platform-au) to support the product discovery solutions that you want to manage through the CMH.
Query pipelines must be created in accordance with the number of tracking IDs that the CMH will support. This means that for each tracking ID, you must create a query pipeline for each product discovery solutions that you’re using.
Query pipelines must follow a strict naming convention, as well as a specific description, which are as follows:
-
Query pipeline name:
cmh-<solution>-<tracking-id>
-
Query pipeline description:
<solution>-<tracking-id>
Where:
-
<solution>
is the product discovery solution that the query pipeline supports. -
<tracking-id>
is the tracking ID that the query pipeline supports.
Your Coveo organization powers the Barca sports Coveo-powered commerce implementation.
You operate in two different countries: United States and Canada.
Therefore, you have two tracking IDs:
-
barca_sports_us
-
barca_sports_ca
This means that you would have to create the following query pipelines:
Tracking ID | Product discovery solution | Query pipeline name | Query pipeline description |
---|---|---|---|
|
Search |
|
|
Product listing |
|
|
|
Recommendations |
|
|
|
|
Search |
|
|
Product listing |
|
|
|
Recommendations |
|
|
Query pipeline conditions
You must configure query pipeline conditions to route queries originating from the different product discovery solution interfaces to the correct query pipeline.
Query pipeline conditions are elements that determine which query pipeline to use based on the product discovery solution the end user is interacting with. For example, if a user is interacting with the search interface, the query pipeline condition will route the query to the query pipeline dedicated to search.
In the context of the CMH, query pipeline conditions are built with values of parameters sent to the Commerce API when requesting products using the different endpoints.
Query pipeline conditions must follow a strict naming convention. The naming convention differs based on the product discovery solution that the query pipeline condition supports. The following table provides the naming convention for each product discovery solution:
Product discovery solution | Naming convention |
---|---|
Search |
|
Product listing |
|
Recommendations |
|
Where <my_trackingId>
is the value of the tracking ID parameter as used in the request to the Commerce API.
For example, when requesting products for your kayaks
listing page, the value sent in the trackingId
parameter is barca_sports_ca
.
Therefore, the value of the <my_trackingId>
will be barca_sports_ca
.
See Tracking ID for more information about how to define tracking IDs.
For the barca_sports_ca
, you created the following query pipelines:
-
Search query pipeline:
cmh-search-barca_sports_ca
-
Listing query pipeline:
cmh-product-listing-barca_sports_ca
-
Recommendations query pipeline:
cmh-recommendations-barca_sports_ca
The following table provides the query pipeline conditions that you would have to create for each query pipeline:
Product discovery solution | Query pipeline | Query pipeline condition |
---|---|---|
Search |
|
|
Product listing |
|
|
Recommendations |
|
|
Leading practice
If your Coveo Organization contains query pipelines that route queries that shouldn’t target the Commerce API (that is, query pipelines that target the Search API), we strongly recommend that you add the following condition to the query pipeline:
This condition ensures that queries going through the Commerce API don’t target these query pipelines. |
For instructions on how to create query pipeline conditions, see Manage query pipeline conditions.
Product listings specific configuration
When configuring the query pipeline for routing product listing queries, you must configure a ranking weight query pipeline rule to optimize the ranking of products on product listing pages.
You must configure the ranking rule to set all ranking factors to 0
.
Machine learning models for Coveo for Commerce
Coveo recommends that you configure Coveo Machine Learning (Coveo ML) models to power and enhance product discovery experiences. To increase personalization and relevancy, configure the recommended Coveo ML models for each of the product discovery solutions:
Product discovery solution | Recommended model |
---|---|
Search |
Automatic Relevance Tuning (ART) (optimized for search) |
Intent-Aware Product Ranking (IAPR) (optional) |
|
Predictive Query Suggestions (PQS) or Query Suggestions (QS) |
|
Product listing |
ART (optimized for listing pages) |
Recommendations |
To configure the Coveo ML models for product discovery solutions:
-
Configure the appropriate models for each product discovery solution.
NoteFor optimal results, we recommend that you configure one model of each type for each tracking ID that you’ve defined.
-
Associate the models with the query pipelines that you’ve created.
-
For ART, QS, DNE, and PR models, configure learning filters to ensure that the model only uses the data that’s relevant to the website on which it’s deployed.
You’ve defined the following tracking IDs for your two Coveo-powered ecommerce sites or applications:
-
barca_sports_us
-
barca_sports_ca
Therefore, you create the following Coveo Machine Learning models:
Tracking ID | Product discovery solution | Model name |
---|---|---|
|
Search |
Barca Sports US Search IAPR model |
Barca Sports US Search PQS model |
||
Barca Sports US Search DNE model |
||
Listing |
Barca Sports US Listing ART model |
|
Recommendations |
Barca Sports US Product Recommendations PR model |
|
|
Search |
Barca Sports CA Search IAPR model |
Barca Sports CA Search PQS model |
||
Barca Sports CA Search DNE model |
||
Listing |
Barca Sports CA Listing ART model |
|
Recommendations |
Barca Sports CA Product Recommendations PR model |
Note
To effectively power commerce-optimized Coveo ML models, substantial usage analytics data is needed. Properly implementing data tracking is crucial for feeding models the required data and enhancing relevance over time as more data is collected. |
Machine learning model configuration for commerce
When using an ART, QS, DNE, or PR model for a Coveo for Commerce organization that powers multiple tracking IDs, you must configure learning filters to ensure that the model uses only the data that’s relevant to the website on which it’s deployed.
For example, if your Coveo for Commerce organization powers multiple websites, you must configure learning filters to ensure that the model only learns from the data of the website on which it’s deployed.
Note
For IAPR and PQS models, instead of defining learning filters, you’ll be required to configure the model to use the appropriate tracking IDs. |
To configure learning filters:
-
Once you’ve created your model, access the Models (platform-ca | platform-eu | platform-au) page.
-
Click the desired model, and then click More > Edit JSON in the Action bar.
-
In Edit a Model JSON Configuration, add the following
commonFilter
object to the JSON configuration:"commonFilter": "(c_context_website=@'<TRACKING-ID>')"
Where you replace
<TRACKING-ID>
with the tracking ID defined for the website on which you want to use the model. -
Click Save.
If you have a model that you want to use on a website for which the tracking ID is barca_sports_us
, your JSON configuration should look like this:
{
"modelDisplayName": "My Commerce ML Model",
"exportPeriod": "P3M",
"intervalTime": 1,
"intervalUnit": "WEEK",
"commonFilter": "(c_context_website=@'barca_sports_us')",
"exportOffset": "PT0S"
}