En esta guía, se explica cómo:
- Aprovisiona un servidor de etiquetado en App Engine de Google Cloud Platform (GCP).
- Actualiza 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.
- Mantén actualizada la versión del servidor de etiquetado después de aprovisionarlo.
Requisitos previos
- Necesitas una cuenta de GCP. Si no tienes una, crea una cuenta de GCP.
- 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).
- Necesitas los roles de Creador del proyecto y Usuario de la cuenta de facturación. Obtén más información para agregar roles.
1. Aprovisionar un servidor
Para crear un nuevo servidor de etiquetado en una instancia de App Engine, debes hacer lo siguiente:
- Crea un nuevo contenedor de servidor en Tag Manager
- Crea un proyecto de Google Cloud (GCP) nuevo
- Aprovisiona un nuevo servidor de etiquetado de App Engine
- Agrega la URL del nuevo servidor de etiquetado al contenedor del servidor de Tag Manager
Crea un contenedor de servidor de Google Tag Manager
Abre Google Tag Manager.
En la fila de la cuenta, haz clic en el menú ampliado > Crear contenedor.
Crea un nuevo contenedor de servidor.
Haz clic en el botón de selección "Aprovisionar manualmente el servidor de etiquetado". Anota la configuración del contenedor. La necesitarás para aprovisionar tu servidor.
Crea un nuevo proyecto de GCP
Para crear un nuevo proyecto de GCP para tu servidor de etiquetado, sigue estos pasos:
Abre la consola de Google Cloud.
Ponle un nombre al proyecto. Te recomendamos que uses el ID de tu contenedor para mayor comodidad. Este nombre solo se usa dentro de GCP.
Anota el ID del proyecto de GCP, ya que lo necesitarás para crear tu servidor de etiquetado.
Aprovisiona un nuevo servidor de etiquetado
Para crear tu servidor de etiquetado, sigue estos pasos:
Abre Cloud Shell.
Configura el proyecto de GCP en Cloud Shell. Reemplaza
project ID
por el ID del proyecto de GCP que anotaste antes:gcloud config set project project ID
Sigue la secuencia de comandos de shell para crear tu servidor de etiquetado. Establece el tipo de implementación en
testing
.bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
Agrega la URL del servidor de etiquetado a Tag Manager
Abre Google Tag Manager.
En Administrador > Configuración del contenedor, haz clic en Agregar URL. Si no conoces la URL de tu servidor, ejecuta el siguiente comando en Cloud Shell:
gcloud app browse
Resultado: Configuraste un servidor de etiquetado y lo aprovisionaste con una configuración de
testing
. Ahora puedes probar el etiquetado del servidor.
Configuración inicial del servidor (testing
)
La configuración de prueba es adecuada para explorar el producto, ya que envía pequeñas cantidades de tráfico de prueba y usa 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 generará ningún costo.
2. Usa App Engine en producción
En la configuración de production
, cada servidor cuesta alrededor de $40 al mes (USD). Cada servidor es una instancia de App Engine con 1 CPU virtual, 0.5 GB de memoria y 10 GB de disco en el entorno flexible.
Consulta Cómo administrar los costos de App Engine para comprender la facturación de App Engine y cómo configurar alertas de facturación. Te recomendamos configurar una alerta de facturación.
Configuración de producción recomendada
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 elegir ejecutar menos (o más) servidores. Se espera que el ajuste de escala automática de 3 a 6 servidores (la configuración predeterminada) controle entre 50 y 200 solicitudes por segundo. El rendimiento depende de la cantidad de etiquetas y de lo que hacen.
Para configurar tu servidor de etiquetado, sigue estos pasos:
- Abre Cloud Shell en Google Cloud Platform.
- 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
- Si quieres 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:
bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
- Cambia el tipo de implementación a
production
. - Configura servidores adicionales para entregar tráfico de producción. Recomendamos un mínimo de tres servidores.
- Cambia el tipo de implementación a
Opcional: Inhabilita el registro
Registro de solicitudes
De forma predeterminada, App Engine registra información sobre cada solicitud (p. ej., ruta de la solicitud, parámetros de consulta, etc.) que recibe. 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 que inhabilites el registro de solicitudes de App Engine.
Para inhabilitar el registro de solicitudes de App Engine, haz lo siguiente:
- 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:
- En la línea Type: Cloud Logging bucket, Name: _Default, selecciona el menú ampliado y, luego, haz clic en Edit Sink.
- En Destino del receptor, selecciona el bucket de registros _Default.
En Elige registros para incluirlos en el receptor, agrega una línea nueva. Ingresa la siguiente regla para el filtro de inclusión existente:
NOT LOG_ID("appengine.googleapis.com/nginx.request") AND NOT LOG_ID("appengine.googleapis.com/request_log")
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")
Actualiza el receptor para aplicar los cambios. Ahora las solicitudes de App Engine se excluirán del registro.
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:
- En GCP, abre el Explorador de registros.
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
:
Para inhabilitar el mensaje de registro de la consola, haz lo siguiente:
- En Google Cloud Platform, abre el
Enrutador de registros. Asegúrate de que estás en el proyecto que coincide con el ID de tu contenedor:
- En la línea Type: Cloud Logging bucket, Name: _Default, selecciona el menú ampliado y, luego, haz clic en Edit Sink.
- En Destino del receptor, selecciona el bucket de registros _Default.
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:"
Para los registros de la consola, reemplaza el texto Custom message: por una substring del registro de la consola que deseas inhabilitar. Para obtener filtros más elaborados, usa el lenguaje de consulta de Logging.
Actualiza el receptor para aplicar los cambios. El mensaje
logToConsole
que coincida debe excluirse del registro.Verifica que no aparezcan mensajes de registro de consola nuevos en el Explorador de registros.
3. Asigna 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.
Asigna el subdominio de tu sitio web a tu servidor de etiquetas.
4. 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.
Abre Google Tag Manager.
Haz clic en el contenedor de servidor al que deseas dirigir tu servidor de etiquetas.
Abre la configuración del contenedor de servidor en la pestaña Administrador > Configuración del contenedor.
Haz clic en Agregar URL y pega la URL de tu servidor.
Guarda y vuelve a tu lugar de trabajo.
5. Validación
Ahora que ya configuraste el 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 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, vuelve a ejecutar la secuencia de comandos de configuración con los mismos parámetros que usaste anteriormente. La configuración existente se establece de forma predeterminada.
Para actualizar tu servidor de etiquetado, sigue estos pasos:
- Abre Cloud Shell en Google Cloud Platform.
- 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
- Ejecuta la secuencia de comandos de configuración con la misma configuración que usaste anteriormente. La configuración existente se establece de forma predeterminada.
bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
Para verificar que la actualización se haya realizado correctamente, sigue estos pasos:
- 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.
- 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.
Soluciona problemas de tiempos de espera de implementación de producción
Cuando ejecutas la secuencia de comandos de configuración para crear o volver a configurar el servidor de etiquetado, es posible que se agote el tiempo de espera de la secuencia de comandos. Hay varias razones por las que esto podría suceder. Los dos más comunes son los siguientes:
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 adecuados. Sin embargo, en algunos casos, la política de una organización puede hacer que sean incorrectos.
- Navega a la página IAM y administración en la barra de navegación de la izquierda en la consola de Google Cloud.
- 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
. - Ambas cuentas de servicio deben tener el rol
Editor
. Si alguna de las cuentas no tiene la funciónEditor
, para actualizarla, 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 hasta la parte superior y haz clic en Proyecto y, luego, en Editor.
Cuota insuficiente: La implementación de producción consume la cuota de Compute Engine. Si el proyecto no tiene una cuota suficiente, es posible que la implementación se agote mientras intenta aprovisionar recursos.
- Navega a la página IAM y administración en la barra de navegación de la izquierda de la consola de Google Cloud y, luego, haz clic en la pestaña Cuotas en la barra de navegación de la izquierda.
- Cerca de la parte superior de la página, haz clic en el cuadro de texto que dice Filtrar tabla y escribe
Compute Engine API
. Haz clic en el único resultado. - Verifica que todos los estados de cuota estén dentro del límite o tengan una marca de verificación verde.
- Busca CPUs y haz clic en ella. Verifica que el uso actual más la cantidad de instancias que se implementarán sigan estando por debajo del límite de la región de implementación.