Si trabajás con Braze y tenés un eCommerce, hay una funcionalidad de Catálogos que vale muchísimo la pena conocer y que puede cambiar bastante cómo recuperamos oportunidades de ventas.
Los Catálogos de Braze permiten personalizar mensajes con datos de productos, pero esconden algo más: la posibilidad de automatizar notificaciones de restock y bajada de precio sin casi esfuerzo de mantenimiento. El usuario expresa interés, Braze lo registra, y cuando el producto cambia, la notificación sale sola.
¿De qué se trata exactamente?
Braze tiene algo llamado Catalog Triggers, dos tipos específicamente:
- Back in stock: notifica automáticamente a quienes querían un producto que estaba sin stock, cuando vuelve a haber disponibilidad.
- Price drop: avisa a los interesados cuando el precio de un producto baja según una regla que nosotros definamos (por ejemplo, una caída del 10% o más).
Ambas funcionan con la misma lógica: el usuario realiza una acción en nuestro sitio o app → queda suscripto a ese producto → cuando el catálogo cambia, Braze dispara el Canvas automáticamente.
El ciclo de vida del usuario
Para entender en qué momento ocurre cada cosa, vale la pena ver el flujo completo:

En palabras:
- El usuario visita un producto sin stock o fuera de su rango de precio, y hace clic en «Avisame cuando vuelva» o «Avisame si baja el precio».
- Ese clic dispara un
custom eventcon propiedades que incluyen el ID del ítem y el tipo de suscripción. - Braze registra esa suscripción, vinculando al usuario con ese ítem del catálogo. La suscripción dura 90 días.
- Cuando el catálogo se actualiza, el stock pasa de 0 a disponible, o el precio baja según tu regla. Braze lo detecta automáticamente.
- Se activa el Canvas y el usuario recibe la notificación.
¿Cómo se implementa?
El setup tiene dos partes: el catálogo y el Canvas.
Del lado del catálogo
La configuración global se hace desde Data Settings > Catalogs. Ahí vas a encontrar los settings que aplican a todos tus catálogos, donde configurás:
- Fallback catalog: el catálogo que Braze usa para la suscripción cuando el custom event no trae la propiedad
catalog_name. Es opcional pero recomendado para evitar suscripciones que queden sin asociar. - Evento de suscripción: el custom event que activa la suscripción del usuario (por ejemplo,
product_clicked). - Evento de desuscripción: el custom event que da de baja al usuario de la alerta. Este campo es opcional — si no lo configurás, Braze desuscribe al usuario automáticamente a los 90 días o cuando se dispara la notificación, lo que ocurra primero.
- Event property del ID del producto: la propiedad del custom event que contiene el ID del ítem del catálogo.
Un ejemplo de cómo se ve ese evento de suscripción. Notá que la propiedad type es un array, lo que te permite suscribir al usuario a ambos tipos de alerta en el mismo evento:
{
"events": [
{
"external_id": "<external_id>",
"name": "subscription",
"time": "2024-04-15T19:22:28Z",
"properties": {
"id": "shirt-xl",
"catalog_name": "on_sale_products",
"type": ["price_drop", "back_in_stock"]
}
}
]
}
Una vez hecha la configuración global, vas al catálogo específico y en la pestaña Settings activás el toggle de Back in Stock o Price Drop según corresponda. Ahí Braze te va a pedir:
- Qué campo del catálogo representa el stock o el precio, tiene que ser numérico.
- Las reglas de notificación: si avisás a todos los suscriptos a la vez o en lotes, con un límite de 10.000 usuarios por minuto.
Del lado del Canvas
Creás un Canvas action-based, seleccionás el trigger correspondiente y el catálogo, y configurás los pasos como cualquier Canvas.
Para personalizar el mensaje con los datos del producto que disparó la notificación, usás Liquid con el tag context:
{% catalog_items productos {{context.${catalog_update}.item_id}} %}
El precio de {{ items[0].nombre }} bajó de ${{ context.${catalog_update}.previous_value }} a ${{ context.${catalog_update}.new_value }} 🔥
Con valores reales, el mensaje renderizado se vería así:
El precio de Pro Bluetooth Headphones bajó de $74.99 a $59.99 🔥
Desglosando el Liquid:
context.${catalog_update}.item_id— el ID del producto que cambió y disparó la notificación.context.${catalog_update}.previous_value— el valor anterior (precio o stock) antes del cambio.context.${catalog_update}.new_value— el valor nuevo después del cambio.{% catalog_items productos ... %}— trae todos los datos del producto desde el catálogo usando ese ID. Tiene que ir al inicio del mensaje.items[0].<field_name>— accedé a cualquier campo del catálogo a lo largo del mensaje, por ejemploitems[0].nameoitems[0].category.
Un detalle a tener en cuenta: context es la forma actual de referenciar las canvas_entry_properties — son equivalentes y backwards compatible.
Por último, si tu catálogo tiene un campo llamado image_url, podés incluir la imagen del producto en el mensaje con:
{% catalog_items <name_of_your_catalog> {{context.${catalog_update}.item_id}} %}
{{ items[0].image_url }}
Algunas consideraciones antes de activarlo
- Para que un usuario pueda suscribirse al alerta de back in stock, el producto tiene que tener stock en cero al momento de la suscripción. Si el stock es mayor a cero, Braze no registra la suscripción.
- Las reglas de notificación del catálogo no reemplazan configuraciones del Canvas como Quiet Hours — se aplican las dos.
- Braze soporta hasta 50.000 ítems actualizados por día que pueden disparar notificaciones.
- Las suscripciones tienen un límite de 100 millones activas simultáneamente.
Una funcionalidad que ya está lista para trabajar por vos
Si ya usás catálogos en Braze, el esfuerzo incremental es bajo. El trabajo principal está en asegurarse de que el custom event se esté disparando desde el frontend con las propiedades correctas. A partir de ahí, el mecanismo de suscripción y notificación lo gestiona Braze de forma automática.
Para negocios con inventario variable o precios dinámicos, es una de las formas más directas de recuperar intención de compra que, de otra manera, simplemente se pierde. La intención estuvo siempre ahí — Braze solo se encarga de que no se evapore.


