Si la venta se firma en el CRM semanas después del clic, no intentes enviarla a GA4 con la fecha original: Measurement Protocol solo permite retrodatar un evento 72 horas, y la importación de eventos offline acepta los dos días naturales previos más hoy. Lo que sí funciona es guardar el identificador del visitante el día que entra el lead, dejarlo quieto en un campo del CRM y enviar la conversión cuando ocurra. GA4 la atribuye con su ventana de conversión, 90 días por defecto en los eventos clave que no son de adquisición, y Google Ads acepta hasta 90 días desde el último clic.
¿Por qué GA4 y tu CRM nunca dicen lo mismo?
La conversación suele empezar por aquí: «GA4 me dice que tengo 40 leads de una campaña y el CRM me dice que cerré tres ventas, pero no sé de qué campaña salieron».
Los dos sistemas tienen razón. Están midiendo momentos distintos del mismo recorrido. GA4 mide lo que pasa en la web, donde hay una sesión, una cookie y un origen; el CRM mide lo que pasa después, en llamadas, propuestas y una oportunidad que alguien mueve a ganada un martes cualquiera. Entre el momento medido y el momento cerrado hay semanas, y en esas semanas no hay ningún navegador abierto que le cuente nada a Analytics.
Acá conviene cambiar la pregunta antes de tocar una sola configuración. La pregunta habitual es «cómo mando la venta a GA4 con la fecha en la que ocurrió», y esa pregunta no tiene respuesta pasadas 72 horas. La pregunta útil es otra: qué tengo que guardar el día que entra el lead para que, cuando el cierre llegue, caiga en el canal que lo trajo.
¿Hasta cuándo puede GA4 aceptar una venta que se cierra semanas después?
Aquí es donde se rompe la mayoría de las implementaciones, y no por descuido. Los tutoriales de Measurement Protocol enseñan a montar la petición y casi ninguno menciona las ventanas de tiempo, así que la integración se monta, se envía el cierre con la fecha de la sesión original y el evento se rechaza o se coloca donde no toca, sin que nadie avise.
Cada mecanismo tiene su propio margen y cada margen se cuenta desde un punto distinto. Esta es la parte que conviene tener delante antes de decidir nada:
| Mecanismo | Margen | Se cuenta desde | Qué pasa si te pasas |
|---|---|---|---|
| Measurement Protocol · heredar los atributos de la sesión | 24 horas | el inicio de la sesión online | No hereda el origen, el medio ni la campaña de esa sesión. Exige además enviar el session_id |
| Measurement Protocol · retrodatar el evento | 72 horas | el momento del evento | No se puede retrodatar más atrás. El timestamp_micros forzado debe caer dentro de la sesión |
| Importación de eventos offline en GA4 | los 2 días naturales previos, más hoy | la fecha del evento en el archivo | Si no envías marca de tiempo, se usa la de la subida |
| Ventana de conversión de GA4 · eventos clave que no son de adquisición | 90 días por defecto | el evento clave, hacia atrás | Se puede bajar a 60 o 30 días. El cambio solo aplica hacia delante |
| Ventana de conversión de GA4 · eventos clave de adquisición | 30 días por defecto | first_open o first_visit, hacia atrás |
La única alternativa publicada es bajarla a 7 días |
| Google Ads · conversiones offline | 90 días | el último clic asociado | La conversión no se importa y no aparece en tus estadísticas |
| Google Ads · conversiones mejoradas para leads | 63 días | el último clic asociado | Mismo efecto, con 27 días menos de margen |
Leída de golpe, la tabla dice algo incómodo: las tres primeras filas ya están cerradas para cualquier ciclo de venta que dure más de una semana. Y hay un detalle de proporción que cuesta ver en una tabla y salta en el gráfico: el margen para heredar los atributos de la sesión, 24 horas, es tres veces menor que el margen para retrodatar un evento, 72 horas. Son dos cosas distintas que se suelen confundir.

