Obtener recomendaciones

En esta página, se describe cómo solicitar recomendaciones de productos para un usuario y un evento de usuario específicos.

Después de subir los productos y los eventos de usuarios registrados, puedes solicitar recomendaciones de productos para usuarios específicos en función de los eventos de usuario registrados para ese usuario y su actividad actual. Los productos nuevos y los eventos de usuario pueden tardar hasta 48 horas en reflejarse en el modelo de recomendación.

Vertex AI Search para venta minorista muestra una lista de identificadores de productos clasificados. Eres responsable de renderizar los resultados en tu sitio web con imágenes y texto.

Nunca almacenes en caché los resultados personalizados de un usuario final y nunca muestren resultados personalizados a un usuario final diferente.

Antes de comenzar

Debes crear un proyecto de Google Cloud y configurar la autenticación según los pasos que se indican en Antes de comenzar.

Además, antes de que puedas solicitar predicciones a partir de recomendaciones, necesitas un modelo de recomendación entrenado y ajustado, y uno o más parámetros de configuración de entrega activos.

Evalúa las recomendaciones

Antes de actualizar el código de tu sitio web para solicitar recomendaciones, puedes usar los resultados de la predicción de vista previa para confirmar que el modelo y la configuración de entrega funcionen como esperas.

Para obtener más información sobre los parámetros de configuración de entrega, consulta Acerca de los parámetros de configuración de entrega.

Puedes obtener una vista previa de los resultados de la configuración de entrega en la página Evaluar o en la página Detalles de la configuración de entrega en la consola y haciendo clic en la pestaña Evaluar. En los siguientes pasos, se muestra cómo obtener una vista previa en la página Evaluar.

Para obtener una vista previa de las recomendaciones que muestra tu configuración de entrega, haz lo siguiente:

  1. Ve a la página Evaluar en la consola de Search for Retail.

    Ir a la página Evaluar

  2. Haz clic en la pestaña Recomendaciones si aún no está seleccionada.

  3. Selecciona la configuración de entrega de la que quieres obtener una vista previa.

  4. Opcional: Ingresa un ID de visitante para obtener una vista previa de las recomendaciones para ese usuario.

  5. Si se muestra la sección Elementos asociados, haz clic en Agregar artículo y, luego, ingresa el ID del producto para obtener recomendaciones asociadas a ese artículo. Puedes agregar varios elementos asociados.

    La opción de agregar elementos solo está disponible si el tipo de modelo de la configuración de entrega seleccionado requiere productos como entrada para las recomendaciones. Los modelos de "Recomendado para ti" no requieren el ingreso de elementos asociados.

  6. Haz clic en Vista previa de la predicción para ver los resultados de la predicción.

Para ver la página Detalles de la configuración de entrega de la que estás obteniendo una vista previa, haz clic en Ver configuración de entrega en el campo Seleccionar configuración de entrega.

Obtén una recomendación

Para obtener detalles sobre los costos de la predicción, consulta Precios.

curl

Para obtener una recomendación, realiza una solicitud POST al método predict de REST y proporciona el cuerpo de solicitud adecuado:

  • La cuenta de servicio que uses debe tener la función “Visualizador de venta minorista” o una versión superior.

  • Reemplaza SERVING_CONFIG_ID por la configuración de entrega en la que usarás las predicciones. Obtén más información.

  • Si importaste eventos de usuario de Google Analytics 360 con BigQuery, configura visitorId como el ID de cliente de Google Analytics. Consulta la documentación de Google Analytics para saber cómo obtener el ID de cliente.

  • Si ejecutas un experimento A/B, configura experimentIds como el ID de este grupo de experimentos. Obtén más información.

  • Proporciona un objeto de evento del usuario correspondiente a la acción que inició la solicitud de recomendación.

    Ten en cuenta que no se registra este evento del usuario; solo se utiliza para proporcionar contexto sobre esta solicitud de recomendación. También debes grabar el evento del usuario de la misma manera que registras otros eventos del usuario.

  • De forma opcional, proporciona un filtro para limitar los productos potenciales que se muestran. Obtener más información.

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

Deberías ver resultados similares a los siguientes:

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

Debes asociar el valor attribution_token con cualquier URL que entregues como resultado de esta predicción y mostrarla con los eventos de usuario para esas URL. Obtén más información.

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;
}

Reclasificación de precio

La reclasificación de precio hace que los productos sugeridos con una probabilidad de recomendarse similar se ordenen según el precio, con los elementos de precio más alto primero. La relevancia también se usa para ordenar elementos, por lo que habilitar la reclasificación de precio no es lo mismo que ordenarlos por precio.

La reclasificación de precio se puede configurar en el nivel de configuración de entrega o por solicitud de predicción.

Cuando eliges una configuración de reclasificación de precio cuando creas una configuración de entrega en la consola de Search for Retail, esa configuración se aplica a todas las recomendaciones que entrega esa configuración, sin que tengas que realizar ninguna acción.

Si necesitas controlar la reclasificación de precio de una recomendación en particular, puedes hacerlo con el campo PredictRequest.params. Esto anula cualquier configuración de reclasificación a nivel de configuración que, de lo contrario, se aplicaría a esta recomendación.

Diversidad de recomendaciones

La diversificación afecta si los resultados que se muestran de una sola solicitud de predicción son de diferentes categorías de tu catálogo de productos.

La diversificación se puede configurar en el nivel de configuración de entrega o por solicitud de predicción.

Cuando eliges un parámetro de configuración de diversificación cuando creas una configuración de entrega en la consola de Search for Retail, ese parámetro se aplica de forma predeterminada a todas las recomendaciones que entrega esa configuración, sin que tengas que realizar ninguna acción.

Si necesitas controlar la diversidad de una recomendación en particular, puedes hacerlo con el campo PredictRequest.params. Esto anula cualquier configuración de diversificación a nivel de configuración que, de lo contrario, se aplicaría a esta recomendación. Consulta los valores aceptados.

Usa filtros de recomendaciones

Puedes filtrar las recomendaciones que se muestran con el campo filter en el método predict. Para obtener más información, consulta Filtra recomendaciones.

Llamadas de predicción con modelos de optimización a nivel de la página

Proporcionar recomendaciones con la optimización a nivel de la página requiere un paso de llamada de predicción adicional.

Realiza una llamada de predicción inicial con una configuración de entrega que contenga el modelo de optimización a nivel de la página. La respuesta de la predicción muestra una lista ordenada de los IDs de configuración de entrega que representan el modelo que se usará para cada panel.

Luego, realiza una llamada de predicción para cada panel con el ID de configuración de entrega que recomendó el modelo de optimización a nivel de la página. La respuesta de la predicción contiene el nombre del modelo (como Recomendaciones para ti) y la lista de elementos recomendados para mostrar en ese panel.

La reclasificación de precios, la diversidad de recomendaciones y los filtros de recomendaciones no están disponibles para los parámetros de configuración de entrega que usan el modelo de optimización a nivel de la página.

Supervisa las recomendaciones y soluciona problemas relacionados

Después de configurar tu sitio web para obtener recomendaciones, te recomendamos que configures alertas. Consulta Configura una alerta para errores de predicción.

Para solucionar errores, consulta Cómo supervisar y solucionar problemas.