> ## Documentation Index
> Fetch the complete documentation index at: https://revolai.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Triggers

> Cree popups automatizados, overlays y barras de notificación basados en reglas de comportamiento del visitante

## Descripción General

La pestaña Triggers le permite crear acciones automatizadas que se activan según el comportamiento del visitante. Cuando un visitante cumple condiciones específicas — tiempo en la página, profundidad de scroll, fuente UTM, tipo de dispositivo y más — el trigger muestra un popup modal, una notificación toast o redirige a una URL. Los triggers son una forma poderosa de interactuar con los visitantes en el momento adecuado sin necesidad de programación.

<Frame>
  <img className="block dark:hidden" src="https://mintcdn.com/revolai/f9LQJGx083qnby8Z/images/tracker-triggers-light.png?fit=max&auto=format&n=f9LQJGx083qnby8Z&q=85&s=fec85aca2ff7a7e885b2135a613e6bf2" alt="Pestaña de triggers" width="2873" height="1553" data-path="images/tracker-triggers-light.png" />

  <img className="hidden dark:block" src="https://mintcdn.com/revolai/f9LQJGx083qnby8Z/images/tracker-triggers-dark.png?fit=max&auto=format&n=f9LQJGx083qnby8Z&q=85&s=f0477710da21258fa6da56cd2c8e6e61" alt="Pestaña de triggers" width="2860" height="1550" data-path="images/tracker-triggers-dark.png" />
</Frame>

## Lista de Triggers

La tabla de triggers muestra todos los triggers definidos con métricas clave:

| Columna          | Descripción                                                                                                      |
| ---------------- | ---------------------------------------------------------------------------------------------------------------- |
| **Nombre**       | Nombre del trigger                                                                                               |
| **Tipo**         | Tipo de acción — Modal (popup centrado), Toast (notificación en esquina) o Redireccionamiento (navegación a URL) |
| **Condiciones**  | Resumen de condiciones de activación                                                                             |
| **Activaciones** | Número total de activaciones                                                                                     |
| **Estado**       | Activo o inactivo                                                                                                |
| **Acciones**     | Editar o eliminar el trigger                                                                                     |

***

## Crear un Trigger

Haga clic en **Crear Trigger** para abrir el editor de triggers. El editor tiene dos pestañas: **Contenido** para el contenido visual y **Configuración** para las reglas de comportamiento.

<Frame>
  <img className="block dark:hidden" src="https://mintcdn.com/revolai/f9LQJGx083qnby8Z/images/create-trigger-light.png?fit=max&auto=format&n=f9LQJGx083qnby8Z&q=85&s=6ba8d47a8d3e0fe412e40aedce804b8f" alt="Editor de creación de trigger" width="2869" height="1549" data-path="images/create-trigger-light.png" />

  <img className="hidden dark:block" src="https://mintcdn.com/revolai/f9LQJGx083qnby8Z/images/create-trigger-dark.png?fit=max&auto=format&n=f9LQJGx083qnby8Z&q=85&s=6e16455d986a9e73e653df928889e3c9" alt="Editor de creación de trigger" width="2867" height="1556" data-path="images/create-trigger-dark.png" />
</Frame>

***

## Pestaña de Contenido

La pestaña de Contenido es un editor visual de bloques donde construye el contenido del trigger. Cada trigger se compone de **bloques de contenido** que usted agrega, organiza y estiliza.

### Agregar Bloques

Haga clic en el botón **+ Agregar Bloque** para abrir el selector de bloques. Tipos de bloques disponibles:

