Habilitar el comportamiento específico por zona en las etiquetas

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:

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:

  1. Abre el balanceador de carga de GCP
  2. En el balanceador de carga, abre la sección Configuración de backend. Crea un servicio de backend.
    Captura de pantalla de los ajustes de configuración del backend
  3. 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.
      Captura de pantalla del nuevo servicio de backend
  4. 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}
  5. Guarda el nuevo servicio de backend.

Para configurar las reglas de enrutamiento:

  1. En tu balanceador de carga, abre la sección Reglas de enrutamiento. Elige el modo Regla de host y ruta avanzada.
  2. Actualiza el parámetro pathRules para asignar gtm.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
    
  3. 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:

  1. Abre el balanceador de carga de GCP
  2. En el balanceador de carga, abre la sección Configuración de backend. Crea un servicio de backend.
    Captura de pantalla de los ajustes de configuración del backend
  3. 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.
      Captura de pantalla del nuevo servicio de backend
  4. 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}
  5. Guarda el nuevo servicio de backend.

Para configurar las reglas de enrutamiento:

  1. En tu balanceador de carga, abre la sección Reglas de enrutamiento. Elige el modo Regla de host y ruta avanzada.
  2. Actualiza el parámetro pathRules para asignar gtm.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
    
  3. 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

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

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

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

  1. Abre Google Tag Manager
  2. Abre tu contenedor de servidor.
  3. En el menú Variables, configura la lista de variables integradas.
  4. 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

  1. Abre Google Tag Manager
  2. Abre tu contenedor de servidor.
  3. En el menú Variables, crea una variable nueva definida por el usuario del tipo Región del visitante.
  4. En Configuración de la variable, selecciona Variable personalizada.
  5. 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.

  6. Utiliza las variables creadas en la variable Región del visitante, tal como se muestra en la captura de pantalla.

    Captura de pantalla de la configuración de la variable

  7. 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.

  1. 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
  2. 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.

  3. 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.

  4. Guarda el cliente.

Paso 4: Verifica que se aplica la configuración de la región

Para comprobar si la configuración funciona:

  1. Abre el modo de vista previa de tu contenedor de servidor.
  2. Carga tu sitio web con la publicación propia.
  3. En la ventana de vista previa, haz clic en el cliente reclamado de Google Analytics GA4 o Universal Analytics. Captura de pantalla del cliente
  4. Para ver la región real, cambia el botón de selección Display Variables (Mostrar variables) a Values (Valores). Captura de pantalla del campo de región del visitante
    • ✅ 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).

Pasos siguientes