Configura el etiquetado del servidor con Cloud Run

En esta guía, se explica cómo hacer lo siguiente:

  • Aprovisiona un servidor de vista previa para habilitar la función de vista previa del contenedor.
  • Aprovisionar un servidor de etiquetado para manejar el tráfico en vivo
  • Aumenta o disminuye la cantidad de servidores que ejecutan tu contenedor de Google Tag Manager.
  • Mantén actualizada la versión del servidor de etiquetado después de aprovisionar el servidor.

Requisitos previos

  1. Necesitas una cuenta de GCP. Si no tienes una, crea una cuenta de GCP nueva.
  2. Necesitas una cuenta de facturación de GCP. Si no la tienes, crea una cuenta de facturación de GCP (requiere la función de Creador de cuentas de facturación).
  3. Necesitas el rol Creador de proyectos y Usuario de cuenta de facturación. Obtén más información para agregar roles.

Aprovisiona una vista previa y un servidor de etiquetado

Puedes aprovisionar un servicio de Cloud Run automáticamente en Google Tag Manager o de forma manual en Google Cloud.

Edita la configuración del servicio

Sigue estos pasos para cambiar la configuración del servicio:

  1. Abre Cloud Run.
  2. Selecciona el servicio que quieres ajustar.
  3. Haz clic en Editar e implementar nueva revisión.
  4. Realiza los cambios y haz clic en Implementar.

Costo de Cloud Run

En esta configuración de Cloud Run, el costo de cada servidor es de aproximadamente $45 al mes (USD). Cada servidor es una instancia de Cloud Run con 1 CPU virtual y 0.5 GB de memoria que usa el modelo de precios de CPU siempre asignado.

Recomendamos ejecutar un mínimo de 2 instancias para reducir el riesgo de pérdida de datos en caso de una interrupción del servidor. Sin embargo, puedes optar por ejecutar menos (o más) servidores. Esperamos que el ajuste de escala automático de 2 a 10 servidores maneje de 35 a 350 solicitudes por segundo, aunque el rendimiento variará según la cantidad de etiquetas y lo que estas hagan.

Cloud Run escalará de forma dinámica con la carga. La configuración max-instances es el peor de los casos para el importe que deberás pagar por los recursos. Cloud Run no aprovisionará tantas instancias, a menos que sea necesario.

Calculadora de Cloud Run

Opcional: Migra desde App Engine

Si creaste una implementación de App Engine con anterioridad y verificaste que ya no recibe tráfico, inhabilita la aplicación de App Engine para evitar cargos de facturación inesperados.

Implementación multirregional (opcional)

Si tu sitio web tiene una presencia global o deseas generar redundancia en el servicio, implementa los servidores de etiquetado en varias regiones.

Antes de comenzar:

  1. Crea un balanceador de cargas
  2. Toma nota de tu BACKEND_NAME elegido.

Para agregar más regiones a tu implementación, haz lo siguiente:

  1. Reemplaza REGION por la región en la que se implementa el servidor de vista previa. Es posible que ya esté completo si seguiste las opciones de la línea de comandos para aprovisionar la vista previa y el servidor de etiquetado.
  2. Reemplaza CONTAINER_CONFIG por la cadena de configuración del contenedor de Tag Manager. Es posible que ya esté completo si seguiste las opciones de la línea de comandos para aprovisionar la vista previa y el servidor de etiquetado.
  3. Reemplaza NEW_REGION por la región nueva en la que deseas que se implemente el servidor de etiquetado.
  4. Reemplaza BACKEND_NAME por el nombre que elegiste cuando aprovisionaste el balanceador de cargas.
  5. Opcional: Para agregar otra región, sustituye la variable NEW_REGION y vuelve a ejecutar el fragmento de código.
    gcloud run deploy "server-side-tagging" \
    --region NEW_REGION \
    --image gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable \
    --platform managed \
    --ingress all \
    --min-instances 2 \
    --max-instances 10 \
    --timeout 60 \
    --allow-unauthenticated \
    --no-cpu-throttling \
    --update-env-vars PREVIEW_SERVER_URL="$(
      gcloud run services describe server-side-tagging-preview \--region "REGION" \
      --format="value(status.url)")",CONTAINER_CONFIG="CONTAINER_CONFIG" && \

    gcloud compute network-endpoint-groups create server-side-tagging-neg \
    --region=NEW_REGION \
    --network-endpoint-type=SERVERLESS \
    --cloud-run-service="server-side-tagging" && \

    gcloud compute backend-services add-backend --global "BACKEND_NAME" \
    --network-endpoint-group-region=NEW_REGION \
    --network-endpoint-group=server-side-tagging-neg

Inhabilita el registro (opcional)

Solicitar registro

De forma predeterminada, se registra información sobre cada una de las solicitudes (p.ej., la ruta de la solicitud, los parámetros de consulta, etcétera). Si el servidor de etiquetado maneja muchas solicitudes por mes (p.ej., más de 1 millón), esos mensajes de registro pueden generar cargos de registro significativos. Para reducir o eliminar los cargos de registro, recomendamos inhabilitar el registro de solicitudes.

