Esta es la documentación de Recomendaciones IA, Retail Search y la nueva consola de venta minorista. Para usar Retail Search en la fase restringida de Google Analytics, comuníquese con el equipo de Ventas de Cloud.

Si solo usas Recomendaciones IA, permanece en la consola de Recomendaciones y consulta la documentación de Recomendaciones IA.

Obtener recomendaciones

En esta página, se describe cómo solicitar recomendaciones 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.

Antes de comenzar

Antes de que puedas acceder a la API de venta minorista, debes crear un proyecto de Google Cloud y configurar la autenticación con los pasos que se indican en Antes de comenzar.

Además, antes de que puedas enviar solicitudes de predicción a Recomendaciones IA, debes tener un modelo de recomendación entrenado y ajustado, y una o más configuraciones de entrega activas.

Vista previa de la recomendación

Antes de actualizar el código de tu sitio web para solicitar recomendaciones, puedes usar una vista previa de predicción a fin de confirmar que tu configuración funcione como esperas.

Asegúrate de primero haber creado una configuración de entrega para Recomendaciones IA.

Para obtener una vista previa de las recomendaciones que muestra la configuración de entrega, sigue estos pasos:

  1. Ve a la página Evaluación de venta minorista en Google Cloud Console.

    Ir a la página Evaluación

  2. Selecciona la configuración de entrega de la que deseas obtener una vista previa.

  3. Ingresa un ID de visitante para obtener una vista previa de las recomendaciones de ese usuario.

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

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. Obtenga 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. Obtenga 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 registrar el evento de usuario de la misma manera en la que registras otros eventos del usuario en la API de venta minorista.

  • De forma opcional, proporciona un filtro para limitar los productos potenciales que se muestran. 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/placements/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 precios se puede establecer a nivel de la configuración de entrega o por solicitud de predicción.

Cuando eliges una configuración de reclasificación de precios al crear una configuración de entrega en Cloud Console, 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 precios de una recomendación en particular, puedes hacerlo a través de la API de venta minorista 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 establecer a nivel de configuración de entrega o por solicitud de predicción.

Cuando eliges una configuración de diversificación al crear una configuración de entrega en Cloud Console, esa configuración se aplica de forma predeterminada a todas las recomendaciones que entrega esa configuración, sin que debas realizar ninguna acción.

Si necesitas controlar la diversidad de una recomendación en particular, puedes hacerlo a través de la API de venta minorista mediante 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 recomendación

Puedes filtrar las recomendaciones que muestra Recomendaciones IA mediante el campo filter del método predict.

El campo filter acepta dos formas de especificación de filtro:

  • Expresiones de etiqueta

    Si agregaste valores tag a tus productos cuando los subiste, puedes especificar que solo los productos que coincidan con todas las etiquetas que filtras se muestren como recomendaciones. Obtenga más información.

    Las expresiones de etiqueta pueden contener los operadores booleanos OR o NOT, que deben estar separados de los valores de la etiqueta por uno o más espacios. También se puede anteponer un guion (-) a los valores de la etiqueta, lo que equivale al operador NOT. Las expresiones de etiqueta que usan los operadores booleanos deben estar entre paréntesis.

  • filterOutOfStockItems

    La marca filterOutOfStockItems filtra cualquier producto con un stockState de OUT_OF_STOCK.

Puedes combinar estos dos tipos de filtros. Solo se muestran los elementos que satisfacen todas las expresiones de filtro especificadas.

Estas son algunas strings de filtro de ejemplo:

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

En el siguiente ejemplo, solo se muestran artículos que están en stock y que tienen la etiqueta "spring-sale" o "exclusivo" (o ambas) y tampoco tienen la etiqueta "items-to-exclude".

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