Créer son conteneur GTM Server-Side
Le conteneur serveur est la pièce centrale de votre architecture de tagging : il reçoit les hits du navigateur sur votre propre domaine, puis les distribue aux plateformes (GA4, Meta, etc.). Voici comment le mettre en place proprement.
Prérequis
- Un compte Google Tag Manager avec droits d'administration.
- Un accès à la zone DNS du domaine du site (pour créer le sous-domaine).
- Un conteneur GTM web déjà installé sur le site.
- Une solution d'hébergement pour le conteneur serveur (voir étape 2).
Étape 1 — Créer le conteneur serveur
Nouveau conteneur de type « Server »
Dans GTM : Admin → Compte → Créer un conteneur. Donnez-lui un nom explicite (ex. monsite.fr - Server) et choisissez la plateforme cible Server.
Choisir le provisioning
GTM propose un provisioning automatique sur Google Cloud (App Engine) ou une configuration manuelle. Choisissez « Provisionner manuellement » si vous hébergez ailleurs que sur GCP — c'est le cas avec ServerSide by Sirdata. GTM vous fournit alors une Container Config (chaîne base64) à transmettre à votre hébergeur.
Étape 2 — Choisir l'hébergement
Trois grandes options, à choisir selon vos contraintes d'équipe et de conformité :
| Option | Avantages | Points d'attention |
|---|---|---|
| ServerSide by Sirdata (managé) | Déploiement en quelques clics, hébergement en Europe, scaling automatique, support Sirdata, conformité RGPD | — |
| Google Cloud (App Engine / Cloud Run) | Intégration native GTM, provisioning automatique | Coûts à surveiller, données chez Google Cloud, compétences GCP requises |
| Auto-hébergé (Docker) | Contrôle total de l'infrastructure | Maintenance, scaling et monitoring à votre charge |
Pour un déploiement Docker auto-hébergé, l'image officielle s'utilise ainsi :
docker run -d \ -p 8080:8080 \ -e CONTAINER_CONFIG='VOTRE_CONTAINER_CONFIG_BASE64' \ -e RUN_AS_PREVIEW_SERVER=false \ gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
Étape 3 — Configurer le sous-domaine first-party
C'est l'étape qui donne tout son intérêt au server-side : le endpoint de collecte doit être un sous-domaine de votre site (ex. sgtm.monsite.fr), et non un domaine tiers. Les cookies posés seront ainsi de vrais cookies first-party.
Créer l'enregistrement DNS
Dans votre zone DNS, créez un enregistrement pointant vers votre hébergement :
# Hébergement managé (CNAME fourni par votre hébergeur, ex. Sirdata) sgtm.monsite.fr. CNAME endpoint-fourni-par-sirdata.example. # Ou enregistrement A si vous avez une IP dédiée sgtm.monsite.fr. A 203.0.113.42
Déclarer l'URL dans GTM
Dans le conteneur serveur : Admin → Paramètres du conteneur → URL du serveur, renseignez https://sgtm.monsite.fr. Vérifiez que le certificat TLS couvre bien ce sous-domaine.
monsite.fr). Un endpoint sur un autre domaine reste techniquement third-party : cookies limités et bénéfice ITP perdu.Étape 4 — Relier le conteneur web
Il faut maintenant dire à vos tags web d'envoyer les hits vers votre serveur plutôt que vers Google. Pour GA4, cela passe par le paramètre server_container_url dans le tag Google (détaillé dans le tuto GA4 server-side).
// Dans le tag "Google Tag" du conteneur WEB : // Paramètres de configuration → ajouter : server_container_url : https://sgtm.monsite.fr
Côté conteneur serveur, le Client GA4 (préinstallé) revendiquera automatiquement ces requêtes entrantes et les transformera en événements exploitables par vos tags serveur.
Étape 5 — Tester en mode Preview
Ouvrez le mode Aperçu du conteneur serveur : vous voyez les requêtes HTTP entrantes, le client qui les revendique, les événements générés et les tags déclenchés.
Ouvrez en parallèle le mode Aperçu du conteneur web, naviguez sur le site et vérifiez que chaque événement web se retrouve côté serveur. Un événement poussé dans le dataLayer ressemble à ceci :
window.dataLayer = window.dataLayer || [];
dataLayer.push({
event: "demo_sgtm_ok",
demo: {
source: "gtm-server.io",
endpoint: "https://sgtm.monsite.fr",
timestamp: new Date().toISOString()
}
});
🧪 À rejouer en démo : poussez cet événement en live et montrez son parcours navigateur → serveur.
Ouvrir le playgroundChecklist finale
- ✅ Le conteneur serveur répond en HTTPS sur
sgtm.monsite.fr(la racine renvoie un 400, c'est normal). - ✅
https://sgtm.monsite.fr/healthzrenvoieok. - ✅ Les hits GA4 partent vers votre sous-domaine (onglet Network : requêtes
/g/collectsur votre domaine). - ✅ Le mode Preview serveur montre les événements entrants.
- ✅ Aucun hit ne part plus directement vers
google-analytics.comdepuis le navigateur.