Un cierre a 45 días, por poner un ejemplo, entra de sobra en la ventana de conversión de 90 días de GA4 y en los 90 días de Google Ads. Pero el plazo para retrodatarlo se cerró el día 3. La conclusión práctica es tranquilizadora una vez la asimilas: la fecha del evento no es el problema que hay que resolver. El identificador sí.
Y ya que estamos en las ventanas, hay un comportamiento de GA4 que casi nadie tiene presente y que conviene conocer antes de tocar la pantalla de atribución:
Dos ajustes vecinos que se comportan al revés. Cambiar el modelo de atribución de los informes se aplica a los datos históricos y a los futuros: mueves el selector y los informes de meses pasados cambian. Cambiar la ventana de conversión, en la misma pantalla, solo se aplica hacia delante.
La consecuencia práctica es incómoda: puedes reinterpretar el pasado, pero no puedes ampliarlo. Si tu ciclo de venta es más largo que la ventana que tenías puesta, los cierres que ya se han quedado fuera no vuelven a entrar por cambiar el ajuste hoy.
¿Qué identificadores tienes que guardar el día que entra el lead?
Este es el método completo, y cabe en una frase: captura los identificadores en el formulario, guárdalos en campos del contacto que nadie edite a mano y devuélvelos cuando la oportunidad se gane.
| Identificador | Qué es | Dónde está el día 0 | Para qué lo vas a necesitar |
|---|---|---|---|
client_id |
El identificador que GA4 asigna al navegador | En la cookie de GA4 del visitante | Es obligatorio para enviar el evento por Measurement Protocol. En la importación offline hace falta él o el app_instance_id de la app |
gclid |
El identificador del clic en un anuncio de Google Ads | Como parámetro en la URL de llegada | Es el identificador con el que Google Ads documenta la importación de conversiones offline: casa la venta con el clic que la originó |
| Parámetros UTM | El origen, el medio y la campaña declarados en el enlace | En la URL de llegada | Para reconstruir el origen dentro del CRM y para que el comercial vea de dónde viene el lead |
session_id |
El identificador de la sesión concreta | Como parámetro de evento en GA4 | Solo si quieres que el evento herede origen, medio y campaña de esa sesión, y solo dentro de las 24 horas siguientes |
user_id |
Tu propio identificador de persona | No existe: lo generas tú | Para unir el mismo cliente en varios dispositivos. Máximo 256 caracteres y no puede contener nada que permita a un tercero identificar a la persona |
De los cinco, el que más problemas causa es el último, y siempre por el mismo motivo:
El email del lead no vale como user_id. La documentación de GA4 lo dice sin rodeos: el identificador de usuario no puede contener información que permita a un tercero identificar a la persona. Un email la identifica de forma directa, y un email con hash sigue siendo el mismo email para quien tenga la lista. Lo que sí vale es el identificador interno del contacto en tu CRM: opaco, estable y sin significado fuera de tu base de datos.
Ojo con dónde se corta la cadena, porque no se corta al final sino al principio. El identificador solo se puede capturar una vez, en el momento en que el visitante envía el formulario. Si en ese instante no se guarda, no hay ninguna consulta posterior al CRM que lo recupere: el dato no existe en ningún sitio.

