Aller au contenu

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

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_url dans 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.

Avant de commencer

  • Un conteneur web publié sur votre site (leçon 1).
  • Un conteneur serveur qui répond sur votre sous-domaine, par exemple k7q2x.example.com (leçon 2).
  • Un accès Éditeur à un compte Google Analytics.

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. 1 Ouvrez analytics.google.com, allez dans Admin et cliquez sur Create, puis Property.
  2. 2 Saisissez un nom de propriété, votre fuseau horaire et votre devise de reporting, puis complétez les informations sur l'entreprise.
  3. 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. 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. 1 Dans votre conteneur web, allez dans Tags, cliquez sur New et choisissez Google tag comme type de balise.
  2. 2 Collez votre ID de mesure dans Tag ID.
  3. 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. 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.

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. 1 Créez une balise de type Google Analytics: GA4 Event.
  2. 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. 3 Réglez Event Name sur sign_up. Sous Event Parameters, ajoutez method avec la Data Layer Variable créée précédemment.
  4. 4 Sélectionnez le déclencheur Custom Event sign_up et 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.

JavaScript
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. 1 Créez un déclencheur Custom Event pour purchase.
  2. 2 Créez une balise Google Analytics: GA4 Event avec l'Event Name purchase.
  3. 3 Ouvrez More Settings, puis Ecommerce, cochez Send Ecommerce data et choisissez Data Layer comme Data source.
  4. 4 Associez le déclencheur purchase et 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/collect peuvent 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. 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. 2 Dans la fenêtre du site, ouvrez les DevTools, allez dans l'onglet Network et filtrez sur collect.
  3. 3 Rechargez la page. Vous devez voir des requêtes vers https://k7q2x.example.com/g/collect avec le statut 200 ou 204, et aucune vers google-analytics.com ou analytics.google.com.
  4. 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_url réglé sur votre sous-domaine.
  • Les requêtes /g/collect partent vers k7q2x.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