Lorsque vous créez un conteneur de serveur dans Google Tag Manager, GTM crée pour vous un déploiement App Engine dans Google Cloud Platform.
App Engine est un plate-forme sans serveur géréece qui signifie essentiellement qu’il s’agit d’un (ensemble de) machines virtuelles fonctionnant dans le cloud, avec quelques cloches et sifflets supplémentaires ajoutés pour faciliter la gestion.
Une chose potentiellement utile que fait App Engine est de décorer toutes les requêtes HTTP entrantes avec des en-têtes HTTP qui peuvent être utilisés dans l’application. Ces en-têtes incluent géolocalisation en-têtes, basés sur l’adresse IP de la machine qui a envoyé les hits.
Comme toujours pour la géolocalisation, la précision varie énormément, mais App Engine fera de son mieux pour déterminer le pays, la ville, la région et la latitude/longitude de la ville où l’adresse IP a été géolocalisée.
Dans cet article, je vais vous montrer comment récupérer ces valeurs d’en-tête et les transmettre aux balises déclenchées dans le conteneur Server.
Cet article a été inspiré et influencé par des discussions avec les ingénieurs et développeurs de Google travaillant sur le balisage côté serveur, Adam Halbardier en particulier.
X
La newsletter Mijoter
Abonnez-vous à la newsletter Simmer pour recevoir les dernières nouvelles et le contenu de Simo Ahava dans votre boîte de réception !
L’initiative d’écrire cet article est venue alors que je travaillais avec ip_override
et user_agent
remplace dans un autre article. Comme il s’avère, Application + Web ne prend actuellement pas en charge le remplacement de l’adresse IP d’un utilisateur dans la requête sortante vers les serveurs Google, ce qui signifie qu’Application + Web considère toutes les requêtes comme provenant de votre conteneur de serveur. C’est bon pour la vie privée mais mauvais pour la géolocalisation.
Heureusement, vous pouvez utiliser ces en-têtes de requête pour analyser ce qu’App Engine a déterminé comme étant l’emplacement géographique (jusqu’à la précision des ville) de la requête entrante :
-
X-Appengine-Country
– Code pays ISO 3166-1 alpha-2, tel queFI
pour la Finlande etUS
pour les États-Unis. -
X-Appengine-Region
– Code région ISO 3166-2 dont la valeur et l’encodage dépendent du pays. Par exemple, ma région est Uusimaaet le code de région est18
. Une demande de Californie apparaîtrait avec le code de régionca
. -
X-Appengine-City
– Nom de la ville (si disponible) d’où provient la demande. Il n’y a pas de liste canonique ou standardisée de valeurs ici. -
X-Appengine-Citylatlong
– Latitude et longitude séparées par des virgules de la ville d’où provient la demande. Pour Espoo (ma ville), cela ressemblerait à ceci :60.204813,24.652052
.
Pour les saisir, vous devez créer de nouveaux Variables définies par l’utilisateur dans le conteneur Serveur, où chaque variable est de type En-tête de demande, et définissez la valeur de l’un de ces en-têtes. Ainsi:
Vous pouvez ensuite les ajouter à vos balises en tant que champs remplacés. Voici un exemple où j’améliore ma balise Application + Web côté serveur.
Et voici à quoi cela ressemble dans App + Web.
Vous pouvez également ajouter des informations de géolocalisation à vos balises Universal Analytics en utilisant le
&geoId
Paramètre de protocole de mesure. De cette façon, vous pouvez géolocaliser l’utilisateur sans que Google collecte l’adresse IP. Cependant, vous devrez mapper les données de géolocalisation fournies par App Engine sur le ID de critère paramètre utilisé par Google Analytics, ce qui est un peu une corvée sans une variable Lookup Table.
Quoi qu’il en soit, je ne doute pas qu’un remplacement IP approprié sera bientôt introduit dans les balises App + Web, mais vous pouvez continuer à envoyer ces informations sous forme de métadonnées, car il peut être utile de voir si les résultats de géolocalisation d’App Engine et d’App + Web diffèrent.
NOTE! Je ne sais pas comment App Engine résout la géolocalisation, ni comment App + Web le fait non plus. Ils utilisent très probablement un service propriétaire, mais il y a un manque notable de documentation à ce sujet. Ce document indique simplement que la base de données WHOIS est pas utilisé pour la géolocalisation.
Dites-moi ce que vous pensez de cette astuce simple dans les commentaires !