Cet article est destiné aux développeurs qui diffusent des scripts Google depuis leur propre serveur. Nous vous recommandons d'activer le comportement spécifique à une région pour les balises afin de débloquer des fonctionnalités telles que le mode Consentement avancé, et de contrôler le comportement des balises en fonction de l'emplacement de vos utilisateurs.
Si vous diffusez un script depuis un domaine first party, vous devez fournir les informations de géolocalisation de l'utilisateur
dans l'en-tête de requête pour pouvoir utiliser les paramètres event_location.country et
event_location.region. Si elle est disponible dans l'en-tête de requête, l'adresse IP est prioritaire pour déterminer la géolocalisation. Sinon, les paramètres event_location.country et event_location.region sont utilisés pour envoyer respectivement les informations sur le pays et la région.
Avant de commencer
Ce guide suppose que vous avez effectué les opérations suivantes :
- Configurer un conteneur serveur dans Tag Manager
- Configurer un serveur d'insertion de balises
- Configurer la diffusion de scripts first party
Étape 1 : Configurer l'en-tête de la requête
Vous devez envoyer des en-têtes de requête spécifiques contenant les informations sur la région de l'utilisateur, comme décrit dans les sections ci-dessous.
Vous pouvez passer 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 autre que ceux listés ci-dessous. Vous devez configurer des en-têtes personnalisés.
Cloud Run avec GCP Load Balancer
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ête personnalisés entraînera des frais par million de requêtes, nous vous recommandons de n'inclure des informations géographiques que pour les requêtes de diffusion de scripts Google. Cette option nécessite une configuration initiale plus complexe, mais vous permet d'exécuter 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 :
- Ouvrez GCP Load Balancer.
- Dans votre équilibreur de charge, ouvrez la section Configuration du backend. Créez un service de backend.

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

- 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} X-Gclb-Region {client_region_subdivision} - Enregistrez le nouveau service de backend.
Pour configurer des règles de routage :
- Dans votre équilibreur de charge, ouvrez la section Règles de routage. Sélectionnez le mode Règle avancée d'hôte, de chemin d'accès et de routage.
- Mettez à jour le paramètre
pathRulespour mappergtm.js,/gtag/jset/gtag/destinationau 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
- 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. Pour en savoir plus, consultez la documentation Google Cloud. Créez un en-tête de requête personnalisé pour chaque en-tête 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} |
GCP Load Balancer
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ête personnalisés entraînera des frais par million de requêtes, nous vous recommandons de n'inclure des informations géographiques que pour les requêtes de diffusion de scripts Google. Cette option nécessite une configuration initiale plus complexe, mais vous permet d'exécuter 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 :
- Ouvrez GCP Load Balancer.
- Dans votre équilibreur de charge, ouvrez la section Configuration du backend. Créez un service de backend.

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

- 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} X-Gclb-Region {client_region_subdivision} - Enregistrez le nouveau service de backend.
Pour configurer des règles de routage :
- Dans votre équilibreur de charge, ouvrez la section Règles de routage. Sélectionnez le mode Règle avancée d'hôte, de chemin d'accès et de routage.
- Mettez à jour le paramètre
pathRulespour mappergtm.js,/gtag/jset/gtag/destinationau 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
- 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. Pour en savoir plus, consultez la documentation Google Cloud. Créez un en-tête de requête personnalisé pour chaque en-tête 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 seront automatiquement ajoutés avec leurs valeurs :
| Nom de l'en-tête | Valeur de l'en-tête |
|---|---|
| CloudFront-Viewer-Country | Pays de l'utilisateur |
| CloudFront-Viewer-Country-Region | Subdivision de l'utilisateur |
Azure Front Door
À l'aide du moteur de règles, créez un ensemble de règles avec l'action de modification de 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-Country | {geo_country} |
Cloudflare
Activez l'option "Add visitor location headers" (Ajouter des en-têtes de localisation des visiteurs) dans la section des transformations gérées :
L'en-tête suivant sera automatiquement ajouté avec sa valeur :
| Nom de l'en-tête | Valeur de l'en-tête |
|---|---|
| CF-IPCountry | Pays de l'utilisateur |
Étape 2 : Configurer la variable "Région du visiteur"
Si vous avez configuré des 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 la requête HTTP. Vous pouvez également configurer des en-têtes personnalisés.
Détection automatique
- Ouvrez Google Tag Manager.
- Ouvrez votre conteneur serveur.
- Dans le menu Variables, configurez la liste des variables intégrées.
- Sélectionnez Région du visiteur.
Les en-têtes géographiques seront désormais disponibles dans la variable Région du visiteur.
En-têtes personnalisés
- Ouvrez Google Tag Manager.
- Ouvrez votre conteneur serveur.
- Dans le menu Variables, créez une nouvelle variable définie par l'utilisateur de type Région du visiteur.
- Dans la Configuration de la variable, sélectionnez Variable personnalisée.
Dans le menu Variables, créez deux variables En-tête de requête : une pour votre pays et une pour le code de subdivision. Renseignez les valeurs avec les codes pays dans vos en-têtes de requête HTTP.
Utilisez les variables que vous avez créées dans la variable Région du visiteur , comme illustré dans la capture d'écran.
Nommez votre variable et enregistrez-la.
Étape 3 : Activer les paramètres propres à la région dans votre client
Pour utiliser la région du visiteur afin de traiter les requêtes HTTP entrantes, vous devez l'ajouter à votre client.
Sélectionnez le client Google Tag Manager : conteneur Web.
Cochez la case Activer les paramètres propres à la région. Ajoutez la variable {{Région du visiteur}} que vous avez créée à l'étape précédente dans le champ Région.
Enregistrez votre client.
Étape 4 : Vérifier que les paramètres régionaux s'appliquent
Pour vérifier que vos paramètres fonctionnent :
- Ouvrez le mode Aperçu pour votre conteneur serveur.
- Chargez votre site Web en utilisant la diffusion first party.
- Dans la fenêtre d'aperçu, cliquez sur le client Google Analytics GA4 réclamé.
- Pour afficher la région réelle, remplacez le bouton radio Afficher les variables par des valeurs.
- ✅ Votre implémentation est correcte si la propriété Région affiche un code pays.
- ❌ Si la propriété Région affiche
undefinedou 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 conformément aux variables prédéfinies que Google Tag Manager recherche. Pour en savoir plus, consultez Configurer l'en-tête de requête.