Custom Triggers
Custom Triggers es un módulo opcional que permite enviar tus propios eventos a la capa window.dataLayer (la misma que utiliza el módulo GA4 DataLayer) cuando se cumple una condición sencilla en el frontend. De este modo puedes modelar eventos específicos de tu tienda, por ejemplo la visita a una página concreta o un clic en un botón elegido, sin escribir tu propio código JavaScript.
Cada disparador envía un evento con nombre (con parámetros adicionales opcionales) a la misma capa de datos que los eventos de GA4. Lo que ocurre después (por ejemplo, el reenvío a Google Tag Manager, Meta Pixel, TikTok o Matomo) depende de tu configuración de etiquetas. Se trata de herramientas que ayudan a modelar tus propios eventos, no de una garantía de un resultado legal o analítico concreto.
Activación del módulo
Section titled “Activación del módulo”El módulo está desactivado de forma predeterminada. Actívalo en WooCommerce > Polski > Módulos (clave del módulo custom_triggers). Una vez activado y con al menos un disparador válido definido, el módulo carga un controlador ligero en el frontend de la tienda. Si la lista de disparadores está vacía, no se encola ningún script. El controlador nunca se ejecuta en el área de administración.
Cómo funcionan los disparadores
Section titled “Cómo funcionan los disparadores”Un disparador se evalúa en el navegador del visitante. Hay dos tipos de condiciones disponibles:
| Condición | Qué activa el evento |
|---|---|
page_url | La ruta o la consulta de la URL actual contiene un fragmento de texto dado. |
click | Un clic en un elemento que coincide con un selector CSS dado. |
Cada disparador debe tener definido un nombre de evento; de lo contrario, se omite. Si el tipo de condición no está establecido como click, el módulo lo trata como page_url.
Ajustes del disparador
Section titled “Ajustes del disparador”Cada fila de la lista de disparadores se describe con los siguientes campos:
| Campo | Descripción |
|---|---|
| Evento | El nombre del evento enviado a dataLayer. Obligatorio, los disparadores vacíos se omiten. |
| Condición | page_url o click. Predeterminado: page_url. |
| Valor | El fragmento de texto comparado con la ruta/consulta de la URL (para la condición page_url). |
| Selector | El selector CSS del elemento cuyo clic activa el evento (para la condición click). |
| Categoría | La categoría de consentimiento que condiciona el evento. Predeterminado: necessary. |
| Parámetros | Parámetros de evento adicionales opcionales (pares clave-valor, solo valores escalares). |
La lista de disparadores se almacena como datos codificados en JSON en la opción polski_custom_triggers (clave triggers). Solo se conservan como parámetros los valores escalares; todo lo demás se descarta.
Condicionamiento por consentimiento
Section titled “Condicionamiento por consentimiento”Un envío a dataLayer es una acción de origen propio (first-party), pero a cada disparador se le puede asignar una categoría de consentimiento. El controlador del frontend solo activa un disparador categorizado una vez que el visitante ha concedido esa categoría (registrada en la cookie de consentimiento). Los disparadores de la categoría necessary se activan siempre.
El controlador vuelve a comprobar el consentimiento en el evento polskiConsentChange, de modo que un cambio en la decisión del visitante (por ejemplo, aceptar marketing en el banner de consentimiento) se respeta sin recargar la página. Esto te permite, por ejemplo, condicionar un evento de conversión de marketing al consentimiento de marketing.
Si la categoría asignada no es una categoría de consentimiento válida, el módulo recurre a necessary. El nombre de la cookie, el nombre del evento y la categoría necesaria se toman del módulo Consent Manager, de modo que el condicionamiento por consentimiento se mantiene coherente con el banner de consentimiento.
El módulo proporciona herramientas para condicionar eventos por consentimiento, no ofrece asesoramiento legal ni garantiza el cumplimiento normativo. La clasificación de los eventos según la categoría de consentimiento correcta es responsabilidad del propietario de la tienda.
Integración con la capa de datos
Section titled “Integración con la capa de datos”Los disparadores usan la misma window.dataLayer que el módulo GA4 DataLayer. Para que los eventos se reciban y se procesen posteriormente, esta capa de datos debe existir en la página. El módulo en sí solo envía eventos a la capa; lo que ocurre con ellos a continuación lo decide tu configuración de etiquetas y de herramientas analíticas.
Solución de problemas
Section titled “Solución de problemas”Los eventos no aparecen en dataLayer - asegúrate de que el módulo esté activado, de que haya al menos un disparador con un nombre de evento definido y de que window.dataLayer exista en la página (el módulo GA4 DataLayer).
Un disparador click no responde - comprueba el selector CSS. Debe coincidir con un elemento que exista en la página.
Un disparador con una categoría distinta de necessary no hace nada - el evento solo se envía después de conceder el consentimiento para su categoría asignada. Revisa la configuración del Consent Manager y la decisión del visitante.
Notificación de problemas: github.com/wppoland/polski/issues