ANALÍTICA DIGITAL, IA APLICADA Y DIRECCIÓN EXTERNA

 

Portátil con código dataLayer conectado mediante llaves de código a los logos de Google Analytics, Google Ads y Meta, con la etiqueta GTM.

 

Una variable en Google Tag Manager es un contenedor de información dinámica que puedes reutilizar en tus etiquetas y activadores. En lugar de escribir un valor fijo cada vez, defines la variable una sola vez y la referencias donde la necesites con la sintaxis {{Nombre de la variable}}.

Si nunca has trabajado con variables en GTM, este post te explica qué son, qué tipos existen y cuándo usar cada uno — con ejemplos reales que van más allá de GA4.

Por qué existen las variables en GTM

Imagina que quieres enviar el título de la página a tres herramientas distintas: GA4, Meta Ads y tu CRM. Sin variables, tendrías que configurar ese dato tres veces en tres etiquetas distintas. Si algún día cambia cómo se estructura el título, tendrías que actualizarlo en tres sitios.

Con una variable, lo defines una vez. Las tres etiquetas la referencian. Si cambia algo, cambias la variable y listo.

Pero las variables no solo sirven para reutilizar valores. También permiten que tus activadores sean precisos: en lugar de disparar una etiqueta en todos los clics, puedes decirle a GTM que solo la dispare cuando el texto del botón que se ha pulsado sea exactamente «Solicitar presupuesto». Eso es una variable usada en un activador.

Variables integradas vs variables definidas por el usuario

GTM distingue dos grandes grupos:

Variables integradas: son las que GTM tiene predefinidas y solo necesitas activar. Capturan información del contexto de la página o de la interacción del usuario. Ejemplos: {{Page URL}}, {{Click Text}}, {{Click ID}}, {{Form ID}}, {{Scroll Depth Threshold}}.

Variables definidas por el usuario: las creas tú cuando necesitas capturar algo que GTM no tiene por defecto. Por ejemplo, el valor de un campo de un formulario, el precio de un producto desde el dataLayer, o el ID de usuario de tu CRM.

Antes de crear una variable desde cero, comprueba siempre si ya existe como variable integrada. Te ahorras trabajo.

Tipos de variables en GTM y cuándo usar cada uno

Variable de capa de datos (dataLayer)

Es la más potente y la más usada en implementaciones avanzadas. Captura valores que tu web empuja al objeto dataLayer — una capa de datos JavaScript que vive en el navegador del usuario.

Cuándo usarla: cuando necesitas datos que solo existen en tu aplicación o base de datos y que el HTML no expone directamente. Precio de un producto, ID de transacción, categoría de un artículo, ID de usuario autenticado.

Ejemplo práctico: tienes un ecommerce. Cuando el usuario completa una compra, tu web empuja al dataLayer:

dataLayer.push({
  'event': 'purchase',
  'transaction_id': 'TXN-00123',
  'value': 89.90,
  'currency': 'EUR'
});

Creas variables de dataLayer para transaction_id, value y currency, y las usas en tu etiqueta de conversión de GA4, Meta Ads y Google Ads simultáneamente. Un solo push, tres herramientas alimentadas.

Variable de JavaScript

Captura el valor de una variable JavaScript que existe en el ámbito global de la página (window).

Cuándo usarla: cuando el dato que necesitas ya está disponible como variable JS en la página pero no está en el dataLayer. Útil en webs donde no puedes modificar el código para implementar dataLayer.

Ejemplo práctico: tu web define window.userType = "premium" en el código. Creas una variable JS apuntando a userType y la usas en un activador para disparar etiquetas solo a usuarios premium.

Variable de elemento DOM

Extrae el contenido de un elemento HTML de la página: su texto, un atributo, o su valor si es un campo de formulario.

Cuándo usarla: cuando el dato que necesitas está visible en el HTML pero no en el dataLayer ni en JS. Es el recurso cuando no tienes acceso al código de la web.

Ejemplo práctico: el precio de un producto aparece en la página dentro de un <span class="precio">89,90 €</span>. Creas una variable DOM que apunta a ese selector CSS y capturas el precio para enviarlo con el evento de conversión.

⚠️ Precaución: las variables DOM son frágiles. Si el desarrollador cambia el HTML, la variable deja de funcionar sin previo aviso. Úsalas como solución temporal mientras implementas dataLayer correctamente.

Variable de URL

Extrae partes concretas de la URL de la página: el protocolo, el host, la ruta, los parámetros de query o el fragment.

Cuándo usarla: cuando quieres activar etiquetas o personalizar datos según la sección de la web en la que está el usuario, o cuando necesitas capturar parámetros UTM de la URL.

Ejemplo práctico: quieres disparar una etiqueta de conversión solo cuando el usuario llega a la página de confirmación. Creas una variable de URL que captura la ruta (/confirmacion-pedido/) y la usas como condición en el activador.

Otro ejemplo: capturas el parámetro utm_source de la URL para enviarlo junto con cada evento y saber qué campaña generó la conversión.

Variable de cookie

Lee el valor de una cookie del navegador del usuario.

Cuándo usarla: cuando tienes información almacenada en cookies propias — como el ID de usuario, el segmento de cliente o el estado de autenticación — y quieres usarla en tus etiquetas.

