Envía GA4 desde GTM web a través de tu contenedor de servidor
Tu contenedor de servidor ya funciona, pero todavía nada le envía datos. En esta lección creas una propiedad de GA4, añades una etiqueta de Google y etiquetas GA4 Event a tu contenedor web, y les indicas que envíen cada hit a tu propio subdominio en lugar de a Google. Así el navegador solo habla con sgtm.example.com, en un contexto first-party, y el contenedor de servidor decide adónde van los datos después.
Intermedio 12 min de lectura
Lo que aprenderás
- Crear una propiedad de GA4 y un flujo de datos web, y encontrar el Measurement ID.
- Añadir una etiqueta de Google con
server_container_urlen el contenedor web. - Enviar eventos personalizados y de ecommerce con etiquetas GA4 Event.
- Confirmar en DevTools que los hits van a tu subdominio.
01 Crea la propiedad de GA4 y el flujo web
Sáltate esta sección si ya tienes una propiedad de GA4. Solo necesitas su Measurement ID.
- 1 Abre analytics.google.com, ve a Admin y haz clic en Create y luego en Property.
- 2 Introduce un nombre para la propiedad, tu zona horaria y moneda de informes, y completa los datos de la empresa.
- 3 Cuando te pida empezar a recopilar datos, elige Web, introduce la URL de tu sitio y un nombre para el flujo, y haz clic en Create stream.
- 4 Copia el Measurement ID de los detalles del flujo. Tiene este aspecto:
G-XXXXXXXXXX.
02 Añade la etiqueta de Google con la URL de tu servidor
La etiqueta de Google carga GA4 en la página y envía el page_view. Un solo ajuste, server_container_url, cambia adónde van sus hits.
- 1 En tu contenedor web, ve a Tags, haz clic en New y elige Google tag como tipo de etiqueta.
- 2 Pega tu Measurement ID en Tag ID.
- 3 En Configuration settings, añade una fila con el parámetro y el valor de abajo.
- 4 Elige el activador Initialization - All Pages (o All Pages), ponle nombre a la etiqueta y guarda.
Configuration parameter: server_container_url
Value: https://sgtm.example.comUsa exactamente la URL de tu contenedor de servidor: con https://, sin ruta y sin barra final. Initialization - All Pages se activa antes que las demás etiquetas, así que los eventos que se disparan pronto ya saben adónde enviar sus datos.
03 Envía eventos con etiquetas GA4 Event
Las páginas vistas vienen de la etiqueta de Google. Todo lo demás, como registros y compras, necesita una etiqueta Google Analytics: GA4 Event. Reutiliza el activador sign_up de la lección 1:
- 1 Crea una etiqueta de tipo Google Analytics: GA4 Event.
- 2 Pon
G-XXXXXXXXXX(tu ID) en Measurement ID. El evento pasa por la etiqueta de Google con el mismo ID, incluida su URL de servidor. - 3 Pon
sign_upen Event Name. En Event Parameters, añademethodcon la Data Layer Variable que creaste antes. - 4 Selecciona el activador Custom Event
sign_upy guarda.
Para ecommerce, tu sitio envía los detalles de la compra en el objeto ecommerce que espera GA4. Vacía primero el objeto ecommerce anterior, como en este ejemplo.
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({ ecommerce: null });
window.dataLayer.push({
event: 'purchase',
ecommerce: {
transaction_id: 'T-10293',
value: 129.90,
currency: 'EUR',
items: [{ item_id: 'SKU-1', item_name: 'Shoes', price: 129.90, quantity: 1 }]
}
});- 1 Crea un activador Custom Event para
purchase. - 2 Crea una etiqueta Google Analytics: GA4 Event con Event Name
purchase. - 3 Abre More Settings y luego Ecommerce, marca Send Ecommerce data y elige Data Layer como Data source.
- 4 Asigna el activador
purchasey guarda.
04 Qué cambia en el navegador
Sin URL de servidor, GA4 envía los hits a google-analytics.com. Con ella, los mismos hits van a tu subdominio en la ruta /g/collect:
https://sgtm.example.com/g/collect?v=2&tid=G-XXXXXXXXXX&en=page_view&...- La solicitud se queda en tu propio dominio, así que para el navegador es first-party.
- Menos bloqueadores la detectan, porque ya no va a un dominio de analítica conocido.
- El contenedor de servidor ve cada hit antes que cualquier proveedor, y ahí es donde más adelante puedes filtrar o enriquecer los datos.
05 Comprueba y publica
- 1 Haz clic en Preview en el contenedor web y conéctate a tu sitio. La etiqueta de Google debería activarse en Initialization y las etiquetas GA4 Event en sus eventos.
- 2 En la ventana del sitio abre DevTools, ve a la pestaña Network y filtra por
collect. - 3 Recarga la página. Deberías ver solicitudes a
https://sgtm.example.com/g/collectcon estado200o204, y ninguna agoogle-analytics.com/g/collect. - 4 Cuando todo esté bien, haz clic en Submit y publica el contenedor web.
- No queda en el sitio ningún snippet de gtag.js incrustado para el mismo ID.
- La etiqueta de Google tiene
server_container_urlapuntando a tu subdominio. - Las solicitudes
/g/collectvan asgtm.example.com. - El Preview del contenedor de servidor muestra solicitudes entrantes (la lección de depuración explica cómo leerlo).
Preguntas frecuentes
¿Puedo configurarlo sin GTM, directamente en gtag.js?
Sí. Añade server_container_url al comando config, por ejemplo gtag('config', 'G-XXXXXXXXXX', { server_container_url: 'https://sgtm.example.com' });. El resto del curso da por hecho que usas GTM.
¿Necesito también una etiqueta de Google para Google Ads?
No para esta lección. Los hits de GA4 bastan para alimentar el contenedor de servidor, y las etiquetas de servidor de otros proveedores pueden reutilizar los mismos datos entrantes.
Las solicitudes siguen yendo a google-analytics.com. ¿Qué falla?
Normalmente el cambio aún no está publicado, se carga otra etiqueta de Google o un snippet de gtag.js incrustado para el mismo ID sin el ajuste, o el nombre del parámetro tiene una errata. Debe ser exactamente server_container_url.
¿Listo para ponerlo en práctica?
Despliega un contenedor GTM de servidor en tu propio dominio en pocos minutos. El plan Gratis no pide tarjeta.
Crear una cuenta gratuita