Activer un comportement propre à la région pour les tags

Cet article s'adresse aux développeurs qui diffusent des scripts Google depuis leur propre serveur. Nous vous recommandons d'activer le comportement spécifique à la région pour les balises afin de déverrouiller des fonctionnalités telles que le mode Consentement avancé et de contrôler leur comportement en fonction de l'endroit où se trouvent vos utilisateurs.

Avant de commencer

Ce guide suppose que vous avez effectué les opérations suivantes:

Étape 1: Configurez l'en-tête de requête

Vous devez envoyer des en-têtes de requêtes spécifiques contenant les informations sur la région de l'utilisateur, comme décrit dans les sections ci-dessous.

Vous pouvez commencer directement à l'étape 2 si:

  • Vous utilisez App Engine. App Engine envoie automatiquement des en-têtes géographiques.
  • Vous utilisez un fournisseur d'infrastructure différent de ceux listés ci-dessous. Vous devez configurer des en-têtes personnalisés.

Cloud Run avec l'équilibreur de charge GCP

Vous pouvez envoyer des informations de géolocalisation avec tous les en-têtes de requête HTTP ou pour des requêtes spécifiques. Étant donné que l'ajout d'en-têtes de requêtes personnalisés entraîne des frais par million de requêtes, nous vous recommandons de n'inclure que des informations géographiques pour les requêtes de diffusion de scripts Google. Dans un premier temps, cette option nécessite davantage de configuration, mais elle vous aide à gérer votre infrastructure de la manière la plus économique possible.

Requêtes de script

Pour n'inclure les en-têtes géographiques que pour les requêtes de script, vous devez configurer un nouveau backend et créer des règles de routage.

Pour créer un backend:

  1. Ouvrir l'équilibreur de charge GCP
  2. Dans votre équilibreur de charge, ouvrez la section Configuration du backend. Créez un service de backend.
    Capture d'écran des paramètres de configuration du backend
  3. Configurez votre nouveau service de backend:
    • Type de backend: choisissez le type de groupe de points de terminaison du réseau utilisé par votre application. Si vous utilisez Cloud Run, sélectionnez Groupe de points de terminaison du réseau sans serveur.
    • Dans Nouveau backend, sélectionnez le groupe de points de terminaison du réseau de votre déploiement Tag Manager côté serveur.
      Capture d'écran du nouveau service de backend
  4. Ouvrez la section Configurations avancées. Ajoutez les en-têtes de requête personnalisés.
    Nom de l'en-tête Valeur de l'en-tête
    X-Gclb-Country {client_region}
    Région X-Gclb {client_region_subdivision}
  5. Enregistrez le nouveau service de backend.

Pour configurer les règles de routage:

  1. Dans votre équilibreur de charge, ouvrez la section Règles de routage. Sélectionnez le mode Chemin d'accès à l'hôte et règle avancés.
  2. Mettez à jour le paramètre pathRules pour mapper gtm.js, /gtag/js et /gtag/destination avec le nouveau service 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. Enregistrez les modifications.

Toutes les demandes

Pour envoyer des informations de géolocalisation avec toutes les requêtes HTTP, vous devez ajouter des en-têtes de requête personnalisés au service de backend existant. Consultez la documentation de Google Cloud. Créez un nouvel en-tête de requête personnalisé pour chacun des en-têtes ci-dessous:

Nom de l'en-tête Valeur de l'en-tête
X-Gclb-Country {client_region}
X-Gclb-Country {client_region_subdivision}

Équilibreur de charge GCP

Vous pouvez envoyer des informations de géolocalisation avec tous les en-têtes de requête HTTP ou pour des requêtes spécifiques. Étant donné que l'ajout d'en-têtes de requêtes personnalisés entraîne des frais par million de requêtes, nous vous recommandons de n'inclure que des informations géographiques pour les requêtes de diffusion de scripts Google. Dans un premier temps, cette option nécessite davantage de configuration, mais elle vous aide à gérer votre infrastructure de la manière la plus économique possible.

Requêtes de script

Pour n'inclure les en-têtes géographiques que pour les requêtes de script, vous devez configurer un nouveau backend et créer des règles de routage.

Pour créer un backend:

  1. Ouvrir l'équilibreur de charge GCP
  2. Dans votre équilibreur de charge, ouvrez la section Configuration du backend. Créez un service de backend.
    Capture d'écran des paramètres de configuration du backend
  3. Configurez votre nouveau service de backend:
    • Type de backend: choisissez le type de groupe de points de terminaison du réseau utilisé par votre application. Si vous utilisez Cloud Run, sélectionnez Groupe de points de terminaison du réseau sans serveur.
    • Dans Nouveau backend, sélectionnez le groupe de points de terminaison du réseau de votre déploiement Tag Manager côté serveur.
      Capture d'écran du nouveau service de backend
  4. Ouvrez la section Configurations avancées. Ajoutez les en-têtes de requête personnalisés.
    Nom de l'en-tête Valeur de l'en-tête
    X-Gclb-Country {client_region}
    Région X-Gclb {client_region_subdivision}
  5. Enregistrez le nouveau service de backend.

