Unlock search performance tiers

This page describes search use cases, their respective performance tiers, and how to check the Search for Retail console for an assessment of your data quality and which performance tiers you have unlocked. It shows how to sign up for data quality alerts.

Search use cases

Search provides search results for two use cases:

  • Text query search, used when your shoppers look for items on your application by entering text queries and getting a set of relevant results.
  • Browse search, used when your shoppers land on a particular category page, such as the "Appliances" category web page of a home improvement store's retail site and browse the sorted items in that category.

For more about the differences between these use cases, see About text search and browse search.

Performance tiers

Text query search and browse search have different performance tiers that increasingly improve your search results. Unlocking performance tiers relies on the user event and catalog data that you upload to Vertex AI Search for retail.

Each performance tier is automatically activated when you satisfy all of its upgrade-blocking data requirements. You must also meet the requirements for all previous tiers to upgrade to the next tier.

The following performance tiers are available for each use case:

  • Text query search use case

    • Relevance: Results are returned based only on relevance to the query
    • Relevance and popularity: Results are returned based on relevance to the query. Equally relevant products are ranked by the popularity of the product on your site
    • Revenue-optimized: Relevant results are ranked by the product's likelihood of being purchased based on site-wide activity
    • Personalized and revenue-optimized: Relevant results are ranked by the individual user's preferences and the product's likelihood of being purchased based on site-wide activity
  • Browse search use case

    • Popularity: Results are returned based only on relevance to the category
    • Revenue-optimized: Relevant results are ranked by the product's likelihood of being purchased based on site-wide activity
    • Personalized and revenue-optimized: Relevant results are ranked by the individual user's preferences and the product's likelihood of being purchased based on site-wide activity

The Search for Retail console provides a Data Quality page where you can check if you have met each tier's data requirements.

Check your data quality

After uploading your data, go to the Search for Retail console to see data check metrics for each performance tier for your use case.

  1. Go to the Data quality page in the Search for Retail console.

    Go to the Data Quality page

  2. View the data check metrics for your search use case:

    • For text search metrics, click the Search tab.
    • For browse search metrics, click the Browse tab.
  3. Check each performance tier's score card of issues at the top of the page.

    • If it is labeled "In use": You have satisfied all blocking issues for that tier and have unlocked it.
    • If there are 0 blocking issues: You have satisfied the data checks for that tier. If there are 0 blocking issues for this tier and all previous tiers, it takes about 24 hours to train and prepare the model and activate the newly unlocked tier.
    • If there are any blocking issues: Check that tier's metrics to see which data issues to address to unlock that tier.
  4. View each performance tier's data check metric table to see a list of issues that can block tier upgrades or impact search performance.

  5. Check the Status column for the priority level of each data check metric:

    • Upgrade blocking: Identifies data issues that prevent search from upgrading your use case to the next performance tier. To unlock a tier, satisfy all upgrade blocking data checks for that performance tier (and those of its previous tiers).
    • Performance critical: Identifies data issues that do not block an upgrade, but can have a significant impact on text search or browse search performance.
    • Compliant: Indicates that this data check has passed.
    • Unavailable: Indicates that a non-upgrade blocking data check is not yet completed. Values for these metrics are displayed as N/A. It can take up to 24 hours after importing data to compute some data checks.
  6. For more information about any metric, click Details to see a detail panel that displays that metric's description, data check timestamp, and threshold values.

  7. Check the thresholds in a metric's Details panel for the values needed to satisfy that metric's data check and improve results. Not all thresholds apply to all metrics:

    • Blocking threshold: A required threshold to meet for satisfying this metric's data check.
    • Critical threshold: A highly recommended threshold to meet. Not meeting this threshold can have a significant negative impact on performance.
    • Warning threshold: A recommended threshold to meet. Not meeting this threshold can have a minor impact on performance.

To import more data to satisfy any data issues, see Import historical user events or Import catalog information in the public documentation.

