Cet article s'adresse aux développeurs qui souhaitent héberger le taggage côté serveur dans le même contexte propriétaire que leur site Web. La diffusion depuis la même origine est une bonne pratique qui vous permet de bénéficier des avantages des cookies définis par le serveur au niveau de la sécurité et de la durabilité. Les instructions ci-dessous s'appliquent à la configuration du service de même origine, quelle que soit la balise Google déployée sur votre site (gtag.js ou gtm.js).
Lorsque vous configurez un serveur de taggage pour la première fois, il est hébergé sur un domaine fourni par le fournisseur de services cloud. Lorsque vous utilisez le point de terminaison par défaut, il transmet des données au conteneur serveur, mais s'exécute dans un contexte tiers. Pour profiter des avantages d'un contexte first party, tels que des cookies plus durables, votre serveur de taggage et votre site Web doivent s'exécuter sur le même domaine.
Le tableau ci-dessous montre comment héberger un serveur de taggage lorsque le site Web parent est hébergé sur www.example.com
:
Même origine (bonne pratique) | Sous-domaine | Domaine par défaut | |
---|---|---|---|
Exemple d'URL | https:/ |
https:/ |
https:/ |
Accès aux cookies définis par le serveur | Accès complet aux avantages de sécurité et de durabilité. | Accès complet aux avantages de sécurité et de durabilité. | Aucun : Ne peut définir que des cookies JavaScript. |
Complexité de la configuration | Configurez un CDN ou un équilibreur de charge pour transférer les requêtes. Vous devrez peut-être mettre à jour les entrées DNS. | Mettez à jour les entrées DNS. | Il est préconfiguré. |
Pour commencer, choisissez votre option d'implémentation.
Prérequis
Ce guide suppose que vous disposez des éléments suivants :
- Configurer un conteneur de serveur dans Tag Manager
- Configurer un serveur d'insertion de balises
- Un CDN ou un équilibreur de charge pouvant transférer des requêtes.
- Si vous utilisez App Engine: le serveur de taggage doit exécuter la version 2.2.0 ou ultérieure. Pour pérenniser votre serveur de taggage, migrez vers Cloud Run.
Configurer le domaine personnalisé
Vous pouvez configurer votre conteneur serveur pour qu'il s'exécute sur un chemin d'accès appartenant au même domaine que celui de votre site. Par exemple, si votre site génère du trafic Web sur www.example.com
, réservez un chemin d'accès tel que www.example.com/metrics
pour votre conteneur serveur.
1. Choisissez un chemin d'accès à votre domaine à utiliser pour votre serveur de taggage.
Ce chemin d'accès sera réservé à cette implémentation de diffusion propriétaire. Assurez-vous de choisir un chemin que vous n'utilisez pas déjà.
Voici quelques exemples de chemins que vous pouvez utiliser: /collect
, /metrics
et /data
.
Notez cette chaîne de chemin d'accès. Vous l'utiliserez dans les étapes suivantes à la place de /metrics
chaque fois que vous verrez: /metrics
2. Redirigez le trafic vers votre serveur de taggage
Sur votre site, si vous avez déjà configuré un CDN ou un équilibreur de charge compatible avec la redirection de trafic à l'aide de chemins d'accès, passez à l'étape 4.
- Ajoutez une origine ou un backend qui pointe vers votre site.
- Remplacez l'en-tête Host par le nom d'hôte du site Web (par exemple,
example.com
). - Autorisez le transfert de tous les cookies et de toutes les chaînes de requête. Si cette option n'est pas disponible sur la plate-forme, c'est qu'elle est probablement déjà incluse par défaut.
- Ajoutez une autre origine ou un autre backend qui pointe vers votre serveur de taggage. Il peut s'agir du domaine fourni par le fournisseur de services cloud (par exemple,
metrics.run.app
). - Remplacez l'en-tête Host pour qu'elle corresponde au domaine spécifié ci-dessus. Autorisez le transfert de tous les cookies et de toutes les chaînes de requête.
- Ajoutez une règle de chemin d'accès (comme
/metrics/*
) pour rediriger le trafic vers le serveur de taggage. - Configurez le chemin d'accès réservé du taggage côté serveur pour qu'il ait une priorité plus élevée que la règle par défaut.
- Si ce n'est pas déjà fait, modifiez votre DNS pour qu'il pointe vers le CDN ou l'équilibreur de charge. La propagation des modifications du DNS peut prendre un certain temps.
- Accédez au point de terminaison
/healthy
du domaine que vous venez de configurer (par exemple,https://example.com/metrics/healthy
). Unok
doit s'afficher.
3. Mettre à jour l'URL du serveur dans Google Tag Manager
Vous devez mettre à jour la configuration de votre conteneur serveur afin qu'il puisse identifier le préfixe de chemin d'accès et traiter correctement les requêtes.
Pour passer au nouveau point de terminaison:
- Ouvrez Google Tag Manager.
- Ouvrez le conteneur serveur configuré sur la même origine que le site Web.
- Dans l'onglet Administration > Paramètres du conteneur, supprimez toutes les URL précédentes. Cela est nécessaire, car toutes les URL de conteneur de serveur doivent partager le même chemin.
- Cliquez sur Ajouter une URL, puis saisissez l'URL, y compris le préfixe de chemin.
- Enregistrez et revenez à votre espace de travail.
- Cliquez sur le bouton Preview (Aperçu) pour démarrer une session de débogage et envoyer une requête dans un onglet distinct.
- Cliquez sur la demande envoyée. Assurez-vous que votre client a revendiqué la requête entrante.
Résoudre les problèmes courants
- L'aperçu n'affiche pas les requêtes entrantes
- Accédez à l'explorateur de journaux de votre projet cloud. Vérifiez que le déploiement du taggage côté serveur reçoit du trafic. Si ce n'est pas le cas, suivez les instructions de l'étape 1.
- Vérifiez que le CDN ou l'équilibreur de charge transfère les cookies.
- Vérifiez que vous disposez d'un seul serveur de prévisualisation et que le
PREVIEW_SERVER_URL
est défini sur les serveurs de taggage. - Vérifiez que le serveur Preview est en cours d'exécution en accédant à
PREVIEW_SERVER_URL
+/healthy
. Unok
doit s'afficher.
- Les clients ne revendiquent pas les requêtes : mettez à jour l'URL dans les paramètres du conteneur pour utiliser le chemin réservé. Si l'URL ne contient pas le chemin d'accès ou si les deux sont différents, les clients ne fonctionneront pas correctement.