Introducción al etiquetado del servidor

El etiquetado del servidor es una nueva forma de usar Google Tag Manager para instrumentar tu aplicación en varios dispositivos. Los contenedores de servidores usan la misma etiqueta, activador y modelo de variables a los que estás acostumbrado, y 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 depende de 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.

Diagrama de un sitio instrumentado para usar un contenedor web de Google Tag Manager

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 ni en el teléfono del usuario. En cambio, se ejecuta en un servidor que tú controlas.

Diagrama de un sitio instrumentado con un contenedor de etiquetado del servidor

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 de tu elección, y solo tú tienes acceso a los datos en el servidor hasta que elijas enviarlos a otro lugar. Tienes control total sobre cómo se dan esos datos y dónde se enrutan desde el servidor. Las etiquetas se compilan mediante la tecnología de JavaScript de zona de pruebas. Los permisos te brindan visibilidad de lo que puede hacer la etiqueta, y las políticas te permiten establecer límites alrededor del contenedor.

El servidor recibe solicitudes web del dispositivo del usuario y las transforma en eventos. Las etiquetas, los activadores y las variables del contenedor procesan cada evento. Las etiquetas, los activadores y las variables en un contenedor de servidor funcionan de la misma manera 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 que se procesarán.

En este modelo, se presentan dos preguntas importantes para los contenedores de servidores:

  • ¿Cómo van los datos de medición del dispositivo del usuario al contenedor del servidor?
  • ¿Cómo se convierten en un evento los datos de medición enviados a un contenedor de servidor?

La respuesta a ambas preguntas es un nuevo tipo de entidad que se usa en contenedores de servidor: un cliente.

Cómo funcionan los clientes

Los clientes son adaptadores entre el software que se ejecuta en el dispositivo de un usuario y 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 a fin de enviarlos al solicitante.

¡Son muchas cosas! Analicemos con más detalle cada parte de forma individual. En la figura 3, se muestran los datos que fluyen al contenedor del servidor desde el navegador web del usuario y desde tu servidor web hasta el contenedor del servidor.

Diagrama de un sitio instrumentado con un contenedor de etiquetado del 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 aplicación para teléfonos y una tostadora inteligente. Tu sitio web usa Google Analytics, tu aplicación para teléfonos usa Firebase Analytics y tu tostadora usa un protocolo patentado llamado "ToastMeasure".

La instrumentación de estos tres dispositivos con Google Tag Manager normalmente requeriría un contenedor diferente para cada plataforma. Como el contenedor de servidor no se ejecuta en el dispositivo, el mismo contenedor puede controlar la instrumentación de estadísticas 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 ToastMeasure. Aquí es donde entran en juego los clientes.

En lugar de esos tres contenedores, el contenedor de tu servidor tiene tres clientes. Cada cliente procesará cada solicitud que entre en el contenedor en orden de prioridad, es decir, el cliente de mayor prioridad primero. Lo primero que hará cada cliente es decidir si sabe cómo procesar ese tipo de solicitudes. Si es posible, el cliente “reclama” la solicitud y continúa con la siguiente etapa del procesamiento. El hecho 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 quieren manejar la solicitud o no.

Los clientes transforman los datos de las solicitudes en uno o más eventos. Una vez que el cliente de ToastMeasure haya reclamado una solicitud, debe transformarla en algo que el resto del contenedor comprenda. Eso es un conjunto de eventos.

Los eventos son situaciones que se quieren medir. Pueden ser de cualquier tipo: 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 del contenedor los comprenda.

Los clientes ejecutan el contenedor. El cliente reclamó la solicitud y la convirtió en eventos. Ahora es momento de usar las etiquetas, los activadores y las variables. El cliente pasa cada evento al resto del contenedor para su posterior procesamiento.

Los clientes empaquetan los resultados para enviarlos al dispositivo. Una vez que se haya ejecutado el contenedor, será el momento de responder a la tostadora. La respuesta puede tomar muchas formas. Tal vez el cliente solo dice "OK, listo". Tal vez una de las etiquetas quiera redireccionar la solicitud a otro servidor de recopilación. O tal vez una de las etiquetas les indique a las luces de la tostadora que cambien de color. Lo que se supone que suceda, es el trabajo del cliente 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 tres clientes: Google Analytics 4, Google Analytics: Universal Analytics y el Protocolo de medición. Estos clientes proporcionan las herramientas necesarias para comenzar a instrumentar tu aplicación en cuanto hayas creado el contenedor.

Un ejemplo corto

Revisemos un ejemplo rápido para ver cómo encajan todas las piezas. En este ejemplo, crearás lo siguiente:

  1. Un sitio web simple que usa gtag.js para enviar un evento click a un contenedor de servidor
  2. Un cliente de Google Analytics 4 que recibe el evento
  3. Un activador que se activa en un evento click
  4. Una etiqueta de Google Analytics 4 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.

Configurar 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 de la misma manera que enviar datos a Google Analytics, con una sola modificación. Como en la siguiente página de ejemplo, configura la opción de configuración server_container_url para que apunte al contenedor del 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>

Reemplace TAG_ID por el ID de su etiqueta. Reemplaza https://analytics.example.com por la URL del contenedor de tu 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>

Reemplace TAG_ID por el ID de su etiqueta. Reemplaza https://analytics.example.com por la URL del contenedor de tu servidor.

Con esta configuración, los controladores de eventos, como la función sendEvent() que se incluye en este ejemplo, enviarán un evento click al contenedor de tu servidor.

Cliente de Google Analytics 4

El contenedor necesita que un cliente reciba el evento una vez que llega al servidor. Por suerte, los contenedores de servidor tienen un cliente de Google Analytics 4 preinstalado, por lo que ya completaste este paso.

Activador de clic

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 “clic”.

configuración del activador

Etiqueta de Google Analytics 4

Por último, adjunta una etiqueta de GA4 al activador. Al igual que con los clientes, un contenedor de servidor viene con una etiqueta de GA4 incluida. Solo crea la etiqueta, establece la configuración y, luego, conectaste el contenedor. Los clientes y las etiquetas de GA4 están diseñados para funcionar en conjunto. Esto significa que lo único que debes hacer es crear una etiqueta de GA4 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 las solicitudes y los eventos se envían al contenedor de tu servidor, verás una lista de solicitudes y eventos en el lado izquierdo de la página de vista previa.

Una vez que estés satisfecho con los cambios, publica el contenedor del servidor.

Configura tu servidor para el modo de producción con entregas propias

Antes de enviar tráfico de producción a tu contenedor de servidor, te recomendamos que instales el servidor en tu dominio propio y lo actualices al modo de producción.