≡En resumen
- Trigger significa gatillo o disparador: algo que, al ocurrir, provoca automáticamente otra cosa.
- En SQL, un trigger ejecuta código cuando se insertan, modifican o borran filas de una tabla.
- En marketing y analítica, un trigger es el evento que dispara un email, una notificación o una etiqueta de seguimiento.
- En psicología y redes sociales, un trigger es un estímulo que despierta un recuerdo o una emoción intensa.
- Todos los sentidos comparten la misma lógica: si ocurre X, entonces se ejecuta Y.
01 ¿Qué es un trigger y qué significa?
En inglés, trigger es literalmente el gatillo de un arma. La palabra viene del neerlandés trekker, de trekken, «tirar», y en inglés se documenta como sustantivo desde el siglo XVII, con la forma antigua tricker. En la década de 1930 aparece el verbo to trigger con el sentido figurado de «provocar, desencadenar», y a partir de los años ochenta se extiende el sentido psicológico.
Por eso el significado exacto depende del contexto. Quien busca «qué es un trigger» puede ser un programador, un especialista en marketing o alguien que ha leído «me ha triggereado» en redes sociales.
| Ámbito | Qué es un trigger | Ejemplo |
|---|---|---|
| Bases de datos | Código que se ejecuta solo ante un cambio en una tabla | Guardar en un historial cada cambio de precio |
| Marketing y automatización | Evento que dispara un mensaje o un flujo | Enviar un email al abandonar el carrito |
| Analítica web | Condición que activa una etiqueta de seguimiento | Medir cada envío de formulario en Google Tag Manager |
| Psicología | Estímulo que provoca una reacción emocional intensa | Una escena que recuerda una experiencia traumática |
| Videojuegos | Gatillos del mando (L2/R2, LT/RT) | Apretar el gatillo derecho para acelerar |
02 Qué es un trigger en una base de datos (SQL)
En bases de datos relacionales como MySQL, PostgreSQL, SQL Server u Oracle, un trigger es un objeto asociado a una tabla que se ejecuta automáticamente cuando ocurre un evento sobre ella. Se define con la sentencia CREATE TRIGGER e indica tres cosas: cuándo se ejecuta, ante qué evento y qué código lanza.
| Elemento | Valores | Qué indica |
|---|---|---|
| Momento (trigger_time) | BEFORE o AFTER | Si el código se ejecuta antes o después de modificar cada fila |
| Evento (trigger_event) | INSERT, UPDATE o DELETE | Qué operación sobre la tabla lo activa |
| Alcance | FOR EACH ROW | Se ejecuta una vez por cada fila afectada |
| Referencias | NEW.columna y OLD.columna | Valor nuevo y valor anterior de la fila |
| Orden | FOLLOWS o PRECEDES | Qué trigger va antes si hay varios con el mismo evento y momento |
CREATE TRIGGER productos_actualizados
BEFORE UPDATE ON productos
FOR EACH ROW
SET NEW.actualizado_en = NOW();
Cada vez que alguien modifica un producto, el trigger rellena la columna actualizado_en con la fecha y hora actuales, sin que la aplicación tenga que acordarse de hacerlo.
03 Tipos de trigger según el motor de base de datos
La idea es la misma en todos los sistemas, pero cada motor tiene su sintaxis y sus variantes. Antes de migrar una base de datos, revisa los triggers: suelen ser lo que más cuesta trasladar de un motor a otro.
| Motor | Momentos | Nivel | Particularidades |
|---|---|---|---|
| MySQL / MariaDB | BEFORE y AFTER | Por fila (FOR EACH ROW) | Usa NEW y OLD; sin triggers en vistas ni tablas temporales |
| PostgreSQL | BEFORE, AFTER e INSTEAD OF | Por fila o por sentencia | El trigger llama a una función; INSTEAD OF se usa en vistas |
| SQL Server | AFTER e INSTEAD OF | Por sentencia | Tablas virtuales inserted y deleted; también triggers DDL y de inicio de sesión |
| Oracle | BEFORE, AFTER e INSTEAD OF | Por fila o por sentencia | Admite triggers compuestos y de eventos del sistema |
04 Para qué sirven los triggers en SQL: usos y buenas prácticas
Auditoría
Registrar en una tabla de historial quién cambió qué dato y cuándo.
Integridad
Impedir valores imposibles, como un precio negativo, lanzando un error antes de guardar.
Datos derivados
Mantener actualizados totales, contadores o fechas sin depender de la aplicación.
Sincronización
Copiar cambios a otra tabla o marcarlos para que otro proceso los recoja.
- ✓Mantén cada trigger corto y con una sola responsabilidad.
- ✓No encadenes triggers que activan otros triggers: el flujo se vuelve imposible de seguir.
- ✓Documenta su existencia en el repositorio del proyecto, junto a las migraciones.
- ✓Mide el impacto en el rendimiento: un trigger se ejecuta por cada fila afectada.
- ✓Si la regla es de negocio y cambia a menudo, valora dejarla en el código de la aplicación.
En proyectos de desarrollo web a medida solemos reservar los triggers para auditoría e integridad crítica, y dejar el resto de reglas en la aplicación, donde se prueban y versionan con más facilidad.
05 Trigger en marketing y automatización
En marketing, un trigger es el evento que inicia una comunicación automática. En lugar de enviar la misma newsletter a todos, el sistema reacciona a lo que hace cada persona. Es la base del email marketing automatizado y de los flujos que conectan formularios, CRM y mensajería.
| Trigger | Acción automática |
|---|---|
| Alta en la newsletter | Serie de bienvenida en varios correos |
| Carrito abandonado | Recordatorio con los productos pasadas unas horas |
| Compra completada | Confirmación, seguimiento del envío y petición de reseña |
| Cumpleaños o aniversario | Felicitación con un descuento |
| Inactividad durante meses | Campaña de reactivación |
| Visita a la página de precios | Aviso al equipo comercial en el CRM |
06 Triggers en Google Tag Manager: los activadores
En Google Tag Manager, los triggers se llaman activadores en la versión en español. Según la ayuda oficial de Google, un activador detecta eventos como envíos de formularios, clics en botones o visitas a páginas y, cuando el evento coincide con sus condiciones, indica a la etiqueta que se ejecute. Toda etiqueta necesita al menos un activador.
-
1
Elige el tipo de evento
Vista de página, clic, envío de formulario, desplazamiento, visibilidad de un elemento o un evento personalizado.
-
2
Añade filtros
Cada filtro combina una variable, un operador y un valor, por ejemplo Page URL contiene /gracias/.
-
3
Asócialo a la etiqueta
Como activador de accionamiento o como excepción para bloquearla en ciertos casos.
-
4
Prueba en modo vista previa
Comprueba que la etiqueta se dispara solo cuando debe antes de publicar el contenedor.
07 Trigger en psicología y en redes sociales
En psicología, un trigger o desencadenante es un estímulo (una imagen, un sonido, un olor, una palabra) que provoca una reacción emocional intensa, a menudo porque recuerda una experiencia dolorosa. De ahí vienen expresiones que se han popularizado en redes:
Trigger warning
Aviso de contenido sensible al inicio de un vídeo o un texto. En español: «aviso de contenido».
Estar triggered
Reaccionar de forma exagerada ante algo. En redes se usa a menudo con ironía.
Triggerear
Adaptación coloquial: provocar a alguien a propósito. En un texto cuidado, mejor «provocar» o «alterar».
Preguntas frecuentes sobre Trigger
Significa gatillo, disparador o desencadenante: algo que, al ocurrir, provoca automáticamente otra cosa. El sentido exacto depende del contexto.
Es un objeto de la base de datos que ejecuta código automáticamente antes o después de insertar, actualizar o borrar filas de una tabla.
Con la sentencia CREATE TRIGGER, indicando el nombre, el momento (BEFORE o AFTER), el evento (INSERT, UPDATE o DELETE), la tabla y el código que debe ejecutarse.
El procedimiento se ejecuta cuando lo llamas; el trigger se ejecuta solo, cuando ocurre el evento al que está asociado.
Es el evento que dispara una comunicación automática, como el email que recibes al abandonar un carrito o al darte de alta en una newsletter.
Es un activador: la condición que decide cuándo se dispara una etiqueta, por ejemplo al hacer clic en un botón o al enviar un formulario.
En psicología, sufrir una reacción emocional intensa ante un estímulo. En redes se usa coloquialmente para decir que algo te ha molestado mucho.
Fuentes consultadas
Sobre el autor
Germán Gutiérrez
Development Manager en appyweb
Dirige el equipo de desarrollo de appyweb: aplicaciones web y móviles, SaaS, integraciones y arquitectura de software.
Ver perfil en LinkedIn ↗