Volver al blog
Tutorial · GA4

Cómo configurar y validar user_id en GA4 con GTM

Guía paso a paso utilizando Google Tag Manager y Google Analytics 4 para conectar el comportamiento de tus usuarios con los datos de tu CRM.

¿Qué vas a aprender en este tutorial?
  • Cómo funciona el Identity Space de GA4 y por qué el user_id es su mecanismo más poderoso.
  • Cómo configurar en GTM una etiqueta que capture el user_id en el momento del login.
  • Cómo registrar el identificador como propiedad de usuario (user_id_custom) para tener flexibilidad en reportes y audiencias.
  • Cómo crear una dimensión personalizada en GA4 para exponer user_id_custom en Explore.
  • Cómo construir un informe en Explore que valide tu implementación y te permita cruzar datos con tu CRM.

¿Para quién es este tutorial? Está pensado para analistas digitales y profesionales de marketing que trabajan con sitios que tienen sistema de login y quieren conectar el comportamiento en GA4 con los datos de su CRM.

Objetivo

Implementar correctamente el user_id de GA4 junto con la propiedad de usuario user_id_custom mediante Google Tag Manager, y validar el resultado en un informe de Explore. Al finalizar, vas a poder segmentar audiencias usando el identificador de tu CRM, con una base que también sirve para integraciones avanzadas como exportaciones a BigQuery. Se asume conocimiento básico de GA4 y GTM, y una implementación de GA4 ya activa en el sitio.

Sección 01

¿Por qué usar user_id en GA4? El Identity Space explicado

GA4 puede identificar a los usuarios de distintas formas: por cookies, por inferencia estadística o por un ID explícito que vos le enviás. Este último método —el user_id— es el más valioso porque no depende del dispositivo ni del navegador: cuando un usuario inicia sesión, podés pasarle a GA4 el identificador único de tu sistema para que una sesiones y dispositivos bajo un mismo perfil.

GA4 gestiona esta identificación a través de un sistema interno llamado Identity Space. No hace falta configurarlo: todas las propiedades vienen por defecto en el modo Blended, que prioriza el user_id y combina además cookies y datos inferidos por machine learning cuando el ID no está disponible. Los otros dos modos son Observed (igual que Blended pero sin machine learning) y Device-based (solo cookies, sin user_id). En nuestro caso, dejaremos la configuración predefinida.

¿Cuál es la diferencia entre user_id nativo y user_id_custom?

Acá hay una distinción clave que muchos analistas pasan por alto. GA4 tiene dos mecanismos distintos para el User ID:

user_id (nativo)
  • Identificador oficial para el User-ID reporting de GA4.
  • Une sesiones del mismo usuario entre dispositivos y navegadores (cross-device matching).
  • Aparece como la dimensión User ID en reportes estándar.
  • No tiene la flexibilidad de una dimensión libre en Explore ni filtro granular en audiencias.
user_id_custom (User Property)
  • Propiedad de usuario personalizada con el mismo valor.
  • Disponible como dimensión en Explore y para segmentos de audiencia.
  • Base para exportaciones a BigQuery.
  • No tiene el beneficio nativo de cross-device matching.
Recomendación

Usá ambos: seteá el user_id nativo y también guardá el mismo valor como User Property bajo el nombre user_id_custom. Esta doble implementación te da lo mejor de los dos mundos.

Sección 02

Qué podés y qué no podés enviar como user_id

Antes de implementar, hay que tener claro el marco de políticas de Google. Enviar datos prohibidos puede resultar en la suspensión de tu propiedad GA4, así que esta sección no es opcional.

Podés enviar
  • Un ID interno de tu sistema (numérico o alfanumérico), como un ID de cliente de tu base de datos.
  • Un hash del email u otro dato personal (SHA-256) — no es reversible sin la clave original.
  • Un UUID propio generado por tu plataforma.
No podés enviar
  • El email del usuario directamente (dato PII).
  • El nombre completo del usuario.
  • El número de teléfono.
  • Cualquier dato que identifique directamente a una persona (PII).
  • El Google Client ID (_ga) como user_id — viola los Términos de Servicio.
Regla de oro

El ID debe ser opaco: que tenga significado solo dentro de tu sistema interno. Si alguien intercepta el valor, no debería poder asociarlo a una persona real sin acceder a tu base de datos. Si tu sistema expone el email en el dataLayer, nunca lo uses directamente como user_id: implementá el hash SHA-256 en el backend antes de exponerlo al frontend, o usá directamente el ID numérico de tu base de datos.

Sección 03

Configurar la variable de usuario en GTM

Requisito previo

Tu sitio debe tener un sistema de login y, al autenticarse un usuario, debe dispararse un evento en el dataLayer que incluya el identificador del usuario. Si no lo tenés, coordinálo con tu equipo de desarrollo antes de seguir.

Un dataLayer de login típico debería verse así:

dataLayer
dataLayer.push({
  event: 'user_login',
  userId: '48291'
});

El valor de event es el nombre que vas a usar como disparador en GTM. El valor de userId es el ID interno del usuario en tu sistema, y es el campo que vas a capturar con la variable DL - user_id. El nombre del campo puede variar según tu implementación — lo importante es identificarlo correctamente antes de seguir.

Formulario de login del sitio
Captura: login del sitio
Formulario de login del sitio, donde el usuario se autentica y se dispara el evento en el dataLayer.
01

Accedé a tu contenedor de GTM

Entrá a tagmanager.google.com y seleccioná el contenedor correspondiente al sitio donde tenés la implementación de GA4.

02

Creá una nueva variable de capa de datos

En el menú lateral, hacé clic en Variables. Luego en Nueva, dentro de «Variables definidas por el usuario». Asignale el nombre: DL - user_id.

03

Configurá el tipo de variable

Seleccioná el tipo Variable de capa de datos. En el campo «Nombre de variable de capa de datos», ingresá el nombre exacto del campo que tu desarrollo pushea al dataLayer.

  • Nombre sugerido del campo en dataLayer: userId
  • Versión de capa de datos: Versión 2 (recomendada para implementaciones modernas)
Variable DL – user_id en GTM
Captura: variable DL – user_id
Variable DL – user_id configurada como Variable de capa de datos en GTM.
Estructura anidada

Si tu dataLayer usa una estructura anidada (por ejemplo, user.id), GTM acepta notación de punto: user.id. Confirmá el nombre exacto con desarrollo o inspeccionando el dataLayer desde GTM Preview en el momento del login.

Sección 04

Crear la etiqueta de login en GTM

Con la variable lista, ahora vas a crear la etiqueta de GA4 que envía el user_id nativo y la propiedad de usuario user_id_custom al momento en que el usuario inicia sesión.

01

Creá una nueva etiqueta

En el menú lateral, hacé clic en Etiquetas y luego en Nueva. Asignale el nombre: GA4 - Event Login successful.

02

Seleccioná el tipo de etiqueta

Hacé clic en «Configuración de etiqueta» y seleccioná Google Analytics: evento de GA4.

03

Configurá la conexión con GA4

En «ID de medición», ingresá tu Measurement ID de GA4 (formato G-XXXXXXXXXX). Lo encontrás en Admin → Flujos de datos → tu flujo web.

04

Definí el nombre del evento

En «Nombre del evento», ingresá: login. Es el nombre recomendado por Google para esta acción y el que va a aparecer en GA4.

05

Configurá ambas propiedades de usuario

En «Propiedades de usuario», hacé clic en «Agregar propiedad» dos veces y configurá:

  • user_id{{DL - user_id}}
  • user_id_custom{{DL - user_id}}

Ambas usan el mismo valor. GA4 reconoce por defecto el parámetro user_id y lo utiliza para su User-ID reporting.

06

Configurá el disparador

Hacé clic en «Disparadores» y en el ícono +. Seleccioná Evento Personalizado y configurá el nombre del evento: login (el mismo valor del campo event en el dataLayer).

07

Guardá y publicá

Guardá la etiqueta y publicá la versión del contenedor. Antes de publicar en producción, validá con el modo Vista previa de GTM (sección 6).

Recomendación

En lugar de pegar el Measurement ID directamente, guardalo en una variable de tipo Constante en GTM y referenciála. Así lo reutilizás en cualquier etiqueta sin tener que buscarlo cada vez.

Etiqueta GA4 completa
Captura: etiqueta GA4 completa
Etiqueta GA4 - Event Login successful con todos los parámetros y el disparador configurados.
Sección 05

Configurar la dimensión personalizada en GA4

Para que user_id_custom esté disponible como dimensión en Explore y en la creación de audiencias, necesitás registrarla en la interfaz de administración de GA4.

01

Accedé a las dimensiones personalizadas

En tu propiedad de GA4, hacé clic en Administrar (engranaje) y, dentro de la columna de la propiedad, seleccioná Definiciones personalizadas.

02

Creá la nueva dimensión

Hacé clic en el botón Crear dimensión personalizada.

03

Completá los campos de la dimensión

Configurá los siguientes valores:

CampoValor
Nombre de la dimensiónuser_id_custom
AlcanceUsuario
DescripciónIdentificador de usuario del CRM, capturado en el evento de login
Propiedad de usuariouser_id_custom

El campo Alcance debe ser Usuario (no Evento) para que GA4 asocie el valor a la persona a lo largo del tiempo, no solo durante la sesión actual.

04

Guardá la dimensión

Hacé clic en Guardar. La dimensión puede tardar hasta 24 horas en aparecer en Explore y en los selectores de audiencias.

