El etiquetado del servidor es una nueva forma de usar Google Tag Manager para instrumentar tu aplicación en todos los dispositivos. Los contenedores de servidor usan el mismo modelo de etiqueta, activador y variable al que estás acostumbrado, y también proporcionan herramientas nuevas que te permiten medir la actividad del usuario dondequiera que ocurra.
Una configuración de etiquetado típica sin etiquetado del servidor se basa en un contenedor en la página para enviar datos de medición a varios servidores de recopilación. En la Figura 1, se muestra un ejemplo de cómo un contenedor web de Tag Manager que se ejecuta en un navegador web envía datos a varios servidores.

Figura 1: Diagrama de un sitio instrumentado para usar un contenedor web de Google Tag Manager
Por el contrario, un contenedor de servidor no se ejecuta en el navegador del usuario ni en su teléfono. En cambio, se ejecuta en un servidor que controlas.

Figura 2: Ejemplo de una configuración de etiquetado que usa un contenedor de servidor
El servidor se ejecuta en tu propio proyecto de Google Cloud Platform, o en un entorno diferente que elijas, y solo tú tienes acceso a los datos del servidor hasta que decidas enviarlos a otro lugar. Tienes control total sobre la forma en que se organizan esos datos y hacia dónde se enrutan desde el servidor. Las etiquetas se compilan con la tecnología JavaScript en entorno de pruebas. Los permisos te dan visibilidad de lo que puede hacer la etiqueta, y las políticas te permiten establecer límites en torno al contenedor.
El servidor recibe solicitudes web del dispositivo del usuario y transforma esas solicitudes en eventos. Las etiquetas, los activadores y las variables del contenedor procesan cada evento. Las etiquetas, los activadores y las variables de un contenedor de servidor funcionan exactamente igual que en otros tipos de contenedores: los activadores examinan cada evento para buscar ciertas condiciones y, cuando corresponde, activan etiquetas que envían los datos del evento para que se procesen.
Este modelo plantea dos preguntas importantes para los contenedores de servidor:
- ¿Cómo llegan los datos de medición desde el dispositivo del usuario al contenedor de servidor?
- ¿Cómo se convierten en eventos los datos de medición enviados a un contenedor de servidor?
La respuesta a ambas preguntas es un nuevo tipo de entidad para usar en contenedores de servidor: un cliente.
Cómo funcionan los clientes
Los clientes son adaptadores que vinculan el software en ejecución del dispositivo de un usuario con tu contenedor de servidor. El cliente recibe datos de medición de un dispositivo, los transforma en uno o más eventos, enruta los datos para que se procesen en el contenedor y empaqueta los resultados para enviarlos de vuelta al solicitante.
¡Es mucha información! Analicemos cada parte por separado. En la Figura 3, se muestran los datos que fluyen hacia el contenedor de servidor desde el navegador web del usuario y desde tu servidor web al contenedor de servidor.

