# Cómo configurar recomendaciones de productos en el correo electrónico

Configurar la **Fuente** del bloque de Productos como **Recomendaciones** puede clasificar los productos por **Más vendidos**, **De nuevo en stock**, **Bajada de precio**, **Novedades**, **Comprados juntos** o **Basado en lo que vieron**, sin que usted elija los productos o escriba una regla de catálogo. Consulte [Obtener productos recomendados](/es/product/content/email-content/drag-and-drop-email-editor/blocks/#get-recommended-products) para cada campo que esta fuente añade. Tres de esas estrategias necesitan datos externos a su catálogo para funcionar: **Más vendidos** lee su historial de pedidos, y **Comprados juntos** y **Basado en lo que vieron** leen lo que los compradores han visto y comprado. Esta guía cubre qué enviar para que cada estrategia tenga algo que clasificar.

<Aside type="tip">
¿Ya está enviando `PW_AbandonedCart` y `PW_OrderCreated` para la [recuperación de carritos abandonados](/es/tutorials/product-guides/email-marketing-campaigns/how-to-set-up-an-abandoned-cart-campaign/)? Siga leyendo. **Más vendidos** necesita un campo más en `PW_OrderCreated` que la guía de carritos abandonados no cubre.
</Aside>

## Antes de empezar

Asegúrese de que el catálogo de su cuenta tenga productos. Vaya a **Contenido → Catálogo de productos** y conecte un feed, importe un CSV o añada productos manualmente. [Aprenda a poblar su catálogo](/es/product/content/product-catalog/#ways-to-populate-your-catalog).

<Aside type="caution" icon="setting" title="Se necesita asistencia de un desarrollador">
Enviar los siguientes eventos requiere la ayuda de su equipo de desarrollo, a menos que la integración de su tienda ya los envíe por usted. Por favor, comparta esta guía con ellos.
</Aside>

<Aside type="note" title="Las cuentas nuevas ven primero el catálogo regular">
Cada estrategia a continuación necesita que se acumule un historial antes de poder clasificar algo. Hasta entonces, el bloque muestra el catálogo regular en su lugar. Consulte la nota en [Obtener productos recomendados](/es/product/content/email-content/drag-and-drop-email-editor/blocks/#get-recommended-products).
</Aside>

## Qué estrategias necesitan eventos

Tres de las seis estrategias clasifican los productos a partir de los eventos que usted envía; las otras tres se clasifican directamente desde su catálogo y no necesitan nada de usted.

| Estrategia | ¿Necesita eventos? | Fuente de datos |
| :---- | :---- | :---- |
| **De nuevo en stock** | No | Cambios de stock en el catálogo |
| **Bajada de precio** | No | Cambios de precio en el catálogo |
| **Novedades** | No | Fecha de 'añadido' en el catálogo |
| **Más vendidos** (7/30 días) | Sí | `PW_OrderCreated` / `PW_OrderUpdated` con `items` |
| **Basado en lo que vieron** | Sí | Cualquier evento que lleve un ID de producto |
| **Comprados juntos** | Sí | Cualquier evento que lleve un ID de producto, más una etiqueta de dispositivo |

Un cambio de stock o de precio en su feed, o la próxima sincronización programada, actualiza **De nuevo en stock**, **Bajada de precio** y **Novedades** automáticamente. No hay nada que enviar para esas tres.

## Más vendidos: añada artículos a sus eventos de pedido

**Más vendidos (7 días)** y **Más vendidos (30 días)** clasifican los productos por cuántas unidades se vendieron en ese período. Leen el array `items` en `PW_OrderCreated` y `PW_OrderUpdated`, específicamente el `productId` y la `quantity` de cada artículo.

Si ya envía `PW_OrderCreated` para [limpiar las etiquetas de carrito abandonado](/es/tutorials/product-guides/email-marketing-campaigns/how-to-set-up-an-abandoned-cart-campaign/#what-happens-when-you-send-pw_ordercreated), esa llamada mínima (solo `orderId`) sigue limpiando el carrito, pero no le da a Más vendidos nada que contar. Añada los artículos de línea del pedido a la misma llamada:

```json
{
  "request": {
    "hwid": "8f65b16df378e7a6bece9614e1530fb2",
    "application": "XXXXX-XXXXX",
    "event": "PW_OrderCreated",
    "attributes": {
      "orderId": "ORDER-10293",
      "items": [
        {
          "productId": "SKU-4821",
          "quantity": 1
        },
        {
          "productId": "SKU-5190",
          "quantity": 2
        }
      ]
    },
    "userId": "shopper@example.com"
  }
}
```

`productId` debe coincidir con el ID que su [Catálogo de productos](/es/product/content/product-catalog/) utiliza para ese artículo, para que Más vendidos pueda buscar el producto a mostrar. Los campos de artículo adicionales (precio, nombre, etc.) se ignoran para esta estrategia. Solo `productId` y `quantity` cuentan para la clasificación. Envíe el mismo array `items` en `PW_OrderUpdated` para ediciones de pedidos, reembolsos o cancelaciones parciales, ya que Más vendidos vuelve a contar a partir de lo que diga el último evento para ese pedido.

<Aside type="tip">
Si utiliza la [integración de Shopify](/es/product/integrations/shopify-integration/), `PW_OrderCreated` ya lleva `items` con `productId` y `quantity` para cada pedido — no hay nada que añadir por su parte. Sin embargo, la integración no envía `PW_OrderUpdated`, por lo que Más vendidos cuenta los pedidos como se realizaron originalmente y no descuenta las unidades de ediciones, reembolsos o cancelaciones posteriores.
</Aside>

<Aside type="caution" title="Envíe la cantidad como un número">
Utilice un número JSON real para `quantity`, no una cadena entrecomillada. Pushwoosh almacena cada valor de atributo solo en el tipo con el que se declaró o infirió por primera vez; un valor que no coincida se descarta silenciosamente, y `postEvent` seguirá devolviendo éxito. Consulte [Utilice los tipos de atributo correctos](/es/tutorials/product-guides/email-marketing-campaigns/how-to-set-up-an-abandoned-cart-campaign/#create-the-events-in-your-control-panel) para la misma advertencia sobre `PW_AbandonedCart`.
</Aside>

<Aside type="note">
**Más vendidos** se clasifica específicamente por el historial de pedidos. Las vistas y la actividad del carrito no cuentan. Para una clasificación que también incluya la navegación y la actividad del carrito, utilice en su lugar **Basado en lo que vieron** o **Comprados juntos**.
</Aside>

## Basado en lo que vieron y Comprados juntos: seguimiento de la actividad del producto

Ambas estrategias se basan en la misma señal: eventos que llevan un ID de producto. No necesita un nombre de evento dedicado a la "vista de producto" — cualquier [evento personalizado](/es/product/audience-data-and-segmentation/events/custom-events/) enviado a través de [postEvent](/es/developer/api-reference/user-centric-api/#postevent) cuenta, siempre que sus `attributes` incluyan una de estas claves:

*   Un solo producto, como atributo de nivel superior: `product_id`, `productId`, `productid`, `item_id` o `sku`.
*   Múltiples productos, como un array `products` donde cada artículo tiene `product_id`, `productId`, `id` o `sku`.

Por ejemplo, active su evento de vista de producto existente con un atributo de ID de producto ya en él:

```json
{
  "request": {
    "hwid": "8f65b16df378e7a6bece9614e1530fb2",
    "application": "XXXXX-XXXXX",
    "event": "ProductViewed",
    "attributes": {
      "product_id": "SKU-4821",
      "category": "Audio"
    },
    "userId": "shopper@example.com"
  }
}
```

**Basado en lo que vieron** clasifica los productos con los que cada comprador ha interactuado recientemente — no se necesita ninguna configuración adicional una vez que los eventos anteriores estén fluyendo.

<Aside type="tip">
Si utiliza la [integración de Shopify](/es/product/integrations/shopify-integration/), el embed del tema de la tienda ya envía `PW_ProductViewed` con un `productId` en cada vista de página de producto — no hay nada que añadir por su parte, siempre que el interruptor **Push Init Embed** esté activado (está desactivado por defecto). Consulte [Eventos de navegación de la tienda](/es/product/integrations/shopify-integration/#storefront-browsing-events).
</Aside>

**Comprados juntos** clasifica los productos que se compran con frecuencia junto a un producto ancla, a lo largo de todo el historial de su cuenta. Necesita una cosa más: una **etiqueta de Producto**, una [etiqueta de dispositivo](/es/developer/api-reference/tags/) que contenga el ID del producto ancla actual. Establezca el nombre del campo cuando configure la estrategia en el [bloque de Productos](/es/product/content/email-content/drag-and-drop-email-editor/blocks/#get-recommended-products) (por ejemplo, `PW_LastViewedProductID`), y luego mantenga esa etiqueta actualizada en cada dispositivo. Por ejemplo, [establézcala](/es/developer/api-reference/tags/) con el ID del producto cada vez que el comprador vea un producto. Si la etiqueta no está establecida en un destinatario, el bloque recurrirá al catálogo regular para él.

<Aside type="caution" title="Reglas para el nombre de la etiqueta">
El nombre de la etiqueta solo acepta letras, dígitos, guiones bajos y espacios, ya que tiene que ser direccionable en Liquid. Consulte [Comprados juntos necesita una etiqueta de Producto](/es/product/content/email-content/drag-and-drop-email-editor/blocks/#get-recommended-products).
</Aside>

## Confirme que sus eventos están llegando

Antes de añadir el bloque, compruebe que Pushwoosh está recibiendo realmente los eventos anteriores: vaya a **Audiencia → Eventos**, abra el evento que envió (`PW_OrderCreated` o el evento personalizado que lleva un ID de producto) y confirme que aparecen visitas recientes. Consulte [Estadísticas de eventos](/es/product/audience-data-and-segmentation/events/).

<Aside type="note">
Un bloque de Productos vacío puede significar "los eventos nunca llegaron" o "aún no se ha acumulado suficiente historial" (consulte la nota anterior). Las estadísticas de eventos descartan la primera causa antes de que investigue la segunda.
</Aside>

## Añada el bloque a su correo electrónico

Añada un bloque de [Productos](/es/product/content/email-content/drag-and-drop-email-editor/blocks/#products) a su [contenido de correo electrónico](/es/product/content/email-content/drag-and-drop-email-editor/create-email-content-with-drag-and-drop-editor/), establezca la **Fuente** en **Recomendaciones** y elija una **Estrategia**. Consulte [Obtener productos recomendados](/es/product/content/email-content/drag-and-drop-email-editor/blocks/#get-recommended-products) para cada campo en el panel de configuración. Haga clic en **Actualizar vista previa** para comprobar que el lienzo se llena con productos reales antes de enviar.