En esta documentación de Recomendaciones IA, se hace referencia a la consola de Recomendaciones. Le recomendamos que cambie a la consola de venta minorista y utilice la documentación de venta minorista, que documenta Recomendaciones IA, la consola de venta minorista y Retail Search.

Si usas la versión v1beta de Recomendaciones IA, migra a la versión minorista de la API.

Administrar los eventos de los usuarios

En esta página, se describe cómo ver y borrar eventos de usuario. Para obtener más información sobre cómo registrar eventos de usuario a medida que ocurren, consulta Registra eventos de usuario en tiempo real. Para importar datos de eventos de usuarios anteriores, consulta Importa eventos de usuarios históricos.

Visualiza información agregada de los eventos de usuarios

Puedes ver la cantidad de eventos de usuario registrados para tu proyecto en la pestaña Evento en la página Datos de IA de Recomendaciones. Las métricas aparecerán unas 24 horas después de que subas los eventos por primera vez a Recomendaciones IA.

Estadísticas de eventos del usuario de Recomendaciones IA

Vuelve a unirte a eventos de usuario

Puedes volver a unirte a los eventos del usuario mediante una solicitud POST al extremo userEvents:rejoin.

Con la operación de reunión, se unen los eventos especificados con la última versión del catálogo de productos.

Se considera que un evento de usuario no está unido si el producto con el que está asociado no está presente en el catálogo en el momento en que se transfirió. Los eventos no unidos carecen de información detallada del producto y no son tan útiles para entrenar modelos y entregar resultados.

Además de abordar los eventos no unidos, la operación para volver a unirse puede usarse para corregir eventos que se unieron con el catálogo de productos incorrecto.

Debes tener la función de IAM de administrador de IA de venta minorista para llamar a este método.

curl

Configura userEventRejoinScope según los tipos de eventos a los que deseas volver a unirte:

  • USER_EVENT_REJOIN_SCOPE_UNSPECIFIED: Predeterminado. Activa la opción de volver a unirse para eventos a los que te uniste y a los que no.
  • JOINED_EVENTS: Activa la opción de volver a unirse solo para eventos a los que te uniste.
  • UNJOINED_EVENTS: Activa la opción de volver a unirse solo para eventos a los que no te uniste.

En el siguiente ejemplo, se activa la opción de volver a unirse solo para eventos a los que no te uniste:

curl -X POST \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data "{
     'userEventRejoinScope': 'UNJOINED_EVENTS'
     }" \
    "https://retail.googleapis.com/v2/projects/PROJECT_ID/locations/global/catalogs/default_catalog/userEvents:rejoin"

Deberías recibir un objeto de respuesta similar al siguiente:

{
  "name": "projects/PROJECT_ID/locations/global/catalogs/default_catalog/operations/OPERATION_ID"
}

Puedes verificar el estado de la opción de volver a unirse. Reemplaza OPERATION_ID por el ID del ID de la operación que muestra el método para volver a unirse:

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"

Cuando se completa la operación, el estado de la operación se muestra como done:

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

Java

public static String rejoinUserEvents(UserEventRejoinScope scope)
    throws IOException, InterruptedException, ExecutionException {
  UserEventServiceClient userEventsClient = getUserEventServiceClient();

  RejoinUserEventsRequest request = RejoinUserEventsRequest.newBuilder()
      .setParent(DEFAULT_CATALOG_NAME)
      .setUserEventRejoinScope(scope)
      .build();

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

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

  return operationName;
}

Quita eventos de usuario

Por lo general, debes dejar los eventos del usuario en su lugar después de que se registraron. No se recomienda borrar definitivamente los eventos.

La eliminación definitiva de un evento puede tomar varios días en completarse. Si planeas restablecer los eventos de usuario por completo, considera crear un proyecto nuevo en su lugar.

Si tienes eventos de usuario que no se registraron de forma correcta y necesitas quitarlos, puedes hacerlo con el método userEvents.purge.

Especifica los eventos que deseas quitar mediante una string de filtrado. Esto admite la eliminación selectiva de eventos de usuario mediante el filtrado en los campos eventTime, eventType, visitorID y userID.

Debido a que no puedes deshacer la eliminación, prueba la string de filtrado mediante una prueba de validación antes de borrar los eventos de usuario. El campo force está configurado como false de forma predeterminada. Esta configuración mostrará la cantidad de eventos que se borrarán sin borrarlos. Cuando estés listo para borrar los eventos de usuario, establece el campo force como true.

curl

En este ejemplo, se filtra por un intervalo de tiempo, que debe usar el formato de fecha de la hora de Zulú. El campo force está configurado como 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"

Deberías recibir un objeto de respuesta similar al siguiente, en el que purge-user-events-54321 es el ID de la operación:

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

En este ejemplo, se solicita el estado de la operación:

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]"

Ejemplo de estado de la operación:

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

Establecer el campo force como true fuerza la eliminación.

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"

Usa el filtro de eventos de usuario

Puedes filtrar los eventos de usuario que se borrarán.

El filtro es una string que contiene una o más de las siguientes restricciones:

  • eventTime

    Proporciona una marca de tiempo para vincular los eventos que se borrarán. Este filtro se puede especificar una o dos veces, con un símbolo "mayor que" (>) o "menor que" (<). El tiempo delimitado debe ser un bloque único contiguo.

  • eventType

    Restringe los eventos que se borrarán a un solo tipo de evento.

  • visitorID

    Restringe los eventos que se borrarán a un solo ID de visitante.

  • userID

    Restringe los eventos que se borrarán a un solo ID de usuario.

Solo se borran los eventos del usuario que cumplan con todas las restricciones.

Para borrar todos los eventos de usuario de tipo add-to-cart que se registraron a partir del 1 de febrero de 2019, debes proporcionar la siguiente string de filtrado:

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