Cet article s'adresse aux développeurs qui diffusent des scripts Google à partir de leur propre serveur. Nous vous recommandons d'activer le comportement spécifique à la 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 la localisation de vos utilisateurs.
Avant de commencer
Ce guide suppose que vous avez effectué les opérations suivantes:
- Configurer un conteneur de serveur dans Tag Manager
- Configurer un serveur d'insertion de balises
- Configurer la diffusion de scripts first party
Étape 1: Configurez l'en-tête de la requête
Vous devez envoyer des en-têtes de requête spécifiques contenant les informations de 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 les 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 pour chaque million de requêtes, nous vous recommandons de n'inclure des informations géographiques que pour les requêtes destinées à diffuser des scripts Google. Cette option nécessite initialement plus 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:
- Équilibreur de charge GCP ouvert
- 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, choisissez 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 et chemin d'accès d'hôte avancés.
- Mettez à jour le paramètre
pathRules
pour mappergtm.js
,/gtag/js
et/gtag/destination
sur 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
- 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êtes 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} |
É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 pour chaque million de requêtes, nous vous recommandons de n'inclure des informations géographiques que pour les requêtes destinées à diffuser des scripts Google. Cette option nécessite initialement plus 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:
- Équilibreur de charge GCP ouvert
- 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, choisissez 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 et chemin d'accès d'hôte avancés.
- Mettez à jour le paramètre
pathRules
pour mappergtm.js
,/gtag/js
et/gtag/destination
sur 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
- 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êtes 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 alors ajoutés automatiquement, 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 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-Country | {geo_country} |
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 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: Configurez la variable "Région des visiteurs"
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 des visiteurs.
Les en-têtes géographiques sont 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 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. Remplacez les valeurs par les codes pays dans l'en-tête de votre ou vos requêtes HTTP.
Utilisez les variables que vous avez créées dans la variable Région du visiteur, comme indiqué dans la capture d'écran.
Nommez votre variable et enregistrez-la.
Étape 3: Activez les paramètres propres à la région dans votre client
Pour utiliser la région du visiteur pour traiter les requêtes HTTP entrantes, vous devez l'ajouter à votre client.
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
Si vous configurez des clients GA4, cochez la case Chemins gtag.js par défaut pour des ID spécifiques, puis saisissez l'ID de mesure de votre conteneur Web.
Cochez 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 au 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 de serveur.
- Chargez votre site Web tout en utilisant la diffusion propriétaire.
- Dans la fenêtre d'aperçu, cliquez sur le client Google Analytics GA4 réclamé.
- Pour afficher la région réelle, définissez le bouton radio Afficher les variables sur "Valeurs".
- ✅ Votre implémentation est correcte si la propriété Region affiche un code pays.
- ❌ Si la propriété Region 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 en fonction des variables prédéfinies recherchées par Google Tag Manager. Pour en savoir plus, consultez Configurer l'en-tête de la requête.