Pour configurer les règles de routage:

  1. Dans votre équilibreur de charge, ouvrez la section Règles de routage. Sélectionnez le mode Chemin d'accès à l'hôte et règle avancés.
  2. Mettez à jour le paramètre pathRules pour mapper gtm.js, /gtag/js et /gtag/destination avec le nouveau service 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. Enregistrez les modifications.

Toutes les demandes

Pour envoyer des informations de géolocalisation avec toutes les requêtes HTTP, vous devez ajouter des en-têtes de requête personnalisés au service de backend existant. Consultez la documentation de Google Cloud. Créez un nouvel en-tête de requête personnalisé pour chacun des en-têtes ci-dessous:

Nom de l'en-tête Valeur de l'en-tête
X-Gclb-Country {client_region}
X-Gclb-Country {client_region_subdivision}

Amazon Web Services (AWS) CloudFront

Créez une règle de requête d'origine pour ajouter les en-têtes CloudFront-Viewer-Country et CloudFront-Viewer-Country-Region à la requête.

Les en-têtes suivants sont automatiquement ajoutés, ainsi que leurs valeurs:

Nom de l'en-tête Valeur de l'en-tête
Lecteur CloudFront : Pays Le pays de l'utilisateur
CloudFront-Viewer-Country-Region Subdivision de l'utilisateur
Paramètres d'en-tête dans AWS CloudFront

Azure Front Door

À l'aide du moteur de règles, créez un ensemble de règles avec l'action modify request header (modifier l'en-tête de requête) avec le mappage suivant:

Nom de l'en-tête Valeur de l'en-tête
X-Azure-Pays {geo_country}
Capture d'écran de la configuration d'Azure Front Door

Cloudflare

Activez l'option "Ajouter des en-têtes de localisation des visiteurs" dans la section Transformations gérées:

L'en-tête suivant est automatiquement ajouté avec sa valeur:

Nom de l'en-tête Valeur de l'en-tête
CF-IPCountry Le pays de l'utilisateur
Capture d'écran de la configuration de cloudflare

Étape 2: Configurez la variable "Région du visiteur"

Si vous avez configuré les en-têtes géographiques comme indiqué ci-dessus, Tag Manager détecte automatiquement la région ou le pays en lisant l'en-tête de requête HTTP. Vous pouvez également configurer des en-têtes personnalisés.

Détection automatique

  1. Ouvrir Google Tag Manager
  2. Ouvrez votre conteneur serveur.
  3. Dans le menu Variables, Configurer la liste des variables intégrées.
  4. Sélectionnez Région du visiteur.

Vous pouvez désormais utiliser les en-têtes géographiques dans la variable Région du visiteur.

En-têtes personnalisés

  1. Ouvrir Google Tag Manager
  2. Ouvrez votre conteneur serveur.
  3. Dans le menu Variables, créez une variable définie par l'utilisateur Nouveau de type Région du visiteur.
  4. Dans Configuration de la variable, sélectionnez Variable personnalisée.
  5. Dans le menu Variables, créez deux variables En-tête de demande: une pour votre pays et une pour le code de subdivision. Indiquez les codes pays dans les en-têtes de requête HTTP.

  6. Utilisez les variables que vous avez créées dans la variable Visitor Region (Région du visiteur), comme illustré dans la capture d'écran.

    Capture d'écran des paramètres de la variable

  7. Attribuez un nom à votre variable, puis cliquez sur Enregistrer.

Étape 3: Activez les paramètres régionaux dans votre client

Pour utiliser la région du visiteur pour le traitement des requêtes HTTP entrantes, vous devez l'ajouter à votre client.

  1. Sélectionnez le client ou créez-en un auquel vous souhaitez appliquer le paramètre de région. Les clients compatibles sont les suivants:

    • Google Tag Manager: conteneur Web
    • Google Analytics : GA4
    • Google Analytics : Universal Analytics
  2. Si vous configurez des clients GA4 ou UA, cochez la case Chemins gtag.js par défaut pour des ID spécifiques, puis saisissez l'ID de mesure de votre conteneur Web.

  3. Cochez la case Activer les paramètres régionaux. Dans le champ Région, ajoutez la variable {{Région du visiteur}} que vous avez créée à l'étape précédente.

  4. Enregistrez votre client.

Étape 4: Vérifiez que les paramètres régionaux s'appliquent

Pour vérifier si vos paramètres fonctionnent:

  1. Ouvrez le mode Aperçu de votre conteneur serveur.
  2. Chargez votre site Web tout en utilisant la diffusion propriétaire.
  3. Dans la fenêtre d'aperçu, cliquez sur le client Google Analytics GA4 ou Universal Analytics revendiqué. Capture d'écran du client
  4. Pour voir la région réelle, remplacez la case d'option Display Variables (Variables d'affichage) par des valeurs. Capture d'écran du champ "Région du visiteur"
    • ✅ Votre implémentation est correcte si la propriété Region affiche un code pays.
    • ❌ Si la propriété Région affiche undefined ou est manquante, votre serveur ne reçoit aucune donnée de région. Vérifiez si les en-têtes HTTP du serveur sont configurés selon les variables prédéfinies recherchées par Google Tag Manager. Consultez Configurer l'en-tête de requête.

Étapes suivantes