Cómo configurar el etiquetado del servidor con App Engine

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

  • Aprovisionar un servidor de etiquetado en Google Cloud Platform (GCP) en App Engine
  • Actualice el 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.

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 la función de creador de cuentas de facturación).
  3. Necesitas el rol de Creador del proyecto y Usuario de la cuenta de facturación. Obtén más información para agregar funciones.

1. Aprovisiona un servidor

Puedes aprovisionar un servicio de App Engine de forma automática en Google Tag Manager o de forma manual en Google Cloud.

Selecciona un método de aprovisionamiento

Configuración inicial del servidor (testing)

La configuración de pruebas es adecuada para explorar el producto mediante el envío de pequeñas cantidades de tráfico de prueba y el uso de la función de vista previa en Tag Manager. Esta configuración es una clase de instancia F1 de App Engine en el entorno estándar y, en la mayoría de los casos, no se generarán costos.

2. Usa App Engine en producción

En la configuración production, cada servidor cuesta alrededor de $40 por mes (USD). Cada servidor es una instancia de App Engine con 1 CPU virtual, 0.5 GB de memoria, 10 GB de disco en el entorno flexible.

Consulta Administra los costos de App Engine para comprender la facturación de App Engine y cómo configurar las alertas de facturación. Te recomendamos que configures una alerta de facturación.

Recomendamos ejecutar un mínimo de 3 servidores para reducir el riesgo de pérdida de datos en caso de una interrupción del servidor. Sin embargo, puedes ejecutar menos (o más) servidores. Esperamos que el ajuste de escala automático de 3 a 6 servidores (el predeterminado) maneje entre 50 y 200 solicitudes por segundo. El rendimiento depende de la cantidad de etiquetas y de sus funciones.

Para configurar su servidor de etiquetado, siga estos pasos:

  1. Abre Cloud Shell en Google Cloud Platform.

  2. Configura el proyecto de Cloud Platform en Cloud Shell. Reemplaza project ID por el ID del proyecto de GCP que anotaste antes:

    gcloud config set project project ID
    
  3. A fin de volver a configurar el servidor de etiquetado para un entorno de producción, ejecuta la secuencia de comandos de configuración que aparece a continuación. Realiza las siguientes tareas:

    1. Cambia el tipo de implementación a production.
    2. Configura servidores adicionales para entregar el tráfico de producción. Recomendamos un mínimo de tres servidores.
    bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
    

Opcional: Inhabilita el registro de solicitudes de App Engine

De forma predeterminada, App Engine registra información sobre cada solicitud que recibe (p. ej., la ruta de la solicitud, los parámetros de consulta, etc.). Si tu 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 solicitud de App Engine.

Para inhabilitar el registro de solicitudes de App Engine, 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. Para el Tipo (Type): Depósito de Cloud Logging, Nombre (Name): _Predeterminado, selecciona el menú ampliado y, luego, haz clic en Editar receptor (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 en el filtro de inclusión existente:

    NOT LOG_ID("appengine.googleapis.com/nginx.request") AND NOT
    LOG_ID("appengine.googleapis.com/request_log")
    
  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 el botón Actualizar receptor, en la parte inferior.

Ahora, las solicitudes de App Engine se excluirán del registro. Consulta el Explorador de registros para asegurarte de que las solicitudes nuevas no aparezcan en los registros.

3. Mapea la implementación a tu dominio personalizado

La implementación predeterminada del etiquetado del servidor se aloja en un dominio de App Engine. Te recomendamos que modifiques la implementación para que use un subdominio de tu sitio web.

Asigne el subdominio de su sitio web a su servidor de etiquetado.

4. Agregue 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 al que deseas apuntar el servidor de etiquetado.

  3. Abre la configuración del 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. Guarde el archivo y vuelva a su lugar de trabajo.

5. Validación

Ahora que ya configuró su servidor de etiquetado, asegúrese de que funcione correctamente. En su lugar de trabajo de Tag Manager, haga clic en el botón Vista previa. Si se carga la página de vista previa, significa que todo está configurado correctamente.

Vista previa de varias URL

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 URL, todas las rutas de acceso (la string después del nombre de dominio) deben coincidir.

Trabajos 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 URL, verás un ícono junto al botón Vista previa que te permitirá seleccionar la URL para la vista previa.

Soluciona problemas de tiempos de espera de implementación de producción

Cuando ejecutas la secuencia de comandos de configuración para crear o reconfigurar el servidor de etiquetado, es posible que se agote el tiempo de espera de la secuencia de comandos. Esto puede suceder por varios motivos. Las dos más comunes son las siguientes:

  1. Las cuentas de servicio tienen permisos incorrectos: las cuentas de servicio de Compute Engine y App Engine son responsables de implementar y mantener la implementación de producción. De forma predeterminada, están preconfigurados con los permisos correspondientes. Sin embargo, en algunos casos, la política de una organización puede provocar que sean incorrectos.

    1. Navega a la página IAM y administración en la barra de navegación de la izquierda en Google Cloud Console.
    2. Busca la cuenta de servicio de Compute Engine <project_number>-compute@developer.gserviceaccount.com y la cuenta de servicio de App Engine <project_name>@appspot.gserviceaccount.com.
    3. Ambas cuentas de servicio deben tener la función Editor. Si alguna de las cuentas no tiene la función Editor, haz clic en el ícono de lápiz a la derecha de la cuenta, haz clic en el menú desplegable de la función existente, desplázate hacia arriba, haz clic en Proyecto y, luego, en Editor para actualizarla.
  2. Cuota insuficiente: la implementación de producción consume la cuota de Compute Engine. Si el proyecto no tiene suficiente cuota, la implementación puede agotar el tiempo de espera mientras intenta aprovisionar recursos.

    1. Navega a la página IAM y administración en la barra de navegación de la izquierda en Google Cloud Console y luego haz clic en la pestaña Cuotas en la barra de navegación de la izquierda.
    2. Cerca de la parte superior de la página, haz clic en el cuadro de texto que dice Tabla de filtros y escribe Compute Engine API. Haz clic en el único resultado.
    3. Verifica que todos los estados de cuota estén dentro del límite o tengan una marca de verificación verde.
    4. Busque las CPU y haga clic en ellas. Verifica que el uso actual más la cantidad de instancias implementadas aún esté por debajo del límite para la región de implementación.