Para inhabilitar el registro de solicitudes, haz lo siguiente:

  1. En Google Cloud Platform, abre el Enrutador de registros. Asegúrate de que estés en el proyecto que coincida con tu ID de contenedor:
    captura de pantalla del selector de proyectos de GCP que muestra un ID de contenedor de Tag Manager de muestra.
  2. En el campo Tipo: Bucket de Cloud Logging, Nombre: _Default, selecciona el menú ampliado y, luego, haz clic en Editar receptor.
  3. En Destino del receptor, selecciona el bucket de registros _Predeterminado.
  4. En Elige registros para incluirlos en el receptor, agrega una línea nueva. Ingresa la siguiente regla en el filtro de inclusión existente:

    NOT LOG_ID("run.googleapis.com/requests")
    
  5. Para inhabilitar el registro desde el balanceador de cargas, agrega una línea nueva y, luego, ingresa la siguiente regla en el filtro de inclusión existente:

    NOT LOG_ID("requests")
    
  6. Actualiza el receptor para aplicar los cambios. Ahora las solicitudes se excluirán del registro.

  7. Verifica que no aparezcan solicitudes nuevas en los registros del Explorador de registros.

Registro de la consola

El servidor de etiquetado, los clientes o las etiquetas de un contenedor pueden registrar mensajes en la consola que pueden generar cargos de registro. Para reducir o eliminar los cargos de registro, puedes inhabilitar los mensajes de registro no deseados de la consola.

Identifica los registros no deseados de la consola:

  1. En GCP, abre el Explorador de registros.
  2. Busca cualquier mensaje de registro no deseado que se origine en tus etiquetas. Por ejemplo:

    Una etiqueta puede enviar los siguientes registros:

    const logToConsole = require('logToConsole');
    
    logToConsole('Custom message: ' + data.param1);
    logToConsole('An important message to keep around!');
    data.gtmOnSuccess()
    

    Busca los mensajes de registro correspondientes en el campo textPayload:
    captura de pantalla del Explorador de registros
de GCP con registros de muestra.

Para inhabilitar el mensaje de registro de la consola, sigue estos pasos:

  1. En Google Cloud Platform, abre el Enrutador de registros. Asegúrate de que estés en el proyecto que coincida con tu ID de contenedor:
    captura de pantalla del selector de proyectos de GCP que muestra un ID de contenedor de Tag Manager de muestra.
  2. En el campo Tipo: Bucket de Cloud Logging, Nombre: _Default, selecciona el menú ampliado y, luego, haz clic en Editar receptor.
  3. En Destino del receptor, selecciona el bucket de registros _Predeterminado.
  4. En Elige registros para incluirlos en el receptor, agrega una línea nueva. Ingresa la siguiente regla en el filtro de inclusión existente:

    NOT textPayload:"Custom message:"
    

    Para los registros de la consola, reemplaza el texto Custom message: por una substring del registro de la consola que deseas inhabilitar. Para filtros más elaborados, usa el lenguaje de consulta de registro.

  5. Actualiza el receptor para aplicar los cambios. El mensaje logToConsole coincidente debe excluirse del registro.

  6. Verifica que no aparezcan nuevos mensajes de registro de la consola en el Explorador de registros.

2. Asigna la implementación a tu dominio personalizado

Para configurar un dominio personalizado, usa un balanceador de cargas de aplicaciones externo global.

3. Cómo agregar la URL del servidor a Google Tag Manager

Ahora que tienes un servidor, debes asegurarte de que Google Tag Manager sepa que debe usarlo.

  1. Abre Google Tag Manager.

  2. Haz clic en el contenedor del servidor que deseas apuntar al servidor de etiquetado.

  3. Abre la configuración del contenedor de servidor en la pestaña Administrador > Configuración del contenedor.

  4. Haz clic en Agregar URL y pega la URL de tu servidor.

  5. Haz clic en Guardar y regresa a tu lugar de trabajo.

4. Validación

Ahora que ya configuraste tu servidor de etiquetado, asegúrate de que funcione según lo previsto. En tu lugar de trabajo de Tag Manager, haz clic en el botón Vista previa. Si se carga la página de vista previa, todo está configurado correctamente.

Vista previa de varias URLs

Si asignaste varios dominios a un solo servidor de etiquetado, asegúrate de que cada URL se agregue a la configuración del contenedor.

Si proporcionaste varias URLs, todas las rutas de acceso (la string después del nombre de dominio) deben coincidir.

Funcionamiento No funciona
URL 1: example.com/abc
URL 2: example2.com/abc
URL 1: example.com/abc
URL 2: example2.com/def

Si se agregan varias URLs, verás un ícono junto al botón Preview que te permite seleccionar la URL de la que deseas obtener una vista previa.

Actualiza la versión del servidor de etiquetado

Las nuevas actualizaciones del servidor de etiquetado contienen correcciones de vulnerabilidades de seguridad y funciones nuevas. Te recomendamos que, al menos, actualices el servidor de etiquetado para cada versión principal (p.ej., actualizar de la versión 1.x.x a la 2.x.x) cuando Tag Manager te notifique que debes realizar la actualización.

Para actualizar tu servidor de etiquetado, implementa una revisión nueva con la misma configuración que usaste antes.

  1. Abre Cloud Run.
  2. Selecciona el servicio que quieres actualizar.
  3. Haz clic en Editar e implementar nueva revisión.
  4. Asegúrate de que la URL de la imagen del contenedor esté configurada como gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable y haz clic en Implementar.

Para verificar que la actualización se realizó correctamente, sigue estos pasos:

  1. En el contenedor de servidor, haz clic en el botón Vista previa para iniciar una sesión de depuración nueva y enviar una solicitud en otra pestaña.
  2. En el resumen, selecciona la pestaña Console y asegúrate de que no haya mensajes que te soliciten actualizar el servidor de etiquetado.

Tag Manager puede mostrar mensajes en los que se te solicita que actualices el servidor de etiquetado hasta un día después de que el servidor se actualice correctamente. Sin embargo, la página de vista previa mostrará un mensaje actualizado sobre la versión del servidor de etiquetado.