Ce document concerne Recommendations AI, Retail Search et la nouvelle console Retail.

Obtenir des recommandations

Cette page explique comment demander des recommandations 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.

L'API Retail renvoie une liste des codes produit classés. Vous êtes responsable de l'affichage 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 les renvoyez jamais à un autre utilisateur final.

Avant de commencer

Avant de pouvoir accéder à l'API Retail, 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 à Recommandations IA, 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 les résultats de la prédiction d'aperçu 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 page Configurations de diffusion.

Vous pouvez afficher un aperçu des résultats de la configuration de diffusion à partir de la page Évaluer ou en accédant à la page Détails de la configuration de diffusion, puis en cliquant sur son onglet Évaluer. La procédure suivante vous montre comment prévisualiser la création sur la page Évaluer.

Pour prévisualiser les recommandations renvoyées par votre configuration de diffusion, procédez comme suit :

  1. Accédez à la page "Évaluation du commerce" dans Google Cloud Console.

    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 l'ID d'un visiteur pour afficher un aperçu des recommandations à appliquer à cet utilisateur.

  5. Si la section Articles associés s'affiche, cliquez sur Ajouter un article, puis saisissez un ID produit pour obtenir des recommandations le concernant. Vous pouvez ajouter plusieurs éléments associés.

    L'ajout d'éléments n'est disponible que si le type de modèle de configuration de diffusion sélectionné nécessite une entrée de produits pour les recommandations. "Recommandé pour vous, les modèles n'exigent pas que les éléments associés soient saisis.

  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 dans 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 sur l'API Retail.

  • 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/placements/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.

Lorsque vous choisissez un paramètre de reclassement du prix lors de la création d'une configuration de diffusion dans Cloud Console, ce paramètre s'applique à toutes les recommandations diffusées par cette configuration, sans qu'aucune action supplémentaire ne soit requise.

Si vous devez contrôler le reclassement du prix pour une recommandation spécifique, vous pouvez le faire via l'API Retail en utilisant le 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.

Lorsque vous choisissez un paramètre de diversification lorsque vous créez une configuration de diffusion dans Cloud Console, ce paramètre s'applique par défaut à toutes les recommandations diffusées par cette configuration, sans qu'aucune action supplémentaire ne soit requise de votre part.

Si vous devez contrôler la diversification pour une recommandation spécifique, vous pouvez le faire via l'API Retail en utilisant le 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 des filtres de recommandation

Vous pouvez filtrer les recommandations renvoyées par Recommendations AI en utilisant le champ filter de la méthode predict.

Le champ filter accepte deux formes de spécification de filtre :

  • Expressions de tag

    Si vous avez ajouté des valeurs tag à vos produits lors de leur importation, vous pouvez spécifier que seuls les produits correspondant aux tags fournis doivent être renvoyés en tant que recommandations. Consultez la documentation de référence de l'API pour le champ Product.tags[].

    Les expressions de tag peuvent contenir les opérateurs booléens OR ou NOT, qui doivent être séparés des valeurs de tag par un ou plusieurs espaces. Les valeurs de tag peuvent également être immédiatement précédées d'un tiret (-), ce qui équivaut à l'opérateur NOT. Les expressions de tag qui utilisent les opérateurs booléens doivent être placées entre parenthèses.

  • filterOutOfStockItems

    L'indicateur filterOutOfStockItems filtre tous les produits dont le champ stockState a la valeur OUT_OF_STOCK.

Vous pouvez combiner ces deux types de filtres. Seuls les éléments qui répondent à toutes les expressions de filtre spécifiées sont renvoyés.

Voici quelques exemples de chaînes de filtre :

"filter": "tag=\"spring-sale\""
"filter": "filterOutOfStockItems"
"filter": "tag=\"spring-sale\" tag=\"exclusive\" filterOutOfStockItems"

L'exemple suivant renvoie uniquement les articles en stock qui ont le tag "spring-sale" ou "exclusive" (ou les deux), mais pas le tag "items-to-exclude".

"filter": "tag=(\"spring-sale\" OR \"exclusive\") tag=(-\"items-to-exclude\") filterOutOfStockItems"

Surveiller les recommandations et résoudre les problèmes les concernant

Après avoir configuré votre site Web pour obtenir 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 Contrôler et résoudre les problèmes.