Este artículo está dirigido a desarrolladores que sirven secuencias de comandos de Google desde su propio servidor. Te recomendamos que habilites el comportamiento específico por región en las etiquetas para poder utilizar funciones como el modo de consentimiento avanzado y controlar el comportamiento de las etiquetas en función de la ubicación de los usuarios.
Antes de empezar
En esta guía se da por hecho que has llevado a cabo las siguientes acciones:
- Configurar un contenedor de servidor en Tag Manager
- Configurar un servidor de etiquetado
- Configurar la publicación de secuencias de comandos propias
Paso 1: Configura el encabezado de solicitud
Debes enviar encabezados de solicitud específicos que contengan información de la región del usuario, tal como se describe en las secciones siguientes.
Puedes empezar directamente en el paso 2 si:
- Utilizas App Engine. App Engine envía automáticamente encabezados con información geográfica.
- Utilizas un proveedor de infraestructuras distinto de los que se indican a continuación. Debes configurar encabezados personalizados.
Cloud Run con balanceador de carga de GCP
Puedes enviar información de geolocalización con todos los encabezados de solicitud HTTP o solo con solicitudes específicas. Puesto que deberás abonar una tarifa por cada millón de encabezados de solicitud personalizados que añadas, te recomendamos que solo incluyas información geográfica en las solicitudes de publicación de secuencias de comandos de Google. Aunque esta opción requiere una mayor configuración inicial, te permite ejecutar la infraestructura de la forma más económica posible.
Solicitudes de secuencias de comandos
Para incluir los encabezados con información geográfica solo en solicitudes de secuencias de comandos, debes configurar un backend nuevo y crear reglas de enrutamiento.
Para crear un backend:
- Abre el balanceador de carga de GCP
- En el balanceador de carga, abre la sección Configuración de backend. Crea un servicio de backend.
- Configura tu nuevo servicio de backend:
- Tipo de backend: elige el tipo de grupo de endpoints de red que utiliza tu aplicación. Si utilizas Cloud Run, elige Grupo de endpoints de red sin servidor.
- En Nuevo backend, selecciona el grupo de endpoints de red de tu despliegue de Tag Manager del lado del servidor.
- Abre la sección Configuración avanzada. Añade los encabezados de solicitud personalizados.
Nombre de encabezado Valor de encabezado X-Gclb-Country {client_region} X-Gclb-Region {client_region_subdivision} - Guarda el nuevo servicio de backend.
Para configurar las reglas de enrutamiento:
- En tu balanceador de carga, abre la sección Reglas de enrutamiento. Elige el modo Regla de host y ruta avanzada.
- Actualiza el parámetro
pathRules
para asignargtm.js
,/gtag/js
y/gtag/destination
al nuevo servicio de backend.
pathRules: - paths: - /gtm.js - /gtag* service: projects/project_id/global/backendServices/new backend service - paths: - /* service: projects/project_id/global/backendServices/original backend service
- Guarda los cambios.
Todas las solicitudes
Para enviar información de geolocalización con todas las solicitudes HTTP, debes añadir encabezados de solicitud personalizados al servicio de backend. Consulta la documentación de Google Cloud. Crea un encabezado de solicitud personalizado para cada uno de los encabezados siguientes:
Nombre de encabezado | Valor de encabezado |
---|---|
X-Gclb-Country |
{client_region} |
X-Gclb-Country |
{client_region_subdivision} |
Balanceador de carga de GCP
Puedes enviar información de geolocalización con todos los encabezados de solicitud HTTP o solo con solicitudes específicas. Puesto que deberás abonar una tarifa por cada millón de encabezados de solicitud personalizados que añadas, te recomendamos que solo incluyas información geográfica en las solicitudes de publicación de secuencias de comandos de Google. Aunque esta opción requiere una mayor configuración inicial, te permite ejecutar la infraestructura de la forma más económica posible.
Solicitudes de secuencias de comandos
Para incluir los encabezados con información geográfica solo en solicitudes de secuencias de comandos, debes configurar un backend nuevo y crear reglas de enrutamiento.
Para crear un backend:
- Abre el balanceador de carga de GCP
- En el balanceador de carga, abre la sección Configuración de backend. Crea un servicio de backend.
- Configura tu nuevo servicio de backend:
- Tipo de backend: elige el tipo de grupo de endpoints de red que utiliza tu aplicación. Si utilizas Cloud Run, elige Grupo de endpoints de red sin servidor.
- En Nuevo backend, selecciona el grupo de endpoints de red de tu despliegue de Tag Manager del lado del servidor.
- Abre la sección Configuración avanzada. Añade los encabezados de solicitud personalizados.
Nombre de encabezado Valor de encabezado X-Gclb-Country {client_region} X-Gclb-Region {client_region_subdivision} - Guarda el nuevo servicio de backend.
Para configurar las reglas de enrutamiento:
- En tu balanceador de carga, abre la sección Reglas de enrutamiento. Elige el modo Regla de host y ruta avanzada.
- Actualiza el parámetro
pathRules
para asignargtm.js
,/gtag/js
y/gtag/destination
al nuevo servicio de backend.
pathRules: - paths: - /gtm.js - /gtag* service: projects/project_id/global/backendServices/new backend service - paths: - /* service: projects/project_id/global/backendServices/original backend service
- Guarda los cambios.
Todas las solicitudes
Para enviar información de geolocalización con todas las solicitudes HTTP, debes añadir encabezados de solicitud personalizados al servicio de backend. Consulta la documentación de Google Cloud. Crea un encabezado de solicitud personalizado para cada uno de los encabezados siguientes:
Nombre de encabezado | Valor de encabezado |
---|---|
X-Gclb-Country |
{client_region} |
X-Gclb-Country |
{client_region_subdivision} |
Amazon Web Services (AWS) CloudFront
Crea una política de solicitud de origen para añadir los encabezados CloudFront-Viewer-Country
y CloudFront-Viewer-Country-Region
a la solicitud.
Se añadirán automáticamente los siguientes encabezados junto con sus valores:
Nombre de encabezado | Valor de encabezado |
---|---|
CloudFront-Viewer-Country | País del usuario |
CloudFront-Viewer-Country-Region | Subdivisión del usuario |
![Configuración del encabezado en AWS CloudFront](https://developers.google.cn/static/tag-platform/tag-manager/server-side/img/aws-headers.png?authuser=7&hl=es)
Azure Front Door
Con el motor de reglas, crea un conjunto de reglas con la acción de modificar el encabezado de la solicitud y la siguiente asignación:
Nombre de encabezado | Valor de encabezado |
---|---|
X-Azure-Country | {geo_country} |
![Captura de pantalla de la configuración de Azure Front Door](https://developers.google.cn/static/tag-platform/tag-manager/server-side/img/azure-headers.png?authuser=7&hl=es)
Cloudflare
Habilita "Add visitor location headers" (Añadir encabezados de ubicación de visitante) en la sección de transformaciones gestionadas:
Se añadirá automáticamente el encabezado siguiente, junto con su valor:
Nombre de encabezado | Valor de encabezado |
---|---|
CF-IPCountry | País del usuario |
![Captura de pantalla de la configuración de Cloudflare](https://developers.google.cn/static/tag-platform/tag-manager/server-side/img/cloudflare-headers.png?authuser=7&hl=es)
Paso 2: Configura la variable Región del visitante
Si has configurado encabezados con información geográfica tal como se ha indicado anteriormente, Tag Manager detectará automáticamente la región o el país leyendo el encabezado de la solicitud HTTP. También puedes configurar encabezados personalizados.
Detección automática
- Abre Google Tag Manager
- Abre tu contenedor de servidor.
- En el menú Variables, configura la lista de variables integradas.
- Selecciona Región del visitante.
Los encabezados con información geográfica ahora podrán utilizarse en la variable Región del visitante.
Encabezados personalizados
- Abre Google Tag Manager
- Abre tu contenedor de servidor.
- En el menú Variables, crea una variable nueva definida por el usuario del tipo Región del visitante.
- En Configuración de la variable, selecciona Variable personalizada.
En el menú Variables, crea dos variables del tipo Encabezado de solicitud; una para el país y otra para el código de subdivisión. Rellena los valores con los códigos de país de los encabezados de solicitud HTTP.
Utiliza las variables creadas en la variable Región del visitante, tal como se muestra en la captura de pantalla.
Asigna un nombre a la variable y haz clic en Guardar.
Paso 3: Habilita la configuración específica por región en el cliente
Si quieres utilizar la región del visitante para procesar solicitudes HTTP entrantes, debes añadirla a tu cliente.
Selecciona o crea el cliente al que quieras aplicar la configuración de región. Los clientes admitidos son:
- Google Tag Manager: contenedor web
- Google Analytics: GA4
- Google Analytics: Universal Analytics
Si estás configurando clientes de GA4 o UA, marca la casilla Rutas predeterminadas de gtag.js para IDs específicos e introduce el ID de medición de tu contenedor web.
Marca la casilla Habilitar configuración específica por región. Añade la variable {{Visitor Region}} que has creado en el paso anterior al campo Región.
Guarda el cliente.
Paso 4: Verifica que se aplica la configuración de la región
Para comprobar si la configuración funciona:
- Abre el modo de vista previa de tu contenedor de servidor.
- Carga tu sitio web con la publicación propia.
- En la ventana de vista previa, haz clic en el cliente reclamado de Google Analytics GA4 o Universal Analytics.
- Para ver la región real, cambia el botón de selección Display Variables (Mostrar variables) a Values (Valores).
- ✅ Si la propiedad Región muestra un código de país, la implementación es correcta.
- ❌ Si falta la propiedad Región o muestra
undefined
, el servidor no está recibiendo datos de región. Comprueba si los encabezados HTTP del servidor están configurados de acuerdo con las variables predefinidas que busca Google Tag Manager (consulta el paso Configura el encabezado de solicitud).