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:
- Configurer un conteneur serveur dans Tag Manager
- Configurer un serveur de taggage
- Configurer la diffusion de scripts propriétaires
É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:
- Ouvrir l'équilibreur de charge GCP
- 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} Région X-Gclb {client_region_subdivision} - Enregistrez le nouveau service de backend.
Pour configurer les règles de routage:
- 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.
- Mettez à jour le paramètre
pathRules
pour mappergtm.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
- 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:
- Ouvrir l'équilibreur de charge GCP
- 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} Région X-Gclb {client_region_subdivision} - Enregistrez le nouveau service de backend.
Pour configurer les règles de routage:
- 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.
- Mettez à jour le paramètre
pathRules
pour mappergtm.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
- 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 |
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} |
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 |
É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
- Ouvrir Google Tag Manager
- Ouvrez votre conteneur serveur.
- Dans le menu Variables, Configurer la liste des variables intégrées.
- 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
- Ouvrir Google Tag Manager
- Ouvrez votre conteneur serveur.
- Dans le menu Variables, créez une variable définie par l'utilisateur Nouveau 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 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.
Utilisez les variables que vous avez créées dans la variable Visitor Region (Région du visiteur), comme illustré dans la capture d'écran.
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.
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
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.
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.
Enregistrez votre client.
Étape 4: Vérifiez que les paramètres régionaux s'appliquent
Pour vérifier si vos paramètres fonctionnent:
- Ouvrez le mode Aperçu de votre conteneur 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 ou Universal Analytics revendiqué.
- Pour voir la région réelle, remplacez la case d'option Display Variables (Variables d'affichage) par des valeurs.
- ✅ 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.