Envoyer GA4 depuis le GTM web via votre conteneur serveur
Votre conteneur serveur tourne, mais rien ne lui envoie encore de données. Dans cette leçon, vous créez une propriété GA4, ajoutez une balise Google et des balises GA4 Event à votre conteneur web, et leur indiquez d'envoyer chaque hit à votre propre sous-domaine plutôt qu'à Google. Les hits GA4 partent alors vers k7q2x.example.com au lieu de Google, et c'est le conteneur serveur qui décide où les données vont ensuite. Les scripts GTM et gtag.js eux-mêmes se chargent toujours depuis googletagmanager.com, sauf si vous les servez depuis votre propre domaine (leçon 8).
Intermédiaire 12 min de lecture Version 1.3, mise à jour le 3 octobre 2026
Sur cette page
Ce que vous allez apprendre
- Créer une propriété GA4 et un flux de données web, puis trouver l'ID de mesure.
- Ajouter une balise Google avec
server_container_urldans le conteneur web. - Envoyer des événements personnalisés et e-commerce avec des balises GA4 Event.
- Vérifier dans les DevTools que les hits partent vers votre sous-domaine.
01 Créez la propriété GA4 et le flux web
Passez cette section si vous avez déjà une propriété GA4. Vous n'avez besoin que de son ID de mesure.
- 1 Ouvrez analytics.google.com, allez dans Admin et cliquez sur Create, puis Property.
- 2 Saisissez un nom de propriété, votre fuseau horaire et votre devise de reporting, puis complétez les informations sur l'entreprise.
- 3 Quand GA4 vous propose de commencer la collecte de données, choisissez Web, saisissez l'URL de votre site et un nom de flux, puis cliquez sur Create stream.
- 4 Copiez le Measurement ID dans les détails du flux. Il ressemble à
G-XXXXXXXXXX.
02 Ajoutez la balise Google avec l'URL de votre serveur
La balise Google charge GA4 sur la page et envoie le page_view. Un seul paramètre, server_container_url, change la destination de ses hits.
Comment votre site charge-t-il GA4 ?
- 1 Dans votre conteneur web, allez dans Tags, cliquez sur New et choisissez Google tag comme type de balise.
- 2 Collez votre ID de mesure dans Tag ID.
- 3 Sous Configuration settings, ajoutez une ligne avec ce paramètre et cette valeur.
- Configuration parameter
server_container_url- Value
https://k7q2x.example.com
- 4 Choisissez le déclencheur Initialization - All Pages (ou All Pages), nommez la balise et enregistrez.
Initialization - All Pages se déclenche avant les autres balises, donc les événements précoces savent déjà où envoyer leurs données.
Si votre site charge GA4 directement avec gtag.js, sans GTM, ajoutez server_container_url à sa commande config, avec votre ID de mesure :
gtag('config', 'G-XXXXXXXXXX', {
server_container_url: 'https://k7q2x.example.com'
});Les hits partent alors vers votre sous-domaine, exactement comme avec GTM. La suite du cours part du principe que vous utilisez GTM : gardez donc une seule installation par ID de mesure, car deux installations comptent chaque page vue deux fois.
Utilisez exactement l'URL de votre conteneur serveur : https://, sans chemin et sans barre oblique finale.
03 Envoyez des événements avec les balises GA4 Event
Les pages vues et les événements de mesure améliorée (défilements, clics sortants, recherche sur le site, téléchargements de fichiers) viennent automatiquement de la balise Google. Vos propres événements, comme les inscriptions et les achats, nécessitent une balise Google Analytics: GA4 Event. Réutilisez le déclencheur sign_up de la leçon 1 :
- 1 Créez une balise de type Google Analytics: GA4 Event.
- 2 Réglez Measurement ID sur
G-XXXXXXXXXX(votre ID). L'événement passe par la balise Google ayant le même ID, URL serveur comprise. - 3 Réglez Event Name sur
sign_up. Sous Event Parameters, ajoutezmethodavec la Data Layer Variable créée précédemment. - 4 Sélectionnez le déclencheur Custom Event
sign_upet enregistrez.
E-commerce : envoyer les achats
Pour l'e-commerce, votre site pousse les détails de l'achat dans l'objet ecommerce attendu par GA4. Videz d'abord l'objet ecommerce précédent, comme dans cet exemple.
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({ ecommerce: null });
window.dataLayer.push({
event: 'purchase',
ecommerce: {
transaction_id: 'T-10293',
value: 129.90,
currency: 'EUR',
items: [{ item_id: 'SKU-1', item_name: 'Shoes', price: 129.90, quantity: 1 }]
}
});- 1 Créez un déclencheur Custom Event pour
purchase. - 2 Créez une balise Google Analytics: GA4 Event avec l'Event Name
purchase. - 3 Ouvrez More Settings, puis Ecommerce, cochez Send Ecommerce data et choisissez Data Layer comme Data source.
- 4 Associez le déclencheur
purchaseet enregistrez.
04 Ce qui change dans le navigateur
Sans URL serveur, GA4 envoie les hits à des hôtes Google comme region1.google-analytics.com ou analytics.google.com. Avec elle, les mêmes hits partent vers votre sous-domaine, sur le chemin /g/collect :
https://k7q2x.example.com/g/collect?v=2&tid=G-XXXXXXXXXX&en=page_view&...- La requête reste sur votre propre domaine : elle est donc first-party pour le navigateur.
- Moins de bloqueurs la ciblent, car elle ne part plus vers un domaine d'analytics connu. Les bloqueurs qui ciblent le chemin
/g/collectpeuvent encore l'intercepter : Request Proxy, dans la leçon 8, règle ce cas. - Le conteneur serveur voit chaque hit GA4 avant GA4, et c'est là que vous pourrez plus tard filtrer ou enrichir les données.
05 Vérifiez et publiez
- 1 Cliquez sur Preview dans le conteneur web et connectez-vous à votre site. La balise Google doit se déclencher sur Initialization et les balises GA4 Event sur leurs événements.
- 2 Dans la fenêtre du site, ouvrez les DevTools, allez dans l'onglet Network et filtrez sur
collect. - 3 Rechargez la page. Vous devez voir des requêtes vers
https://k7q2x.example.com/g/collectavec le statut200ou204, et aucune versgoogle-analytics.comouanalytics.google.com. - 4 Quand tout est correct, cliquez sur Submit et publiez le conteneur web.
- Aucun extrait gtag.js codé en dur pour le même ID ne reste sur le site.
- La balise Google a
server_container_urlréglé sur votre sous-domaine. - Les requêtes
/g/collectpartent versk7q2x.example.com. - Le Preview du conteneur serveur affiche les requêtes entrantes (la leçon sur le débogage explique comment le lire).
Questions fréquentes
Ai-je aussi besoin d'une balise Google pour Google Ads ?
Pas pour cette leçon. Les hits GA4 suffisent à alimenter le conteneur serveur, et les balises serveur des autres fournisseurs peuvent réutiliser les mêmes données entrantes.
Les requêtes partent toujours vers google-analytics.com. Qu'est-ce qui ne va pas ?
En général, la modification n'est pas encore publiée, une autre balise Google ou un extrait gtag.js codé en dur pour le même ID se charge sans ce paramètre, ou le nom du paramètre contient une faute de frappe. Il doit être exactement server_container_url.
Prêt à passer à la pratique ?
Déployez un conteneur GTM serveur sur votre propre domaine en quelques minutes. L'offre gratuite ne demande aucune carte bancaire.
Créer un compte gratuit