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. Le navigateur ne communique alors qu'avec sgtm.example.com, dans un contexte first-party, et c'est le conteneur serveur qui décide où les données vont ensuite.

Intermédiaire 12 min de lecture

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 sgtm.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.

  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 le paramètre et la valeur ci-dessous.
  4. 4 Choisissez le déclencheur Initialization - All Pages (ou All Pages), nommez la balise et enregistrez.
text
Configuration parameter:  server_container_url
Value:                    https://sgtm.example.com

Utilisez exactement l'URL de votre conteneur serveur : https://, sans chemin et sans barre oblique finale. Initialization - All Pages se déclenche avant les autres balises, donc les événements précoces savent déjà où envoyer leurs données.

03 Envoyez des événements avec les balises GA4 Event

Les pages vues viennent de la balise Google. Tout le reste, comme les inscriptions et les achats, nécessite 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.

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.

js
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 à google-analytics.com. Avec elle, les mêmes hits partent vers votre sous-domaine, sur le chemin /g/collect :

text
https://sgtm.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.
  • Le conteneur serveur voit chaque hit avant tout fournisseur, 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://sgtm.example.com/g/collect avec le statut 200 ou 204, et aucune vers google-analytics.com/g/collect.
  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 sgtm.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

Puis-je le configurer sans GTM, directement dans gtag.js ?

Oui. Ajoutez server_container_url à la commande config, par exemple gtag('config', 'G-XXXXXXXXXX', { server_container_url: 'https://sgtm.example.com' });. La suite du cours part du principe que vous utilisez GTM.

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