Voir des recommandations

Cette page explique comment demander des recommandations de produits pour un utilisateur et un événement utilisateur spécifiques.

Une fois que vous avez importé vos produits et enregistré des événements utilisateur, vous pouvez demander des recommandations de produits pour des utilisateurs spécifiques en fonction des événements enregistrés pour cet utilisateur et de son activité actuelle. Il peut s'écouler jusqu'à 48 heures avant que les nouveaux produits et les nouveaux événements utilisateur ne soient reflétés dans le modèle de recommandation.

Vertex AI Search pour le commerce renvoie une liste d'identifiants produit classés. Vous devez vous charger du rendu des résultats sur votre site Web avec des images et du texte.

Ne mettez jamais en cache les résultats personnalisés d'un utilisateur final et ne renvoyez jamais de résultats personnalisés à un autre utilisateur final.

Avant de commencer

Vous devez créer un projet Google Cloud et configurer l'authentification en suivant les instructions indiquées sur la page Avant de commencer.

En outre, avant de pouvoir envoyer des requêtes de prédiction à partir des recommandations, vous devez disposer d'une recommandation entraînée et réglée (modèle) et d'une ou plusieurs configurations de diffusion actives.

Évaluer les recommandations

Avant de mettre à jour le code de votre site Web pour demander des recommandations, vous pouvez utiliser l'aperçu des résultats de prédiction pour vérifier que votre modèle et votre configuration de diffusion fonctionnent comme prévu.

Pour en savoir plus sur les configurations de diffusion, consultez la section À propos des configurations de diffusion.

Vous pouvez prévisualiser les résultats de la configuration de diffusion à partir de la page Évaluer ou en accédant à la page Détails d'une configuration de diffusion dans la console, puis en cliquant sur l'onglet Évaluer. Les étapes suivantes vous expliquent comment prévisualiser la page Évaluer.

Pour prévisualiser les recommandations renvoyées par votre configuration de diffusion:

  1. Accédez à la page Évaluer dans la console de la recherche pour le commerce.

    Accéder à la page "Évaluer"

  2. Cliquez sur l'onglet Recommandations s'il n'est pas déjà sélectionné.

  3. Sélectionnez la configuration de diffusion que vous souhaitez prévisualiser.

  4. Facultatif: saisissez un ID de visiteur pour prévisualiser les recommandations de cet utilisateur.

  5. Si la section Éléments associés s'affiche, cliquez sur Ajouter un élément et saisissez un ID de produit pour obtenir des recommandations associées à cet élément. Vous pouvez ajouter plusieurs éléments associés.

    L'ajout d'articles n'est disponible que si le type de modèle de la configuration de diffusion sélectionnée nécessite des produits en entrée pour les recommandations. Les modèles "Recommandations pour vous" ne nécessitent pas de saisir d'éléments associés.

  6. Cliquez sur Aperçu de prédiction pour afficher les résultats de prédiction.

Pour afficher la page Détails de la configuration de diffusion que vous prévisualisez, cliquez sur Afficher la configuration de diffusion sous le champ Sélectionner la configuration de diffusion.

Obtenir une recommandation

Pour en savoir plus sur les coûts liés aux prédictions, consultez la section Tarifs.

curl

Pour obtenir une recommandation, envoyez une requête POST à la méthode REST predict et fournissez le corps de requête approprié :

  • Le compte de service que vous utilisez doit disposer du rôle "Lecteur Retail" ou d'un rôle avec des privilèges supérieurs.

  • Remplacez SERVING_CONFIG_ID par la configuration de diffusion dans laquelle vous utiliserez les prédictions. En savoir plus

  • Si vous avez importé des événements utilisateur Google Analytics 360 en utilisant BigQuery, définissez visitorId sur l'ID client Google Analytics. Consultez la documentation Google Analytics pour savoir comment obtenir l'ID client.

  • Si vous exécutez un test A/B, définissez experimentIds sur l'ID correspondant au groupe de test. En savoir plus

  • Renseignez un objet événement utilisateur pour l'action utilisateur qui a déclenché la requête de recommandation.

    Notez que cet événement utilisateur n'est pas enregistré. Il sert uniquement à fournir un contexte pour cette requête. Nous vous conseillons d'enregistrer l'événement utilisateur de la même manière que vous enregistrez les autres événements utilisateur.

  • Si vous le souhaitez, ajoutez un filtre pour limiter les résultats potentiels à certains produits. En savoir plus

