Saltar al contenido

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_url en el contenedor web.
  • Enviar eventos personalizados y de ecommerce con etiquetas GA4 Event.
  • Confirmar en DevTools que los hits van a tu subdominio.

Antes de empezar

  • Un contenedor web publicado en tu sitio (lección 1).
  • Un contenedor de servidor que responda en tu subdominio, por ejemplo sgtm.example.com (lección 2).
  • Acceso de editor a una cuenta de Google Analytics.

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. 1 Abre analytics.google.com, ve a Admin y haz clic en Create y luego en Property.
  2. 2 Introduce un nombre para la propiedad, tu zona horaria y moneda de informes, y completa los datos de la empresa.
  3. 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. 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. 1 En tu contenedor web, ve a Tags, haz clic en New y elige Google tag como tipo de etiqueta.
  2. 2 Pega tu Measurement ID en Tag ID.
  3. 3 En Configuration settings, añade una fila con el parámetro y el valor de abajo.
  4. 4 Elige el activador Initialization - All Pages (o All Pages), ponle nombre a la etiqueta y guarda.
text
Configuration parameter:  server_container_url
Value:                    https://sgtm.example.com

Usa 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. 1 Crea una etiqueta de tipo Google Analytics: GA4 Event.
  2. 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. 3 Pon sign_up en Event Name. En Event Parameters, añade method con la Data Layer Variable que creaste antes.
  4. 4 Selecciona el activador Custom Event sign_up y 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.

js
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. 1 Crea un activador Custom Event para purchase.
  2. 2 Crea una etiqueta Google Analytics: GA4 Event con Event Name purchase.
  3. 3 Abre More Settings y luego Ecommerce, marca Send Ecommerce data y elige Data Layer como Data source.
  4. 4 Asigna el activador purchase y 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:

text
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. 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. 2 En la ventana del sitio abre DevTools, ve a la pestaña Network y filtra por collect.
  3. 3 Recarga la página. Deberías ver solicitudes a https://sgtm.example.com/g/collect con estado 200 o 204, y ninguna a google-analytics.com/g/collect.
  4. 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_url apuntando a tu subdominio.
  • Las solicitudes /g/collect van a sgtm.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