Figura 3: Un cliente diferente controla cada flujo de datos
Los clientes reciben datos de medición de un dispositivo. Supongamos que deseas medir la actividad del usuario en tres lugares: un sitio web, una app para teléfonos y una tostadora inteligente. Tu sitio web usa Google Analytics, tu app para teléfonos usa Firebase Analytics y tu tostadora usa un protocolo propietario llamado "ToastMeasure".
Por lo general, la instrumentación de estos tres dispositivos con Google Tag Manager requeriría un contenedor diferente para cada plataforma. Dado que el contenedor de servidor no se ejecuta en el dispositivo, el mismo contenedor puede controlar la instrumentación de Analytics para las tres plataformas de dispositivos. Sin embargo, hay un problema. Estos dispositivos no se comunican de la misma manera. El protocolo de Google Analytics no es el mismo que el protocolo de ToastMeasure. Aquí es donde entran los clientes.
En lugar de esos tres contenedores, tu contenedor de servidor tiene tres clientes. Cada cliente procesará cada solicitud que llegue al contenedor en orden de prioridad, primero el cliente de mayor prioridad. Lo primero que hará cada cliente es decidir si sabe cómo procesar ese tipo de solicitud. Si puede, el cliente "reclama" la solicitud y continúa con la siguiente etapa de procesamiento. El acto de reclamar la solicitud evita que se ejecuten los clientes posteriores. Si el cliente no puede procesar la solicitud, no hace nada y permite que los otros clientes decidan si la controlan o no.
Los clientes transforman los datos de la solicitud en uno o más eventos. Una vez que el cliente de ToastMeasure reclama una solicitud, debe transformarla en algo que el resto del contenedor comprenda. Ese algo es un conjunto de eventos.
Los eventos son cosas que suceden y que deseas medir. Pueden ser cualquier cosa: start_toasting, finish_toasting o buy_bread. Hay algunas
recomendaciones sobre la estructura de
los eventos que genera un cliente, pero el único requisito es que el resto de
el contenedor los comprenda.
Los clientes ejecutan el contenedor. El cliente reclamó la solicitud y la convirtió en eventos. Ahora es el momento de las etiquetas, los activadores y las variables. El cliente pasa cada evento al resto del contenedor para que se procese más.
Los clientes empaquetan los resultados para enviarlos de vuelta al dispositivo. Una vez que se ejecuta el contenedor, es hora de responder a la tostadora. La respuesta puede adoptar muchas formas. Tal vez el cliente solo diga "OK, listo". Tal vez una de las etiquetas quiera redirigir la solicitud a otro servidor de recopilación. O tal vez una de las etiquetas le diga a las luces de la tostadora que cambien de color. Sea lo que sea que deba suceder, el cliente es el encargado de empaquetar los resultados y enviarlos de vuelta al solicitante.
Afortunadamente, Tag Manager se encarga de gran parte de esto por ti. Los contenedores de servidor incluyen 2 clientes: Google Analytics y Measurement Protocol. Estos clientes proporcionan las herramientas que necesitas para comenzar a instrumentar tu aplicación en cuanto crees el contenedor.
Un ejemplo breve
Veamos un ejemplo rápido para ver cómo encajan todas las partes. En este ejemplo, crearás lo siguiente:
- Un sitio web simple que usa gtag.js para enviar un
clickevento a un contenedor de servidor. - Un cliente de Google Analytics que recibe el evento
- Un activador que se activa en un evento
click - Una etiqueta de Google Analytics que envía los datos del evento a Google Analytics para su procesamiento
Para este ejemplo, supondremos que ya creaste e implementaste tu contenedor de servidor.
Configura gtag.js
Primero, configura gtag.js para enviar los datos a tu contenedor de servidor. Con gtag.js, enviar datos a tu contenedor de servidor funciona igual que enviar datos a Google Analytics, con una modificación. Al igual que en la página de ejemplo que aparece a continuación, establece la opción de configuración server_container_url para que apunte al contenedor de servidor.
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'TAG_ID', {
server_container_url: 'https://analytics.example.com',
});
</script>
Reemplaza TAG_ID por tu etiqueta
ID.
Reemplaza https://analytics.example.com por la URL de tu contenedor de servidor.
A continuación, agrega una función sendEvent() para controlar los eventos click:
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'TAG_ID', {
server_container_url: 'https://analytics.example.com',
});
function sendEvent() {
gtag('event', 'click');
}
</script>
<button onclick="javascript:sendEvent()">Send Event</button>
Reemplaza TAG_ID por tu etiqueta
ID.
Reemplaza https://analytics.example.com por la URL de tu contenedor de servidor.
Con esta configuración, los controladores de eventos, como la función sendEvent() incluida en este ejemplo, enviarán un evento click a tu contenedor de servidor.
Cliente de Google Analytics
Tu contenedor necesita un cliente para recibir el evento una vez que llega al servidor. Afortunadamente, los contenedores de servidor incluyen un cliente de Google Analytics preinstalado, por lo que ya completaste este paso.
Activador de clics
A continuación, crea un activador que se active en el evento click. Crea un activador personalizado que se active cuando la variable integrada Nombre del evento sea igual a "click".
Etiqueta de Google Analytics
Por último, adjunta una etiqueta de Google Analytics al activador. Al igual que con los clientes, un contenedor de servidor incluye una etiqueta de Google Analytics. Solo crea la etiqueta, configura los parámetros y ya conectaste tu contenedor. Los clientes de Google Analytics y las etiquetas de Google Analytics están diseñados para funcionar juntos. Esto significa que lo único que debes hacer es crear una etiqueta de Google Analytics, y su configuración se extraerá automáticamente de los eventos que provengan del cliente.
Obtén una vista previa del contenedor
Ahora que el contenedor está configurado, haz clic en Vista previa. Visita tu sitio web en otra ventana del navegador. A medida que se envíen solicitudes y eventos a tu contenedor de servidor, verás las solicitudes y los eventos en el lado izquierdo de la página de vista previa.
Cuando estés conforme con los cambios, publica el contenedor de servidor.
Configura tu servidor para el modo de producción con entrega de origen
Antes de enviar tráfico de producción a tu contenedor de servidor, te recomendamos encarecidamente que instales el servidor en tu dominio de origen y que lo actualices al modo de producción.