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 del servidor de etiquetado después de aprovisionarlo.

Requisitos previos

  1. Necesitas una cuenta de GCP. Si no tienes una, crea una 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 automáticamente en Google Tag Manager o de forma manual en Google Cloud.

Edita la configuración del servicio

Para cambiar la configuración del servicio, sigue estos pasos:

  1. Abre Cloud Run.
  2. Selecciona el servicio que necesitas 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, 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 de CPU siempre asignada.

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 elegir ejecutar menos (o más) servidores. Se espera que el ajuste de escala automática de 2 a 10 servidores controle entre 35 y 350 solicitudes por segundo, aunque el rendimiento variará según la cantidad de etiquetas y lo que estas hagan.

Cloud Run se escalará de forma dinámica con la carga. La configuración de max-instances es la situación más desfavorable en cuanto a cuánto 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 ya 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 crear 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.

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

  1. Reemplaza REGION por la región en la que se implementó el servidor de vista previa. Es posible que ya esté completo 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 esté completado si seguiste las opciones de la línea de comandos para aprovisionar el servidor de vista previa y 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 mientras aprovisionabas 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 la información sobre cada solicitud (p. ej., la ruta de la solicitud, los parámetros de consulta, etc.). Si tu servidor de etiquetado controla 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, te recomendamos inhabilitar el registro de solicitudes.

Para inhabilitar el registro de solicitudes, haz lo siguiente:

  1. En la plataforma de Google Cloud, abre el Enrutador de registros. Asegúrate de que estás en el proyecto que coincide con el ID de tu contenedor:
    Captura de pantalla del selector de proyectos de GCP, que muestra un ID de contenedor de Tag Manager de muestra
  2. En la línea Type: Cloud Logging bucket, Name: _Default, selecciona el menú ampliado y, luego, haz clic en Edit Sink.
  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 al filtro de inclusión existente:

    NOT LOG_ID("run.googleapis.com/requests")
    
  5. Para inhabilitar también 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 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 de 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, que muestra registros de muestra

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

  1. En la plataforma de Google Cloud, abre el Enrutador de registros. Asegúrate de que estás en el proyecto que coincide con el ID de tu contenedor:
    Captura de pantalla del selector de proyectos de GCP, que muestra un ID de contenedor de Tag Manager de muestra
  2. En la línea Type: Cloud Logging bucket, Name: _Default, selecciona el menú ampliado y, luego, haz clic en Edit Sink.
  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 al filtro de inclusión existente:

    NOT textPayload:"Custom message:"
    

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

  5. Actualizar receptor para aplicar los cambios. El mensaje logToConsole que coincida debe excluirse del registro.

  6. Verifica que no aparezcan mensajes de registro de consola nuevos 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. 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 al que deseas dirigir tu servidor de etiquetas.

  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. Guarda y vuelve a tu lugar de trabajo.

4. Validación

Ahora que configuraste tu servidor de etiquetas, 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 de forma correcta.

Cómo obtener una 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 (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 que deseas obtener una vista previa.

Actualiza la versión del servidor de etiquetado

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

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 nueva revisión.
  4. Asegúrate de que la URL de la imagen del contenedor esté configurada 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, sigue estos pasos:

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

Es posible que Tag Manager muestre mensajes en los que se te solicite que actualices tu servidor de etiquetas 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.