Este artículo va dirigido a desarrolladores que quieran alojar etiquetado del lado del servidor en el mismo contexto propio que su sitio web. El servicio en el mismo origen es una práctica recomendada que te permite aprovechar las ventajas de seguridad y durabilidad de las cookies del servidor. Las instrucciones que se incluyen a continuación se aplican a la configuración del servicio en el mismo origen independientemente de la etiqueta de Google que tengas desplegada en tu sitio (gtag.js o gtm.js).
Al configurar un servidor de etiquetado por primera vez, se aloja en un dominio proporcionado por el proveedor de servicios en la nube. Si usas el endpoint predeterminado, este envía datos al contenedor de servidor, pero se ejecuta en un contexto externo. Para aprovechar las ventajas del contexto propio, como cookies más duraderas, tu servidor de etiquetado y tu sitio web deben ejecutarse en el mismo dominio.
En la siguiente tabla se muestra cómo alojar un servidor de etiquetado cuando el sitio web está alojado en www.example.com
:
Mismo origen (práctica recomendada) | Subdominio | Dominio predeterminado | |
---|---|---|---|
URL de ejemplo | https:/ |
https:/ |
https:/ |
Acceso a cookies definidas por el servidor | Acceso completo a ventajas de seguridad y durabilidad. | Acceso completo a ventajas de seguridad y durabilidad. | No. Solo se pueden definir cookies de JavaScript. |
Dificultad de la configuración | Debes configurar una CDN o un balanceador de carga para redirigir solicitudes. Podrías tener que actualizar las entradas de DNS. | Debes actualizar las entradas de DNS. | Viene preconfigurado. |
Elige la implementación que quieras para empezar.
Requisitos
En esta guía se presupone que tienes:
- Un contenedor de servidor configurado en Tag Manager.
- Un servidor de etiquetado configurado.
- Una CDN o un balanceador de carga para redirigir solicitudes.
- Si usas App Engine, el servidor de etiquetado debe ejecutarse en la versión 2.2.0 o una posterior. Para que tu servidor de etiquetado siga funcionando, mígralo a Cloud Run.
Configurar el dominio personalizado
Puedes configurar tu contenedor de servidor para que se ejecute en una ruta del mismo dominio que tu sitio web. Por ejemplo, si tu sitio web sirve tráfico en www.example.com
, reserva una ruta como www.example.com/metrics
para tu contenedor de servidor.
1. Elige una ruta de tu dominio para el servidor de etiquetado
Esta ruta se reservará para esta implementación de servicio propio. Asegúrate de que sea una ruta que no esté en uso.
Ejemplos de rutas que puedes incluir: /collect
, /metrics
o /data
Anota la cadena de esta ruta, ya que la usarás en los siguientes pasos en lugar de /metrics
cada vez que veas /metrics
.
2. Dirige el tráfico al servidor de etiquetado
Si tu sitio web ya está configurado con una CDN o un balanceador de carga que permita dirigir el tráfico por rutas, ve directamente al paso 4.
- Añade un origen o backend que dirija a tu sitio web.
- Anula el encabezado Host y sustitúyelo por el nombre de host del sitio web, como
example.com
. - Permite que se redirijan todas las cookies y cadenas de consulta. Si la plataforma no tiene esta opción, probablemente lo haga de forma predeterminada.
- Añade otro origen o backend que dirija al servidor de etiquetado. Puede ser el dominio proporcionado por el proveedor de servicios en la nube, como
metrics.run.app
. - Anula el encabezado Host y sustitúyelo por el dominio especificado anteriormente. Permite que se redirijan todas las cookies y cadenas de consulta.
- Añade una regla de ruta, como
/metrics/*
, para dirigir el tráfico al servidor de etiquetado. - Configura la ruta de etiquetado del lado del servidor reservada para que tenga más prioridad que la regla predeterminada.
- Actualiza tu DNS para que dirija a la CDN o al balanceador de carga si no lo has hecho ya. Los cambios en el DNS pueden tardar un tiempo en propagarse.
- Accede al endpoint
/healthy
del dominio que acabas de configurar, comohttps://example.com/metrics/healthy
. Deberías ver lo siguiente:ok
.
3. Actualiza la URL del servidor en Google Tag Manager
Debes actualizar la configuración de tu contenedor de servidor para que pueda identificar el prefijo de ruta y procesar las solicitudes correctamente.
Para actualizarlo al nuevo endpoint, sigue estos pasos:
- Abre Google Tag Manager.
- Abre el contenedor de servidor que está configurado en el mismo origen que el sitio web.
- En la pestaña Administrar > Configuración del contenedor, quita todas las URLs que tuvieras. Este paso es necesario porque todas las URLs del contenedor de servidor deben tener la misma ruta.
- Haz clic en Añadir URL e introduce la URL con el prefijo de ruta.
- Haz clic en Guardar y vuelve a tu espacio de trabajo.
- Haz clic en el botón Vista previa para iniciar una nueva sesión de depuración y enviar una solicitud en otra pestaña.
- Haz clic en la solicitud que se ha enviado. Asegúrate de que el cliente haya reclamado la solicitud entrante.
Solucionar problemas habituales
- La vista previa no muestra las solicitudes entrantes
- Accede a Explorador de registros en tu proyecto en la nube. Verifica que el despliegue del etiquetado del lado del servidor está recibiendo tráfico. Si no es así, sigue las instrucciones del paso 1.
- Confirma que la CDN o el balanceador de carga están redirigiendo cookies.
- Comprueba que tienes un único servidor de vista previa y que en los servidores de etiquetado se ha definido
PREVIEW_SERVER_URL
. - Confirma que el servidor de vista previa se está ejecutando. Para ello, accede a
PREVIEW_SERVER_URL
+/healthy
. Deberías ver lo siguiente:ok
.
- Los clientes no reclaman las solicitudes Actualiza la URL en la configuración del contenedor para usar la ruta reservada. Si la URL no contiene la ruta o si son diferentes, los clientes no funcionarán correctamente.