| Bloque                       | Descripción                                                                                                                                                                                                                               |
| ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Imagen**                   | Agregar una imagen — suba un archivo o pegue una URL. Ideal para fotos de productos, banners o iconos.                                                                                                                                    |
| **Encabezado**               | Texto grande para títulos y titulares. Soporta alineación de texto (izquierda o centro).                                                                                                                                                  |
| **Texto**                    | Texto del cuerpo con formato enriquecido. Use para descripciones, ofertas o instrucciones.                                                                                                                                                |
| **Lista de Características** | Una lista con viñetas con iconos de verificación — ideal para listar beneficios, características o elementos incluidos.                                                                                                                   |
| **Campo de Entrada**         | Un campo de texto de una línea para recopilar datos (nombre, email, teléfono).                                                                                                                                                            |
| **Área de Texto**            | Un área de texto de múltiples líneas para respuestas más largas (mensajes, comentarios).                                                                                                                                                  |
| **Botón**                    | Un botón clicable con texto, color y acción personalizables (enlace, cerrar o enviar datos de formulario).                                                                                                                                |
| **Código Promocional**       | Un bloque de código promocional estilizado con un botón de copiar. Los visitantes hacen clic para copiar el código al portapapeles.                                                                                                       |
| **Código QR**                | Incrusta un código QR de campaña directamente en el trigger. Los visitantes lo escanean en su teléfono para continuar en móvil — con atribución completa de campaña. Vea [Campañas — Código QR](/widget/campaigns#qr-code) para detalles. |
| **Divisor**                  | Una línea horizontal para separar visualmente las secciones.                                                                                                                                                                              |

### Configuración de Bloques

Cada tipo de bloque tiene sus propias propiedades editables. Haga clic en un bloque para seleccionarlo y configurar:

**Imagen:**

| Configuración         | Descripción                                             |
| --------------------- | ------------------------------------------------------- |
| **URL**               | URL de origen de la imagen                              |
| **Texto Alternativo** | Texto alternativo para accesibilidad                    |
| **Radio de Borde**    | Redondez de las esquinas en píxeles (predeterminado: 0) |

**Encabezado:**

| Configuración  | Descripción                         |
| -------------- | ----------------------------------- |
| **Texto**      | Contenido del encabezado            |
| **Alineación** | Izquierda (predeterminado) o Centro |

**Texto:**

| Configuración      | Descripción                                                                         |
| ------------------ | ----------------------------------------------------------------------------------- |
| **Contenido HTML** | Texto enriquecido con formato — soporta `<b>`, `<i>`, `<u>`, `<a>`, listas y `<br>` |

**Lista de Características:**

| Configuración | Descripción                                                                                                                                            |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Elementos** | Lista dinámica de características. Cada elemento tiene un icono (emoji), título y texto descriptivo. Haga clic en "Agregar Elemento" para agregar más. |

**Campo de Entrada:**

| Configuración | Descripción                                                     |
| ------------- | --------------------------------------------------------------- |
| **Clave**     | Nombre del campo del formulario (por ejemplo, `email`, `phone`) |
| **Tipo**      | Texto, Email, Teléfono o Número                                 |
| **Etiqueta**  | Etiqueta del campo mostrada sobre la entrada                    |
| **Marcador**  | Texto de sugerencia dentro del campo                            |
| **Requerido** | Si el campo debe completarse antes del envío                    |

**Área de Texto:**

| Configuración | Descripción                                                 |
| ------------- | ----------------------------------------------------------- |
| **Clave**     | Nombre del campo del formulario                             |
| **Filas**     | Número de filas de texto visibles (1–10, predeterminado: 3) |
| **Etiqueta**  | Etiqueta del campo                                          |
| **Marcador**  | Texto de sugerencia                                         |
| **Requerido** | Si el campo debe completarse                                |

**Botón:**

| Configuración | Descripción                                                                                                                                             |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Etiqueta**  | Texto del botón                                                                                                                                         |
| **Variante**  | Primario (color de acento sólido), Secundario (tinte claro) u Outline (transparente con borde)                                                          |
| **Acción**    | Cerrar (descartar trigger), Abrir Enlace (navegar a URL), Enviar Formulario (enviar datos del formulario) o Copiar Valor (copiar texto al portapapeles) |
| **Valor**     | URL para enlaces o texto para acción de copiar                                                                                                          |

**Código Promocional:**

| Configuración | Descripción                                               |
| ------------- | --------------------------------------------------------- |
| **Código**    | El texto del código promocional (por ejemplo, `SPRING20`) |
| **Etiqueta**  | Etiqueta opcional sobre el código                         |

**Código QR:**

| Configuración | Descripción                                                    |
| ------------- | -------------------------------------------------------------- |
| **Datos QR**  | URL o texto a codificar. Use el botón "Crear QR" para generar. |
| **Tamaño**    | Tamaño del código QR en píxeles (predeterminado: 160)          |

**Divisor:**
Sin configuración — renderiza un separador de línea horizontal.

### Estilo del Trigger

El contenedor del trigger tiene configuraciones de estilo globales que se aplican a todo el popup/toast:

| Configuración       | Descripción                                                                                                                                     |
| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| **Color de Fondo**  | Fondo del contenedor (predeterminado: `#ffffff`)                                                                                                |
| **Color de Texto**  | Color de texto predeterminado para todos los bloques (predeterminado: `#1a1a1a`)                                                                |
| **Color de Acento** | Color para botones, iconos de características y botón de copiar código promocional (predeterminado: `#4680ff`)                                  |
| **Radio de Borde**  | Redondez de las esquinas de todo el trigger en píxeles (predeterminado: 16)                                                                     |
| **Posición**        | Para triggers tipo toast: superior-derecha, superior-izquierda, inferior-derecha o inferior-izquierda. Para modales: centrado con fondo oscuro. |

### Ejemplos de Contenido

<AccordionGroup>
  <Accordion title="Popup de descuento de bienvenida">
    * **Encabezado**: "Obtenga 10% de Descuento en Su Primer Pedido"
    * **Texto**: "Suscríbase a nuestro boletín y reciba un código de descuento exclusivo."
    * **Campo de Entrada**: Email
    * **Botón**: "Obtener Mi Descuento" (acción de enviar)
    * **Código Promocional**: Revelado después del envío del formulario
  </Accordion>

  <Accordion title="Oferta de intención de salida">
    * **Imagen**: Foto del producto
    * **Encabezado**: "¡Espere! No se pierda esto."
    * **Texto**: "Envío gratis en pedidos superiores a \$50 — solo hoy."
    * **Botón**: "Comprar Ahora" (enlace a la tienda)
    * **Botón**: "No, gracias" (acción de cerrar)
  </Accordion>

  <Accordion title="Código QR para continuación móvil">
    * **Encabezado**: "Continúe en su teléfono"
    * **Texto**: "Escanee el código QR para chatear con nuestro agente de IA en móvil."
    * **Código QR**: Código QR de campaña con seguimiento UTM
    * **Texto**: "O haga clic en el botón de chat abajo."
  </Accordion>

  <Accordion title="Anuncio de nueva función">
    * **Imagen**: Captura de pantalla de la función
    * **Encabezado**: "Nuevo: Recomendaciones Impulsadas por IA"
    * **Lista de Características**: 3-4 beneficios clave
    * **Botón**: "Saber Más" (enlace a la página de la función)
    * **Divisor**
    * **Texto**: Texto legal en letra pequeña
  </Accordion>
</AccordionGroup>

***

## Pestaña de Configuración

La pestaña de Configuración controla **cuándo**, **con qué frecuencia** y **a quién** se muestra el trigger.

### Condiciones

Las condiciones definen las reglas que deben cumplirse para que el trigger se active. Puede agregar múltiples condiciones y elegir el modo lógico: **AND** (todas las condiciones deben ser verdaderas) u **OR** (cualquier condición es suficiente) para que el trigger se active.

| Condición                          | Operador                                  | Descripción                                                                                                                                           |
| ---------------------------------- | ----------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Tiempo en la página (segundos)** | `>=`, `<=`, `=`                           | Activar después de que el visitante pase X segundos en la página actual. Ejemplo: mostrar un popup después de 30 segundos de lectura.                 |
| **Páginas visitadas**              | `>=`, `<=`, `=`                           | Activar después de que el visitante vea X páginas en la sesión. Ejemplo: mostrar una oferta después de navegar 3+ páginas.                            |
| **Profundidad de scroll (%)**      | `>=`, `<=`, `=`                           | Activar cuando el visitante se desplace más allá de un porcentaje de la página. Ejemplo: mostrar un CTA después del 70% de scroll.                    |
| **Fuente UTM**                     | `=`, `contains`                           | Activar solo para visitantes de una fuente de tráfico específica. Ejemplo: mostrar una oferta especial solo para visitantes de `google`.              |
| **Medio UTM**                      | `=`, `contains`                           | Activar solo para un medio de marketing específico. Ejemplo: activar solo para tráfico `cpc` (pagado).                                                |
| **Campaña UTM**                    | `=`, `contains`                           | Activar solo para visitantes de una campaña específica. Ejemplo: mostrar un banner estacional solo para la campaña `summer-sale`.                     |
| **ID de Referido**                 | `=`, `!=`                                 | Activar basándose en el parámetro `rvl_ref`. Ejemplo: mostrar un mensaje de bienvenida de socio para un referido específico.                          |
| **Referente contiene**             | `contains`                                | Activar basándose en la URL de referencia. Ejemplo: mostrar una comparación con la competencia para visitantes que vienen del sitio de un competidor. |
| **URL de Página**                  | `=`, `contains`, `starts_with`, `matches` | Activar solo en páginas específicas. Use `matches` para patrones regex. Ejemplo: mostrar un popup de precios solo en `/pricing`.                      |
| **Tipo de dispositivo**            | `=`                                       | Activar solo en Escritorio, Móvil o Tableta. Ejemplo: mostrar un banner de descarga de app móvil solo en móvil.                                       |
| **Evento disparado**               | `=`                                       | Activar después de que ocurra un evento de seguimiento específico. Ejemplo: mostrar un popup de venta cruzada después del evento `add_to_cart`.       |
| **Día de la semana (0=Dom)**       | `=`, `in`                                 | Activar solo en días específicos. Ejemplo: mostrar ofertas de fin de semana el sábado (6) y domingo (0).                                              |
| **Rango de horas \[desde, hasta]** | `between`                                 | Activar solo durante horas específicas. Ejemplo: mostrar "Llámenos ahora" solo durante horario laboral 9-18.                                          |

### Ejemplos de Condiciones

<Tabs>
  <Tab title="Lector comprometido">
    Mostrar un popup de boletín a visitantes que están leyendo activamente:

    | Condición             | Operador | Valor     |
    | --------------------- | -------- | --------- |
    | Tiempo en la página   | `>=`     | `30`      |
    | Profundidad de scroll | `>=`     | `50`      |
    | Tipo de dispositivo   | `=`      | `desktop` |
  </Tab>

  <Tab title="Oferta tráfico pagado">
    Mostrar un descuento especial para visitantes de Google Ads en la página de precios:

    | Condición     | Operador   | Valor      |
    | ------------- | ---------- | ---------- |
    | Fuente UTM    | `=`        | `google`   |
    | Medio UTM     | `=`        | `cpc`      |
    | URL de Página | `contains` | `/pricing` |
  </Tab>

  <Tab title="Abandono de carrito">
    Mostrar un recordatorio después de un evento de agregar al carrito con retraso:

    | Condición           | Operador | Valor         |
    | ------------------- | -------- | ------------- |
    | Evento disparado    | `=`      | `add_to_cart` |
    | Tiempo en la página | `>=`     | `60`          |
    | Páginas visitadas   | `>=`     | `2`           |
  </Tab>

  <Tab title="Solo horario laboral">
    Mostrar una barra "Llámenos" solo durante horas laborales entre semana:

    | Condición           | Operador  | Valor             |
    | ------------------- | --------- | ----------------- |
    | Rango de horas      | `between` | `[9, 18]`         |
    | Día de la semana    | `in`      | `[1, 2, 3, 4, 5]` |
    | Tipo de dispositivo | `=`       | `desktop`         |
  </Tab>
</Tabs>

### Frecuencia

Controla con qué frecuencia se muestra el trigger al mismo visitante:

| Opción                              | Descripción                                                                                                                                                                                      |
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Una vez por sesión**              | Mostrar una vez durante la sesión actual de la pestaña del navegador. El trigger no se mostrará de nuevo incluso después de recargar la página o navegar — solo cerrar la pestaña lo restablece. |
| **Una vez por día**                 | Mostrar una vez por día calendario. El visitante no lo verá de nuevo hasta mañana, sin importar cuántas sesiones tenga hoy.                                                                      |
| **Una vez por visitante (siempre)** | Mostrar solo una vez — siempre. Una vez que un visitante ha visto este trigger, nunca se mostrará de nuevo (rastreado vía token del navegador). Ideal para anuncios únicos.                      |
| **Cada visita**                     | Mostrar en cada sesión. El trigger se activa cada vez que se cumplen las condiciones, sin importar cuántas veces el visitante lo haya visto antes. Use con moderación.                           |

<Tip>
  Para la mayoría de los casos de uso, **Una vez por sesión** o **Una vez por visitante** es la elección correcta. "Cada visita" puede ser molesto — úselo solo para información crítica y sensible al tiempo como avisos de mantenimiento o promociones urgentes.
</Tip>

### Programación

Opcionalmente restrinja el trigger a un rango específico de fecha y hora:

| Campo      | Descripción                                                                                                                        |
| ---------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| **Inicio** | Fecha y hora en que el trigger se activa. Antes de este momento, el trigger no se disparará incluso si se cumplen las condiciones. |
| **Fin**    | Fecha y hora en que el trigger se detiene. Después de este momento, el trigger se desactiva automáticamente.                       |

Ambos campos son opcionales:

* **Solo inicio** — el trigger se activa en la fecha de inicio y funciona indefinidamente
* **Solo fin** — el trigger funciona inmediatamente y se detiene en la fecha de fin
* **Ambos** — el trigger funciona solo durante la ventana especificada
* **Ninguno** — el trigger funciona mientras esté habilitado

**Casos de uso para programación:**

| Escenario                          | Inicio        | Fin           |
| ---------------------------------- | ------------- | ------------- |
| Popup de venta Black Friday        | 29 Nov, 00:00 | 2 Dic, 23:59  |
| Banner de promo Año Nuevo          | 25 Dic, 00:00 | 5 Ene, 23:59  |
| Anuncio de lanzamiento de producto | 15 Mar, 10:00 | 22 Mar, 23:59 |
| Aviso de mantenimiento             | —             | 1 Abr, 06:00  |

***

## Cómo Funcionan los Triggers

Cuando el script de seguimiento se carga en su sitio web, obtiene las definiciones de triggers activos y las evalúa en segundo plano:

<Steps>
  <Step title="Los triggers activos se cargan">
    El tracker obtiene las definiciones de triggers activos del servidor. El servidor filtra por programación (fechas de inicio/fin) y estado activo antes de enviarlos al cliente.
  </Step>

  <Step title="La frecuencia se verifica">
    Cada 2 segundos, el tracker verifica la configuración de frecuencia de cada trigger. Si el visitante ya ha visto el trigger (basado en localStorage o sessionStorage), el trigger se omite.
  </Step>

  <Step title="Las condiciones se evalúan">
    Para los triggers que pasan la verificación de frecuencia, el tracker evalúa todas las condiciones — tiempo en la página, profundidad de scroll, parámetros UTM, tipo de dispositivo, eventos disparados y más. Las condiciones usan lógica AND u OR según la configuración.
  </Step>

  <Step title="El trigger se muestra">
    El contenido del trigger (modal o toast) se renderiza en la página dentro de un Shadow DOM con el estilo y la animación configurados. La activación se registra como un evento `trigger_shown`. Para triggers de redireccionamiento, el visitante es navegado a la URL destino.
  </Step>

  <Step title="El visitante interactúa">
    El visitante puede interactuar con el trigger — hacer clic en botones, completar campos, copiar códigos promocionales, escanear códigos QR o cerrarlo. Cada interacción se rastrea como un evento separado (`trigger_clicked`, `trigger_dismissed`, `trigger_promo_copied`).
  </Step>
</Steps>

<Note>
  Los triggers se renderizan dentro de su propio contenedor **Shadow DOM**, por lo que sus estilos están completamente aislados de su sitio web. Sin conflictos de CSS.
</Note>

***

## Integración de Triggers y Eventos

Los triggers crean eventos de seguimiento automáticamente. Cada activación de trigger se registra como un evento `trigger_shown` con el ID del trigger y tipo de acción. Usted puede:

* Ver la actividad de triggers en el gráfico de **Actividad de Triggers** en el Panel de Control
* Ver las activaciones de triggers en la tabla de **Rendimiento de Campañas**
* Usar la condición `event_fired` para encadenar triggers — por ejemplo, mostrar el Trigger B solo después de que se vio el Trigger A
* Combinar con [Eventos Personalizados](/widget/events#custom-events-api) para flujos complejos

<Tip>
  Use la condición **Evento disparado** para crear secuencias de múltiples pasos. Por ejemplo: el Trigger 1 muestra un avance después de 10 segundos. El Trigger 2 muestra la oferta completa solo si el visitante hizo clic en el botón del Trigger 1 (rastreado como evento personalizado).
</Tip>