curl -X POST \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data '{
              "filter": "FILTER_STRING",
              "validateOnly": false,
              "userEvent": {
                  "eventType": "detail-page-view",
                  "visitorId": "VISITOR_ID",
                  "userInfo": {
                      "userId": "USER_ID",
                      "ipAddress": "IP_ADDRESS",
                      "userAgent": "USER_AGENT"
                  },
                  "experimentIds": "EXPERIMENT_GROUP",
                  "productDetails": [{
                      "product": {
                        "id": "PRODUCT_ID"
                     }
                  }]
              }
            }' \
https://retail.googleapis.com/v2/projects/PROJECT_ID/locations/global/catalogs/default_catalog/servingConfigs/SERVING_CONFIG_ID:predict

Un résultat semblable aux lignes suivantes doit s'afficher :

{
  "results": [{"id": "sample-id-1"}, {"id": "sample-id-2"}],
  "attribution_token": "sample-atr-token"
}

Vous devez associer la valeur attribution_token à ou aux URL que vous diffusez en tant que résultat de prédiction, puis la renvoyer avec les événements utilisateur correspondant à ces URL. En savoir plus.

Java

public static PredictResponse predictWithNextPageToken(UserEvent userEvent, int pageSize,
    String nextPageToken)
    throws IOException, InterruptedException {
  PredictionServiceClient predictionClient = getPredictionServiceClient();

  PredictRequest request = PredictRequest.newBuilder()
      .setPlacement(HOME_PAGE_PLACEMENT_NAME)
      .setUserEvent(userEvent)
      .setPageSize(pageSize)
      .setPageToken(nextPageToken)
      .setValidateOnly(true)
      .build();

  PredictResponse response = predictionClient.predict(request);

  predictionClient.shutdownNow();
  predictionClient.awaitTermination(2, TimeUnit.SECONDS);

  return response;
}

Reclassement du prix

Le reclassement du prix permet de classer par prix les produits ayant une probabilité de recommandation similaire, la priorité étant donnée aux articles ayant le prix le plus élevé. La pertinence étant toujours utilisée pour trier les articles, l'activation du reclassement du prix est différente d'un simple tri des articles par prix décroissant.

Le reclassement du prix peut être défini au niveau de la configuration de diffusion ou de la requête de prédiction.

Si vous appliquez un paramètre de reclassement du prix lorsque vous créez une configuration de diffusion dans la console Search for Retail, ce paramètre s'applique à toutes les recommandations diffusées par cette configuration, sans que vous ayez à intervenir.

Si vous devez contrôler le reclassement du prix pour une recommandation spécifique, vous pouvez le faire à l'aide du champ PredictRequest.params. Cette opération remplace tout paramètre de reclassement au niveau de la configuration qui s'appliquerait autrement à cette recommandation.

Diversité des recommandations

La diversification détermine si les résultats renvoyés par une requête de prédiction donnée proviennent de différentes catégories de votre catalogue de produits.

La diversification peut être définie au niveau de la configuration de diffusion ou de la requête de prédiction.

Si vous appliquez un paramètre de diversification lorsque vous créez une configuration de diffusion dans la console Search for Retail, ce paramètre s'applique par défaut à toutes les recommandations diffusées par cette configuration, sans que vous ayez à intervenir.

Si vous devez contrôler la diversification pour une recommandation spécifique, vous pouvez le faire à l'aide du champ PredictRequest.params. Cette opération remplace tout paramètre de diversification au niveau de la configuration qui s'appliquerait autrement à cette recommandation. Consultez les valeurs acceptées.

Utiliser les filtres de recommandation

Vous pouvez filtrer les recommandations renvoyées par Recommendations en utilisant le champ filter de la méthode predict. Pour en savoir plus, consultez Filtrer les recommandations.

Appels de prédiction avec des modèles d'optimisation au niveau de la page

Fournir des recommandations à l'aide de l'optimisation au niveau de la page nécessite une étape d'appel de prédiction supplémentaire.

Effectuez un appel de prédiction initial à l'aide d'une configuration de diffusion contenant le modèle d'optimisation au niveau de la page. La réponse de prédiction renvoie une liste triée d'ID de configuration de diffusion représentant le modèle à utiliser pour chaque panneau.

Appelez ensuite une prédiction pour chaque panneau à l'aide de l'ID de configuration de diffusion recommandé par le modèle d'optimisation au niveau de la page. La réponse de la prédiction contient le nom du modèle (par exemple, "Recommandations pour vous") et la liste des éléments recommandés à afficher dans ce panneau.

Le reclassement du prix, la diversité des recommandations et les filtres de recommandation ne sont pas disponibles pour les configurations de diffusion utilisant le modèle d'optimisation au niveau de la page.

Recommandations de surveillance et de dépannage

Une fois que vous avez configuré votre site Web pour recevoir des recommandations, nous vous recommandons de configurer des alertes. Consultez Configurer une alerte pour les erreurs de prédiction.

Pour résoudre les erreurs, consultez la section Surveiller et résoudre les problèmes.