Dos comprobaciones concretas antes de dar por bueno el montaje. Primera: rellena tú mismo el formulario con parámetros UTM y un gclid inventado en la URL, y mira la ficha del contacto que se crea. Si los campos llegan vacíos, el problema está en el formulario, no en GA4. Segunda: gana una oportunidad de prueba y revisa qué carga trae el webhook. Si el identificador no viaja en ella, tampoco viajará el día del cierre real.
¿Dónde cierras el bucle: en GA4 o en Google Ads?
Depende de para qué quieras el dato, y la respuesta no es la misma en los dos casos.
| GA4 | Google Ads | |
|---|---|---|
| Para qué sirve | Ver el cierre en tus informes de adquisición y de canal | Que las pujas automáticas aprendan de las ventas reales, no de los formularios enviados |
| Margen desde el cierre | 72 horas para retrodatar por Measurement Protocol; los 2 días naturales previos más hoy si lo importas | 90 días desde el último clic, o 63 en conversiones mejoradas para leads |
| Identificador que exige | client_id o app_instance_id |
gclid, o los datos de la conversión mejorada |
| Qué no hace | No reescribe el histórico de sesiones ni te deja retrodatar más allá de 72 horas | No aparece en los informes de GA4: son dos sistemas distintos con dos bases de datos distintas |
| Qué pasa con un cierre a 45 días | Entra dentro de la ventana de conversión de 90 días, pero ya no se puede retrodatar: se registra con la fecha del envío | Entra en los dos casos, con margen de sobra |
Si tienes que elegir uno para empezar, empieza por Google Ads. La razón es de plazos: sus 90 días desde el último clic son el único margen que aguanta un ciclo de venta real sin acrobacias, y el beneficio es directo, porque las pujas automáticas pasan a optimizar sobre ventas cerradas en vez de sobre formularios enviados. GA4 llega después, cuando quieras ver el cierre dentro de tus informes de canal junto al resto del recorrido.
Un apunte de criterio sobre los modelos: desde noviembre de 2023 GA4 ya no ofrece primer clic, lineal, declive temporal ni basado en posición. Quedan el modelo basado en datos y dos variantes de último clic, con paid and organic last click como ajuste por defecto. Si tu forma de repartir el mérito entre canales dependía de alguno de los retirados, esa conversación ya está cerrada por parte de Google y toca replantearla. Si quieres el contexto de los modelos en sí, lo tienes en nuestra guía sobre modelos de atribución.
Cómo lo montas con Clientify
Empiezo por lo que Clientify no hace, que ahorra tiempo: no hay una integración nativa que empuje el cierre a GA4. Lo que trae el CRM de Clientify son tres piezas con las que puedes construirlo.
El píxel de Clientify se instala en el <head> y captura el canal online, los parámetros UTM, el navegador, el idioma, la ciudad, el país, las visitas y las sesiones. Tiene una condición importante: no funciona con formularios externos a Clientify, porque cada registro necesita una trazabilidad propia que se pierde cuando la captación viene de fuera. Si tus formularios son de otra herramienta, el lead entra igual, pero su origen no.
En Configuración → Mi cuenta → Píxeles de analítica puedes guardar el ID de medición de tu propiedad de Google Analytics, que encuentras en Administrar → Flujos de datos, y aplicarlo a formularios desde la pestaña de analítica del diseñador y a landing pages en el último paso de su configuración. Con eso GA4 ve el envío del formulario. El cierre todavía no.
El cierre viaja por webhook. En Configuración → Conexiones → Webhooks tienes deal.saved, que se dispara cuando una oportunidad se crea, se actualiza, se gana, se pierde o se mueve. Apúntalo a n8n o a tu propio endpoint, filtra por el estado ganada y desde ahí construye la llamada al destino que hayas elegido. Es una petición por cierre, y así debe quedarse: nada de recorrer oportunidades en lote ni de lanzar peticiones en paralelo. La API publica un límite de 1.000 peticiones por minuto, y ese número está para no tener que pensar en él, no para acercarse.
¿Por qué el canal de Clientify no coincide con el de GA4?
Porque miden con criterios distintos, y esto es de diseño.
Clientify usa la fecha de la primera visita a la web como punto de atribución para determinar el Canal Online. GA4 retiró el modelo de primer clic en noviembre de 2023 y hoy atribuye con último clic o con su modelo basado en datos. Un contacto que te descubrió por una búsqueda orgánica en marzo y volvió por un anuncio en agosto aparecerá como orgánico en Clientify y como pago en GA4. Ninguno de los dos está mal configurado.
Dentro del propio CRM hay una segunda distinción que conviene tener clara, porque genera la mitad de las dudas. El Canal Online indica cómo llegó el contacto y se completa automáticamente a partir de los parámetros UTM y del referrer host, sin edición manual posible. El Origen del Contacto indica por dónde se registró: formulario, chatbot, WhatsApp, importación, API. La propia documentación lo dice sin rodeos: no siempre ambos campos coinciden, porque miden momentos distintos del recorrido del contacto.
Así que no esperes que los números cuadren. No van a cuadrar, y perseguir ese cuadre es la forma más rápida de perder un trimestre. Lo que sí puedes conseguir es que las tres ventas del ejemplo del principio aparezcan atribuidas al mismo canal en los dos sistemas, aunque los 40 leads se cuenten distinto. Con eso ya puedes decidir dónde poner el presupuesto del mes que viene, que es para lo que sirve medir. Si estás coordinando varios canales a la vez, este artículo sobre medición multicanal te da el marco general.
Preguntas frecuentes
¿Cuánto tiempo tengo para enviar a GA4 una conversión que ocurre en el CRM?
Depende del mecanismo. Con Measurement Protocol puedes retrodatar el evento hasta 72 horas, y solo 24 horas si quieres que herede los atributos de la sesión original. La importación de eventos offline acepta los dos días naturales previos más hoy. Google Ads es mucho más generoso: hasta 90 días desde el último clic.
Si cambio el modelo de atribución en GA4, ¿cambian mis datos históricos?
Sí. Cambiar el modelo de atribución de los informes se aplica a datos históricos y futuros, así que los informes cambian hacia atrás. La ventana de conversión funciona al revés: sus cambios solo se aplican hacia delante. Son dos ajustes que viven en la misma pantalla y se comportan de forma opuesta.
¿Puedo usar el email del lead como user_id en GA4?
No. La documentación de GA4 dice que el identificador de usuario no puede contener información que permita a un tercero identificar a la persona, y un email la identifica de forma directa. Usa un identificador interno del CRM, opaco y estable, de como máximo 256 caracteres.
¿Debo enviar el cierre a GA4 o a Google Ads?
A Google Ads si lo que quieres es que la puja aprenda de las ventas reales, porque acepta hasta 90 días desde el clic. A GA4 si lo que quieres es ver el cierre en tus informes de canal. No son excluyentes, pero cada destino tiene su ventana y su identificador.
¿Por qué mi CRM y GA4 dan canales distintos para el mismo lead?
Porque miden momentos distintos. Clientify fija el Canal Online con la fecha de la primera visita a la web, mientras que GA4 retiró el modelo de primer clic en noviembre de 2023 y hoy atribuye con último clic o con su modelo basado en datos. La discrepancia es de diseño, no un ajuste mal puesto.
Por dónde empezar mañana
Crea hoy los campos personalizados en la ficha del contacto y añade los campos ocultos a tus formularios. Es lo único de esta guía que no se puede hacer más tarde: los leads que entren mañana sin esos campos ya no tendrán origen recuperable, y los que entren con ellos te servirán el día que cierren.
Guarda el origen el día que entra el lead
14 días gratis, sin tarjeta. Crea los campos, captúralos desde tus formularios y mira de dónde salen de verdad tus ventas cerradas.
Probar Clientify gratis