- Cómo funciona el Identity Space de GA4 y por qué el
user_ides su mecanismo más poderoso. - Cómo configurar en GTM una etiqueta que capture el
user_iden 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_customen 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.
¿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:
- 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 IDen reportes estándar. - No tiene la flexibilidad de una dimensión libre en Explore ni filtro granular en audiencias.
- 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.
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.
- 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
UUIDpropio generado por tu plataforma.
- 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.
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.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.
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.
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.
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)
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.
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.
Creá una nueva etiqueta
En el menú lateral, hacé clic en Etiquetas y luego en Nueva. Asignale el nombre: GA4 - Event Login successful.
Seleccioná el tipo de etiqueta
Hacé clic en «Configuración de etiqueta» y seleccioná Google Analytics: evento de GA4.
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.
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.
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.
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).
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.
GA4 - Event Login successful con todos los parámetros y el disparador configurados.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.
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.
Creá la nueva dimensión
Hacé clic en el botón Crear dimensión personalizada.
Completá los campos de la dimensión
Configurá los siguientes valores:
| Campo | Valor |
|---|---|
| Nombre de la dimensión | user_id_custom |
| Alcance | Usuario |
| Descripción | Identificador de usuario del CRM, capturado en el evento de login |
| Propiedad de usuario | user_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.
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.
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.
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.
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.
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.
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.
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.
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».
Armá la tabla del informe
- Filas:
user_id_custom - Columnas: (vacío)
- Valores: Total de usuarios, Sesiones, Eventos
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.
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.
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.
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.
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.
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.