Best practices

  • In search requests and in user events, provide user IDs in addition to visitor IDs for logged-in users. This allows search to personalize results for the user based on users' signed-in events across devices.
  • Send user events in real time instead of in batch uploads with a delay. This helps search personalize using a user's most recent activity on your site.
  • Upload all user events. For example, do not submit only events that are attributable to searches.

Turn off personalization

To turn off personalization, set ServingConfig.personalizationSpec to mode.DISABLED.

Data quality alerts

The data quality alerts are triggered if a metric value on the dashboard changes from satisfying to non satisfying. Alerts are sent by emails.

If you want to see Cloud Monitoring related alerts, go to Set up alerts.

View data quality

Go to the Data quality page in the Search for Retail console.

Go to the Data Quality page

One row corresponds to one metric, and one metric corresponds to one alert.

Set up data quality alerts

REST

Call the UpdateAlertConfig API.

curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" -H "X-GFE-SSL: yes" -H "X-Goog-User-Project: PROJECT_ID" \
 "https://retail.googleapis.com/v2alpha/projects/PROJECT_ID/alertConfig" \
--data '
{
  "alertPolicies": [
    {
      "alertGroup": "search-data-quality",
      "enrollStatus": "ENROLLED",
      "recipients": [
        {
          "emailAddress": "EMAIL_ADDRESS_1"
        },
        {
          "emailAddress": "EMAIL_ADDRESS_2"
        }
      ]
    }
  ]
}'

Replace the following:

  • PROJECT_ID: The ID of your Google Cloud project.
  • EMAIL_ADDRESS_1, EMAIL_ADDRESS_2: The email addresses that you want to enroll in for the alerts. They should be compliant to SMTP (Simple Mail Transfer Protocol). At most 20 email addresses can be added to one alert policy.

Console

  1. Go to the Data quality page in the Search for Retail console.

    Go to the Data Quality page

  2. At the top, click Configure alerts.

  3. Add at least one email address. The email addresses should be compliant to SMTP (Simple Mail Transfer Protocol). At most 20 email addresses can be added to one alert policy.

  4. Click Submit.

Disable data quality alerts

REST

Call the UpdateAlertConfig API.

curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" -H "X-GFE-SSL: yes" -H "X-Goog-User-Project: PROJECT_ID" \
 "https://retail.googleapis.com/v2alpha/projects/PROJECT_ID/alertConfig" \
--data '
{
  "alertPolicies": [
    {
      "alertGroup": "search-data-quality",
      "enrollStatus": "DECLINED",
      "recipients": [
      ]
    }
  ]
}'

Replace the following:

  • PROJECT_ID: The ID of your Google Cloud project.

Console

  1. Go to the Data quality page in the Search for Retail console.

    Go to the Data Quality page

  2. At the top, click Configure alerts.

  3. Delete all existing emails.

  4. Click Submit.

Troubleshoot

Here are some common issues and how to solve them:

A data check isn't passing

If a data check isn't passing, click Details for that metric on the Data Quality page to see a more detailed description of that metric and the thresholds to meet that satisfy that data check.

If you have already met the data requirements, check the Timestamp section for when that metric was last computed. If you recently reformatted or ingested a significant amount of data, it might take several hours to re-compute that metric.

If you haven't met the data requirements, you might need to reformat data or collect more data to meet the data check requirements. After you have ensured your data will meet the metric threshold, re-import your reformatted data or import your additional data, then wait for the metric to re-compute.

A metric value displays as N/A

Metrics values are displayed as N/A if no data has been uploaded or if the metrics are not yet computed. It can take up to 24 hours after importing data to compute some data checks.

A performance tier has no blocking issues but isn't in use

To troubleshoot, follow these steps:

  1. Check if there are any blocking data issues for previous tiers. You need to meet the requirements for all previous tiers to upgrade to the next tier.

  2. Wait 24 hours. After all upgrade-blocking data checks have passed, it takes about 24 hours to train and prepare the model and activate the newly unlocked tier.

If the performance tier isn't marked as in-use within two days of passing all of its upgrade-blocking data checks, contact Vertex AI Search for retail support with your project number and project ID for assistance.

Additional data requirement information

For more about Vertex AI Search for retail data requirements, see the documentation:

What's next