Ce document concerne Recommendations AI, Retail Search et la nouvelle console Retail. Pour utiliser Retail Search dans la phase en disponibilité limitée, contactez le service commercial Cloud.

Si vous n'utilisez que Recommendations AI, restez dans la console Recommendations AI et consultez la documentation sur Recommendations AI.

Gérer les événements utilisateur

Cette page décrit comment afficher et supprimer des événements utilisateur. Pour en savoir plus sur l'enregistrement des événements utilisateur en temps réel, consultez la page Enregistrer des événements utilisateur en temps réel. Pour importer des données d'événement utilisateur passées, consultez la section Importer un historique d'événements utilisateur.

Afficher les informations agrégées concernant les événements utilisateur

Vous pouvez afficher le nombre d'événements utilisateur enregistrés pour votre projet dans l'onglet Événement de la page Données de la console Retail. Les métriques apparaîtront environ 24 heures après la première importation d'événements dans Retail.

Statistiques d'événements utilisateur Retail

Supprimer des événements utilisateur

En règle générale, vous devez conserver les événements utilisateur après leur enregistrement. Il n'est pas recommandé de purger les événements.

L'opération de purge des événements peut prendre plusieurs jours. Si vous prévoyez de réinitialiser entièrement les événements utilisateur, envisagez plutôt de créer un nouveau projet.

Si certains de vos événements utilisateur n'ont pas été enregistrés correctement et que vous devez les supprimer, vous pouvez utiliser la méthode userEvents.purge.

Spécifiez les événements que vous souhaitez supprimer à l'aide d'une chaîne de filtre. Cela permet de supprimer de manière sélective les événements utilisateur en filtrant sur les champs eventTime, eventType, visitorID et userID.

La suppression ne pouvant pas être annulée, testez votre chaîne de filtre en effectuant une simulation avant de supprimer les événements utilisateur. Le champ force est défini sur false par défaut. Ce paramètre permet de renvoyer le nombre d'événements à supprimer sans les supprimer. Lorsque vous êtes prêt à supprimer les événements utilisateur, définissez le champ force sur true.

curl

Cet exemple permet de filtrer une période spécifique, qui doit être spécifiée au format date/heure Zulu. Le champ force est défini sur false.

curl -X POST \
  -H "Authorization: Bearer "$(gcloud auth application-default print-access-token)"" \
  -H "Content-Type: application/json; charset=utf-8" \
  --data '{
    "filter":"eventTime > \"2019-12-23T18:25:43.511Z\" eventTime < \"2019-12-23T18:30:43.511Z\"",
    "force":"false"
  }' \
  "https://retail.googleapis.com/v2/projects/[PROJECT_ID]/locations/global/catalogs/default_catalog/userEvents:purge"

Vous devez recevoir un objet de réponse qui ressemble à ceci, où purge-user-events-54321 est l'ID de l'opération :

{
  "name": "projects/[PROJECT_ID]/locations/global/catalogs/default_catalog/operations/purge-user-events-54321"
}

Cet exemple demande l'état de l'opération :

curl -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
"https://retail.googleapis.com/v2/projects/[PROJECT_ID]/locations/global/catalogs/default_catalog/operations/OPERATION_ID"

Exemple d'état d'opération :

{
  "name": "projects/[PROJECT_ID]/locations/global/catalogs/default_catalog/operations/OPERATION_ID",
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.retail.v2.PurgeUserEventsResponse",
    "purgedEventsCount": "1"
  }
}

La définition du champ force sur true force la suppression.

curl -X POST \
  -H "Authorization: Bearer "$(gcloud auth application-default print-access-token)"" \
  -H "Content-Type: application/json; charset=utf-8" \
  --data '{
    "filter":"eventTime > \"2019-12-23T18:25:43.511Z\" eventTime < \"2019-12-23T18:30:43.511Z\"",
    "force":"true"
  }' \
"https://retail.googleapis.com/v2/projects/[PROJECT_ID]/locations/global/catalogs/default_catalog/userEvents:purge"

Java

public static String purgeUserEvents(
    String filter)
    throws IOException, InterruptedException, ExecutionException {
  UserEventServiceClient userEventsClient = getUserEventServiceClient();

  PurgeUserEventsRequest request = PurgeUserEventsRequest.newBuilder()
      .setParent(DEFAULT_CATALOG_NAME)
      .setFilter(filter)
      .setForce(true)
      .build();

  String operationName = userEventsClient
      .purgeUserEventsAsync(request).getName();

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

  return operationName;
}

Utiliser le filtre d'événement utilisateur

Vous pouvez filtrer les événements utilisateur à supprimer.

Le filtre est une chaîne qui contient une ou plusieurs des restrictions suivantes :

  • eventTime

    Fournit un horodatage pour restreindre les événements à supprimer. Ce filtre peut être spécifié une ou deux fois, accompagné d'un symbole supérieur à (>) ou inférieur à (<). La période spécifiée doit être un bloc unique contigu.

  • eventType

    Restreint les événements à supprimer à un seul type d'événement.

  • visitorID

    Restreint les événements à supprimer à un seul ID de visiteur.

  • userID

    Restreint les événements à supprimer à un seul ID d'utilisateur.

Seuls les événements utilisateur qui satisfont toutes les restrictions sont supprimés.

Pour supprimer tous les événements utilisateur de type add-to-cart qui ont été enregistrés le 1er février 2019 ou après cette date, vous devez fournir la chaîne de filtre suivante :

eventTime > "2019-02-01T00:00:00Z" eventType = add-to-cart