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.
  • Aprovisiona un servidor de etiquetado para controlar 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 de tu servidor de etiquetado después de aprovisionarlo.

Requisitos previos

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

Aprovisiona un servidor de vista previa y etiquetado

Puedes aprovisionar un servicio de Cloud Run de forma automática 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 necesitas ajustar.
  3. Haz clic en Editar e implementar una nueva revisión.
  4. Realiza los cambios y haz clic en Implementar.

Costo de Cloud Run

En esta configuración de Cloud Run, cada servidor cuesta aproximadamente USD 45 por mes. Cada servidor es una instancia de Cloud Run con 1 CPU virtual y 0.5 GB de memoria que usa el modelo de precios con CPU siempre asignada.

Te recomendamos que ejecutes 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 procese de 35 a 350 solicitudes por segundo, aunque el rendimiento variará según la cantidad de etiquetas y lo que hagan esas etiquetas.

Cloud Run se ajustará dinámicamente según la carga. El parámetro de configuración max-instances es el peor caso posible en cuanto a la cantidad que deberás pagar por los recursos. Cloud Run no aprovisionará tantas instancias a menos que sea necesario.

Estimación de costos de Cloud Run

Para estimar el costo mensual de ejecutar tus servidores de etiquetado, usa la calculadora de precios de Google Cloud. La calculadora se abre con una estimación preconfigurada para una implementación predeterminada del etiquetado del servidor. Puedes ajustar la configuración para obtener una estimación más precisa según el tráfico esperado.

Opcional: Migra desde App Engine

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

Opcional: Implementación multirregional

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

Antes de comenzar:

  1. Crea un balanceador de cargas
  2. Anota el BACKEND_NAME que elegiste.

Sigue estos pasos para agregar más regiones a tu implementación:

  1. Reemplaza REGION por la región en la que se implementó el servidor de vista previa. Es posible que ya se haya completado si seguiste las opciones de línea de comandos para aprovisionar el servidor de vista previa y etiquetado.
  2. Reemplaza CONTAINER_CONFIG por la cadena de configuración del contenedor de Tag Manager. Es posible que ya se haya completado si seguiste las opciones de línea de comandos para aprovisionar el servidor de vista previa y etiquetado.
  3. Reemplaza NEW_REGION por la nueva región en la que deseas implementar 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

Opcional: Inhabilita el registro

Registro de solicitudes

De forma predeterminada, se registra información sobre cada solicitud (p.ej., ruta de acceso a la solicitud, parámetros de búsqueda, etcétera). Si tu servidor de etiquetado controla una gran cantidad de solicitudes por mes (p.ej., más de 1 millón), es posible que esos mensajes de registro generen cargos de registro significativos. Para reducir o eliminar los cargos de registro, te recomendamos inhabilitar el registro de solicitudes.

Para inhabilitar el registro de solicitudes, haz lo siguiente:

  1. En Google Cloud, abre el Enrutador de registros. Asegúrate de estar en el proyecto que coincide con el ID de tu contenedor:
    Captura de pantalla del selector de proyectos de GCP, en la que se muestra un ID de contenedor de Tag Manager de ejemplo.
  2. En la línea Tipo: Bucket de Cloud Logging, Nombre: _Default, selecciona el menú de desbordamiento y, luego, haz clic en Editar receptor.
  3. En Destino del receptor, selecciona el bucket de registros _Default.
  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 también el registro del 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. Haz clic en Actualizar 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 en la consola

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

Identifica los registros de la consola no deseados:

  1. En GCP, abre el Explorador de registros.
  2. Busca mensajes de registro no deseados que provengan de 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, en la que se muestran registros de muestra.

Para inhabilitar el mensaje de registro de la consola, haz lo siguiente:

  1. En Google Cloud, abre el Enrutador de registros. Asegúrate de estar en el proyecto que coincide con el ID de tu contenedor:
    Captura de pantalla del selector de proyectos de GCP, en la que se muestra un ID de contenedor de Tag Manager de ejemplo.
  2. En la línea Tipo: Bucket de Cloud Logging, Nombre: _Default, selecciona el menú de desbordamiento y, luego, haz clic en Editar receptor.
  3. En Destino del receptor, selecciona el bucket de registros _Default.
  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:"
    

    En tus registros de la consola, reemplaza el texto Custom message: por una subcadena del registro de la consola que desees inhabilitar. Para obtener filtros más elaborados, utiliza el lenguaje de consulta de Logging.

  5. Haz clic en Actualizar receptor para aplicar los cambios. El mensaje logToConsole coincidente se debe excluir del registro.

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

2. Asigna la implementación a tu dominio personalizado

Configura un dominio personalizado para usar un dominio que no sea la dirección predeterminada que proporciona Cloud Run.

3. Agrega 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 de servidor que deseas que apunte a tu servidor de etiquetado.

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

  4. Haz clic en Agregar URL y pega la URL del servidor.

  5. Guarda y vuelve a tu espacio de trabajo.

4. Validación

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

Obtén vistas previas 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 (la cadena después del nombre de dominio) deben coincidir.

Funciona 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 Vista previa que te permitirá seleccionar la URL para 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 actualices tu servidor de etiquetado al menos 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 anteriormente.

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

Para verificar que la actualización se haya realizado correctamente, haz lo siguiente:

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

Es posible que Tag Manager muestre mensajes en los que se te solicite que actualices tu servidor de etiquetado hasta un día después de que se haya actualizado correctamente. Sin embargo, la página de vista previa mostrará un mensaje actualizado sobre la versión del servidor de etiquetado.