Creación de dimensión personalizada en GA4
Captura: dimensión user_id_custom
Formulario de creación de dimensión personalizada en GA4: nombre user_id_custom, alcance Usuario y propiedad de usuario user_id_custom.
Nota

GA4 permite hasta 25 dimensiones de usuario personalizadas por propiedad. Si ya estás cerca del límite, revisá si hay dimensiones inactivas que puedas archivar antes de crear la nueva.

Sección 06

Validar la implementación en GTM Preview y Explore

Con la etiqueta publicada y la dimensión configurada, llegó el momento de verificar que todo funciona correctamente.

01

Activá el modo de vista previa en GTM

Volvé a GTM, hacé clic en Vista previa e ingresá la URL de tu sitio. GTM va a abrirlo con el modo debug activo.

02

Simulá un login y revisá el dataLayer

Realizá el flujo de login con un usuario de prueba. En el panel de GTM Tag Assistant, seleccioná el evento de login en la línea de tiempo y abrí la pestaña Data Layer. Ahí vas a ver el objeto que tu desarrollo envió, incluyendo el campo con el user ID.

03

Verificá la activación de la etiqueta

En la pestaña Etiquetas, confirmá que GA4 - Event Login successful figura como Activada. Hacé clic para ver el detalle y verificar que los valores de user_id y user_id_custom se envían con el ID correcto.

04

Creá una exploración en blanco en GA4

Cuando la dimensión esté disponible (hasta 24 h), accedé a Explorar y seleccioná En blanco. Asignale el nombre: Validación user_id_custom.

05

Importá dimensiones y métricas

En el panel de variables, importá las dimensiones user_id_custom y «Grupo de canales predeterminado de la sesión»; y las métricas «Total de usuarios», «Sesiones» y «Eventos».

06

Armá la tabla del informe

  • Filas: user_id_custom
  • Columnas: (vacío)
  • Valores: Total de usuarios, Sesiones, Eventos
07

Aplicá un filtro para aislar usuarios identificados

  • Dimensión: user_id_custom
  • Tipo de condición: no contiene
  • Valor: (not set)

Si ves filas con valores reales de user_id_custom, la implementación está funcionando correctamente.

Informe de Explore en GA4
Captura: informe de Explore
Informe de Explore con filas de user_id_custom y las métricas Total de usuarios, Sesiones y Eventos.
Valores (not set)

Si antes de aplicar el filtro ves muchos valores (not set) en la columna user_id_custom, es normal: corresponden a sesiones de usuarios anónimos (no logueados). El porcentaje de usuarios identificados depende del volumen de logins en tu sitio.

Sección 07

Buenas prácticas al implementar user_id en GA4

Nunca enviés PII como user_id

Enviar emails, nombres o teléfonos viola las políticas de Google y puede suspender tu propiedad. Usá siempre el ID interno de tu base de datos o un hash SHA-256 generado en el servidor. GA4 no cifra: lo que enviás queda registrado tal cual.

ID interno «48291» Email directo

Implementá siempre los dos mecanismos

El user_id nativo te da cross-device matching en los reportes estándar. La User Property user_id_custom te da flexibilidad en Explore y audiencias. La implementación doble tiene costo cero y beneficio alto.

user_id + user_id_custom Solo uno de los dos

Validá con GTM Preview antes de publicar

Siempre que cambies la etiqueta de login, revisá la pestaña Data Layer para confirmar que el ID llega con el valor esperado, y la de Tags para verificar que se disparó. Un error en el nombre del campo puede hacer que user_id llegue vacío sin ningún mensaje de error visible.

Verificá el Reporting Identity si los datos no coinciden

GA4 viene con el modo de identidad correcto por defecto. Si notás que el user_id no parece tener efecto, revisá Admin → Reporting Identity y confirmá que no esté en Device-based, el único modo que ignora el User-ID por completo.

Usá períodos comparables al analizar usuarios identificados

El porcentaje de usuarios con user_id_custom varía semana a semana según campañas, tráfico orgánico y estacionalidad. Al comparar en Explore, usá períodos del mismo tipo para que las variaciones reflejen cambios reales y no artefactos del rango de fechas.

Semana vs semana Períodos mixtos
Conclusión

El user_id es la llave que conecta GA4 con tu negocio

Implementar user_id junto con la propiedad user_id_custom te permite pasar de analizar sesiones anónimas a trabajar con datos de usuarios reales y reconocidos: reportes más precisos, audiencias más relevantes y una base sólida para conectar el comportamiento digital con tu CRM.

Con GTM como intermediario, la implementación no requiere modificar el código del sitio más allá de lo que ya hace tu sistema de login. Desde ahí, la dimensión personalizada y el informe en Explore te dan visibilidad inmediata del alcance de tu base de usuarios identificados.

Nicolás Lacave

Nicolás Lacave

Quality Assurance · iMettrics

Validación de tracking y calidad de datos. Se asegura de que cada evento que llega a GA4 represente lo que realmente pasó.