Consigue que tus emails encajen a la perfección mostrando a tus contactos exactamente lo que les interesa. Los datos de eventos te permiten insertar automáticamente detalles de las acciones recientes de un contacto directamente en tu mensaje. Ya sea que quieras resumir su uso reciente del producto, recordarles un carrito abandonado o confirmar los detalles de una consulta, tu equipo puede generar fácilmente el snippet dinámico adecuado.
Para empezar por lo básico, consulta los siguientes artículos:
Ve a «Studio» → «Contenido dinámico» → «Eventos» / «Eventos de producto».
Aquí elegirás el tipo de data que quieres usar:
Evento: Úsalos para extraer data de acciones generales enviadas a tu sistema, como rellenar un formulario o reservar una cita.
Evento de producto: Úsalos para generar listas de productos basadas en interacciones específicas con productos guardadas en el perfil del contacto, como artículos que compró recientemente o añadió a su carrito.

Este paso indica al sistema exactamente qué eventos buscar y cuánta data mostrar en el email. Selecciona tu evento específico de la lista y luego ajusta los siguientes parámetros:
Parámetros estándar (para todos los tipos de eventos):
Evento: Selecciona la acción específica a la que quieres hacer referencia (por ejemplo, add_to_cart, purchase o consultation).
For last X days: Especifica el rango de tiempo: cuántos días hacia atrás debe buscar el sistema este evento. Por ejemplo, si introduces «1», se extraerán solo los eventos de las últimas 24 horas.
Count: Define el número máximo de ocurrencias del evento a mostrar. Por ejemplo, si introduces «3», pero el contacto realizó la acción 7 veces, el email solo mostrará información sobre 3 eventos.
Order: Determina cómo se ordenan los eventos. Desactiva el interruptor (valor «-1» en la variable) para mostrar primero los eventos más nuevos y recientes (descendente). Actívalo (valor «1» en la variable) para mostrar primero los eventos más antiguos (ascendente).

Parámetros adicionales para eventos de producto:
Category: Te permite acotar la lista generada a productos de una categoría específica (por ejemplo, «Accesorios» o «Hombre»).
Unique: Garantiza que los productos de la lista no se dupliquen, incluso si el evento se realizó sobre el mismo producto varias veces: 1 = true, 0 = false. Si quieres mostrar el evento para el mismo producto solo una vez, usa el valor 1.
In stock: Un interruptor (por ejemplo, in_stock='false') que te permite decidir si mostrar los productos en función de su disponibilidad en stock.
Segments: Limita los resultados a productos dentro de un segmento específico (por ejemplo, segment='Bestsellers'). Este parámetro no aparece en el generador por defecto; puedes añadirlo tú mismo en lugar de Category.
Ejemplo:
{% product_events event_type='add to cart' count=3 segment='Bestsellers' unique=1 order=-1 availability='in stock' as event_occurrences %}
Cuando uses contenido dinámico basado en eventos, es importante entender que siempre consta de tres partes lógicas:
Apertura del bucle de eventos – esta parte define qué eventos se van a usar.
Visualización de los atributos del evento – aquí es donde decides qué data del evento se mostrará.
Cierre del bucle – esta parte finaliza la estructura del contenido dinámico.
1. Apertura del bucle: Esta es la primera línea generada por el sistema. Indica al sistema qué eventos debe obtener. No modifiques esta parte. Debes copiar esta parte tal cual y ajustar solo los parámetros si es necesario.
{% events 'event_name' for_last_days=1 count=3 order=-1 as event_occurrences %}2. Añade elementos que muestren los atributos del evento
A continuación, defines cómo debe presentarse cada evento en el email.
Esta es la parte que puedes personalizar libremente para adaptarla a tu diseño y a tus necesidades de negocio.
{% for event in event_occurrences %}
{{ event.title }}
${{ event.price }}
{{ event.color }}
{{ event.quantity }}Todo lo que se escribe entre dobles llaves {{ }} hace referencia a un atributo específico del evento.
Para mostrar un atributo, usa siempre esta estructura:
{{ event.NOMBRE_DEL_ATRIBUTO }}
El nombre del atributo debe coincidir exactamente con el atributo enviado con el evento.
Puedes combinar valores dinámicos con texto normal, elementos HTML, imágenes o botones.
Esto te permite controlar por completo cómo aparecen los datos del evento en el email.
3. Cierra el bucle
Al final, debes cerrar el bucle:
{% endfor %}Esta línea indica al sistema que todas las ocurrencias del evento se han renderizado y que no debe mostrarse más data.
Sin esta línea de cierre, el contenido dinámico no se renderizará correctamente.
Las partes de apertura y cierre del contenido dinámico no deben modificarse. Solo hay que ajustar la sección que hay dentro del bucle para hacer referencia a los atributos que quieres mostrar.
Ejemplo:

Puedes ajustar fácilmente el aspecto del texto extraído directamente desde el editor de email sin tocar la base de datos. Solo tienes que añadir estos modificadores después del nombre del atributo:
Poner en mayúscula la primera letra: Añade |capfirst para poner la primera letra en mayúscula (por ejemplo, {{receiver.last_name|capfirst}}).
Proporcionar una palabra alternativa: Usa |default:"Tu palabra" para mostrar una frase de reserva si el campo del contacto está vacío (por ejemplo, {{receiver.first_name|default:"Amigo"}} garantiza que el email diga «Hola Amigo» en lugar de un espacio en blanco).
Acortar textos largos: Usa |truncatewords:2 para cortar el texto después de un número específico de palabras, o |truncatechars:10 para limitar el número exacto de caracteres (por ejemplo, {{event.description|truncatewords:2}}.
Formatear los precios correctamente: Añade |floatformat:2 para mostrar siempre los precios con dos decimales (por ejemplo, {{event.price|floatformat:2}} podría cambiar 89,9 a 89,90).
Puedes encontrar la lista de todas las opciones de modificación en la sección Contenido dinámico útil, detrás del generador de contenido dinámico, o en este artículo.

En Positive User, puedes renderizar diferentes datos en función de los atributos de un contacto o de los detalles específicos de un evento. Puedes lograrlo utilizando condiciones If/Else.
Por ejemplo, para mostrar un descuento especial del 20 % solo si un contacto ha realizado más de tres compras, y un descuento del 5 % al resto, tu equipo escribiría:
{% if receiver.number_of_purchases > 3%}
¡Aquí tienes tu código de descuento del 20 %!
{% else %}
¡Aquí tienes tu código de descuento del 5 %!
{% endif %}
Toda instrucción «If» debe cerrarse con una etiqueta
{% endif %}.
Puedes encontrar más información sobre las reglas condicionales en este artículo [LINK]
Carritos abandonados: Un contacto deja artículos en su carrito sin finalizar la compra, y puedes recordarle exactamente lo que ha dejado atrás. Usa etiquetas de evento de producto para mostrar automáticamente el nombre, el precio y la imagen de los artículos concretos que olvidó comprar. Puedes usar lógica condicional para mostrar el precio con descuento si los productos tienen un precio más bajo en ese momento.
Resumen de uso de la app: Puedes enviar un email automatizado semanal mostrando a un contacto cuánto valor está obteniendo de tu software. Para ello, utiliza etiquetas de eventos estándar para mostrar el número de tareas completadas o proyectos creados en los últimos 7 días.
Confirmaciones de reserva: Necesitas confirmar los detalles concretos de una reserva justo después de que un contacto se registre. Usa etiquetas de evento para extraer el tema específico de la consulta y la fecha exacta del evento de reserva directamente en el email de bienvenida.
Avisos de expiración de prueba: Si necesitas avisar a un contacto de que su prueba gratuita está a punto de terminar y animarle a añadir sus datos de facturación, utiliza etiquetas de eventos estándar para hacer referencia al evento «trial_started». Dentro del snippet, aplica el modificador de fecha a la fecha de inicio (por ejemplo, |timedelta_days:14) para calcular y mostrar automáticamente la fecha exacta en la que se le cortará el acceso.
Seguimiento de webinars: Para enviar un email de agradecimiento personalizado justo después de que un contacto asista a un webinar, dándole el enlace específico a la grabación que necesita, usa etiquetas de eventos estándar para extraer los atributos del evento «webinar_attended». Tu email insertará automáticamente el tema exacto de la presentación y la URL única de la grabación directamente en el texto.
Actualizaciones de puntos de fidelización: Si quieres gamificar la experiencia de compra actualizando a un contacto sobre sus puntos de recompensa justo después de una compra, aplica etiquetas de evento para extraer el evento «points_earned». Muestra la cantidad exacta de puntos que acaba de ganar en su última transacción, y utiliza el modificador de suma matemática (por ejemplo, |add: receiver.current_points) para calcular y mostrar su nuevo saldo total en tiempo real.