Ejemplo práctico: tu web guarda el ID de usuario en una cookie llamada user_id cuando el usuario inicia sesión. Creas una variable de cookie que lee ese valor y lo envías como parámetro de usuario en GA4 para análisis cross-device.

Tabla de consulta (Lookup Table)

Devuelve un valor diferente según el valor de otra variable. Funciona como un switch o un if/else simplificado.

Cuándo usarla: cuando necesitas mapear valores. Convertir códigos internos en nombres legibles, asignar IDs de píxel distintos según el país o el idioma, o categorizar secciones de la web.

Ejemplo práctico: tienes presencia en España, México y Argentina y cada país tiene un ID de píxel de Meta Ads diferente. Creas una tabla de consulta que lee el dominio ({{Page Hostname}}) y devuelve el ID de píxel correspondiente. Una sola etiqueta de Meta Ads para todos los países.

Variable de constante

Almacena un valor fijo que reutilizas en varias etiquetas.

Cuándo usarla: para IDs, tokens o valores que no cambian pero que usas en múltiples sitios. Si algún día cambia el valor, solo lo actualizas en un sitio.

Ejemplo práctico: guardas tu Measurement ID de GA4 (G-XXXXXXXX) como constante. Todas tus etiquetas de GA4 referencian esa variable. Si migras de propiedad, cambias el ID en un solo lugar.

Variable de visibilidad de elemento

Detecta si un elemento HTML es visible en la pantalla del usuario.

Cuándo usarla: para disparar etiquetas cuando el usuario ve un elemento concreto — un banner, un CTA, una sección específica — independientemente de si hace clic o no.

Ejemplo práctico: quieres saber cuántos usuarios ven tu formulario de contacto aunque no lo rellenen. Creas un activador de visibilidad de elemento apuntando al formulario, y disparas un evento de GA4 cuando el elemento entra en el viewport.

Cómo nombrar bien tus variables

Una buena nomenclatura te ahorra horas de confusión cuando tienes 50 variables en un contenedor. La convención más habitual:

[Tipo] - [Nombre descriptivo]

Ejemplos:

  • DL - Transaction ID (dataLayer)
  • JS - User Type (JavaScript)
  • DOM - Precio Producto (elemento DOM)
  • URL - UTM Source (URL)
  • CON - GA4 Measurement ID (constante)

El tipo como prefijo te permite ver de un vistazo qué hace cada variable sin tener que abrirla.

El flujo completo: activador + variable + etiqueta

Para que todo encaje, recuerda la lógica de GTM:

Activador → define cuándo se dispara algo, usando variables para ser preciso. Variable → captura qué dato necesitas. Etiqueta → define qué haces con ese dato (enviarlo a GA4, Meta Ads, Google Ads…).

Las variables son el pegamento. Sin ellas, tus etiquetas son estáticas y tus activadores son imprecisos. Con ellas, tu implementación es dinámica, reutilizable y mantenible.

Para profundizar en cómo usar estas variables dentro de etiquetas concretas, puedes ver la guía de cómo crear un evento personalizado en GTM para GA4 y la guía de GTM Server-Side.

Preguntas frecuentes sobre variables en GTM

¿Cuántas variables puedo tener en un contenedor de GTM?

GTM no tiene un límite oficial documentado en el número de variables. En la práctica, contenedores con 200-300 variables funcionan sin problemas. Lo que sí importa es mantenerlas organizadas con una nomenclatura consistente — de lo contrario, el contenedor se vuelve inmanejable rápidamente.

¿Qué diferencia hay entre una variable de dataLayer y una variable de JavaScript?

Una variable de dataLayer lee valores del objeto dataLayer que tu web empuja explícitamente. Una variable de JavaScript lee variables del objeto window que ya existen en el código de la página. El dataLayer es la forma recomendada porque es más controlada y predecible — las variables JS dependen de que el código de la página no cambie.

¿Puedo usar variables dentro de otras variables en GTM?

No directamente — GTM no permite anidar variables. Pero puedes usar una variable como input de una tabla de consulta o de una variable de plantilla personalizada para conseguir un efecto similar.

¿Las variables de GTM afectan al rendimiento de la web?

El impacto es mínimo en variables estándar. Las variables de elemento DOM pueden tener algo más de impacto si escanean el DOM en cada evento, pero en condiciones normales es imperceptible. Lo que sí puede afectar al rendimiento son las etiquetas que disparan esas variables, no las variables en sí.

¿Necesito activar las variables integradas antes de usarlas?

Sí. Las variables integradas de GTM están desactivadas por defecto. Para activarlas, ve a Variables → Variables integradas → Configurar y marca las que necesites. Si intentas usar una variable integrada que no has activado, no funcionará.

Conclusión

Las variables en GTM son lo que convierte una implementación básica en una implementación profesional. Permiten capturar cualquier dato de la página, reutilizarlo en múltiples etiquetas y hacer que tus activadores sean precisos. Sin ellas, estás limitado a disparar etiquetas genéricas con datos estáticos.

El siguiente paso natural después de dominar las variables es entender el dataLayer en profundidad — la capa de datos que te permite pasar información estructurada desde tu web a GTM de forma controlada y fiable.

¿Tienes GTM instalado pero no sabes si tus variables están bien configuradas? Escríbeme y lo revisamos juntos.