GuideAnalytics~15 min

Google Analytics 4

Guide technique : mesure du trafic et des conversions e-commerce. Architecture server-side, transport technique, debugging, attribution.

Connectors0/1
Google Analytics
GA4 Measurement ID
GA4 > Admin > Data Streams > Web stream — ex : G-XXXXXXX

1Role / Objectif

GA4 joue un double role dans notre stack :

Analytics

  • Mesure du trafic et du comportement
  • Funnel e-commerce complet
  • Attribution des conversions
  • Reporting et insights

Transport technique

  • Vehicule les events vers le sGTM
  • Protocole de collecte standard
  • Seul moyen fiable d'atteindre le sGTM
  • Bypass adblockers via custom domain

GA4 est a la fois l'outil d'analytics et le vehicule technique pour alimenter toutes les destinations server-side (Meta CAPI, Google Ads, etc.).

2Architecture Server-Side

Flux complet

Addingwell DataLayer
        |
GTM Web Container
        |
GA4 Config Tag (transport_url = sGTM)
        |
Server-Side GTM (custom domain)
        |
+-- GA4 Server Tag --> Google Analytics
+-- Meta CAPI Tag --> Meta Conversions API
+-- Google Ads Tag --> Enhanced Conversions
+-- Autres destinations server-side

Pourquoi server-side ?

  • Bypass adblockers (custom domain first-party)
  • Donnees plus fiables (pas de perte client-side)
  • Consent Mode geree cote serveur
  • Single point of collection pour toutes les destinations
  • Cookie restore ITP via Addingwell

3Data Transport

Dans notre architecture, GA4 sert de couche de transport entre le GTM Web et le sGTM. Les events GA4 vehiculent toutes les donnees necessaires aux destinations.

server_container_url

Le champ server_container_url dans le tag GA4 Config redirige les hits vers le sGTM au lieu de google-analytics.com.

Sans server_container_url :
  browser --> google-analytics.com (bloque par adblockers)

Avec server_container_url :
  browser --> tags.ma-boutique.com --> sGTM --> GA4 + destinations

Critique

Sans server_container_url, les hits GA4 vont directement a Google et aucune destination server-side ne fonctionne (Meta CAPI, Google Ads Enhanced Conversions, etc.).

Flux de donnees GA4

GA4 est automatiquement connecte via le transport server-side. Le tag GA4 Config dans le GTM Web envoie les hits vers le custom domain sGTM (first-party). Le sGTM les recoit et les distribue.

GTM Web (client)
  --> GA4 Config + Transport tag
    --> Requete HTTP vers custom domain sGTM (first-party)

sGTM (server)
  --> GA4 Client (recoit la requete)
    +-- GA4 Server tag --> Google Analytics 4
    +-- META - CAPI - All Events --> Meta (Full CAPI, server-only)
    +-- GADS - Conv - purchase --> Google Ads Enhanced Conversions
    +-- (coming soon) TikTok Events API, Snap CAPI

Enrichissement server-side :
  - Hash SHA-256 automatique (email, tel, adresse)
  - Attribution cookies (fbp, fbc, gclid, wbraid, gbraid)
  - event_id pour deduplication
  - Consent Mode v2 signaux transmis

Ce que GA4 recoit

  • Tous les events e-commerce du DataLayer (page_view, view_item, add_to_cart, purchase, etc.)
  • Parametres enrichis (items[], value, currency, transaction_id)
  • Consent Mode v2 signaux (analytics_storage, ad_storage)
  • Attribution cookies first-party (fbp, fbc, gclid) via cookie restore

Ce que GA4 ne recoit pas directement

  • Les donnees PII en clair (hashees uniquement cote server)
  • Les events des autres destinations (Meta, Google Ads) — ils sont geres par le sGTM en parallele
  • Les events sans consent analytics (seuls les pings anonymises Advanced Consent Mode)

GA4 ne necessite aucune configuration supplementaire pour fonctionner comme transport. Le Measurement ID et le server_container_url dans le Connectors suffisent. Les containers GTM pre-configures font le reste.

4Events E-commerce

Events trackes dans GA4

Event GA4FunnelParametres cles
page_viewToutes les pagespage_location, page_title
view_item_listDecouverteitem_list_name, items[]
select_itemDecouverteitem_list_name, items[]
view_itemConsiderationcurrency, value, items[]
add_to_cartConsiderationcurrency, value, items[]
remove_from_cartConsiderationcurrency, value, items[]
view_cartConsiderationcurrency, value, items[]
begin_checkoutConversioncurrency, value, items[]
add_shipping_infoConversionshipping_tier, currency, value
add_payment_infoConversionpayment_type, currency, value
purchaseConversiontransaction_id, currency, value, items[]

Parametres enrichis

Chaque event e-commerce inclut le tableau items[] complet avec item_id, item_name, price, quantity, item_category, item_variant.

Config Tag (GTM Web)

Le tag GA4 Config dans le GTM Web Container configure la collecte et le transport vers le sGTM.

ParametreValeurRole
Measurement IDG-XXXXXXXXXXIdentifiant de la propriete GA4
server_container_urlhttps://tags.ma-boutique.comRoute les hits vers le sGTM
Consentanalytics_storageConditionne au consent Cookiebot
TriggerAll PagesInitialise sur chaque page

GA4 Transport Tag

Un second tag GA4 Event fait office de transport pour les events e-commerce vers le sGTM. Il forward les events du DataLayer au server container.

Les deux tags (Config + Transport) sont inclus dans le container GTM Web pre-configure. Les credentials (Measurement ID, server_container_url) sont interpolees depuis le Connectors.

GA4 Server Tag (sGTM)

Le GA4 Server Tag dans le sGTM recoit les events et les forward vers la propriete Google Analytics.

GA4 Client (sGTM) recoit le hit
        |
GA4 Server Tag --> forward vers Google Analytics
        |
Autres tags (Meta, Google Ads) --> lisent les memes events
        |
Chaque destination recoit les donnees enrichies
  • Le GA4 Client parse les hits entrants
  • Le GA4 Server Tag forward vers Google Analytics
  • Les autres tags (Meta CAPI, Google Ads) se declenchent sur les memes events
  • Pas de double envoi — un seul hit GA4 alimente toutes les destinations

Conversions & Attribution

Dans GA4, marquer les events cles comme conversions :

EventConversionValeur
purchaseOuiRevenu transaction
begin_checkoutOptionnelValeur panier
add_to_cartNon-
page_viewNon-

Modele d'attribution

  • GA4 utilise le Data-Driven Attribution par defaut
  • Les conversions modelisees compensent les pertes de donnees (consent, adblockers)
  • Le Advanced Consent Mode envoie des pings anonymises meme sans consent analytics
  • Les conversions Google Ads importees depuis GA4 beneficient de la modelisation

5Configuration

Pre-requis

  • Propriete GA4 creee dans Google Analytics
  • Measurement ID (G-XXXXXXXXXX)
  • Stream Web configure
  • Custom domain sGTM configure (server_container_url)

Connectors

Les credentials GA4 sont configurees dans le Connectors :

ChampExempleUsage
ga4_measurement_idG-XXXXXXXXXXTag GA4 Config dans GTM Web
server_container_urlhttps://tags.ma-boutique.comTransport vers sGTM

Ces valeurs sont automatiquement interpolees dans les containers GTM au moment du telechargement. Aucune configuration manuelle dans GTM n'est necessaire.

DebugView & Realtime

DebugView

  1. 1Admin GA4 → DebugView
  2. 2Activer le debug mode (GTM Preview ou debug_mode=true)
  3. 3Les events apparaissent en temps reel avec tous les parametres
  4. 4Verifier les parametres ecommerce (items[], value, currency)
  5. 5Verifier que les events arrivent bien (pas de trous dans le funnel)

Realtime

  • Admin GA4 → Rapports → Temps reel
  • Voir les events des 30 dernieres minutes
  • Utile pour valider rapidement apres un changement
  • Ne montre pas les parametres detailles (utiliser DebugView pour ca)

Latence

Les rapports GA4 standard ont un delai de 24-48h. Pour le debugging, toujours utiliser DebugView ou Realtime.

6Verification

Verifier le transport sGTM

  1. 1Ouvrir l'onglet Network du navigateur
  2. 2Filtrer par le custom domain (tags.ma-boutique.com)
  3. 3Les requetes /collect doivent pointer vers le sGTM
  4. 4Pas de requete directe vers google-analytics.com

Verifier les events GA4

  1. 1GA4 → DebugView (activer le debug mode)
  2. 2Naviguer sur le store : home → collection → produit → panier → checkout
  3. 3Verifier chaque event du funnel
  4. 4Verifier les parametres ecommerce (items[], value, currency)
  5. 5Completer un achat test → verifier purchase avec transaction_id

Verifier le consent

  • Avant consent : seuls les pings anonymises (Advanced Consent Mode)
  • Apres consent analytics : events complets avec cookies GA4
  • Verifier dans GTM Preview Mode que le consent conditionne bien les tags

Verification GA4 destination (Phase 3)

Points de controle specifiques a GA4 en tant que destination du sGTM :

  • Events visibles dans GA4 Realtime apres consent
  • Requetes envoyees via le custom domain sGTM (pas googletagmanager.com)
  • GA4 Server Tag actif dans le sGTM et forward vers Google Analytics
  • Verifier dans GA4 → Admin → DebugView que les events arrivent bien du server

7Troubleshooting

Aucun event dans GA4

Verifier :

  1. 1Measurement ID correct dans Connectors
  2. 2Tag GA4 Config present dans GTM Web
  3. 3GTM injecte par Addingwell (pas de GTM manquant)
  4. 4server_container_url pointe vers le bon sGTM
Events dans GA4 mais pas dans sGTM

Verifier :

  • server_container_url configure dans le tag GA4 Config
  • Custom domain DNS pointe vers le sGTM
  • sGTM en cours d'execution (pas arrete)
  • GA4 Client actif dans le sGTM
purchase manquant dans GA4

Verifier :

  • Custom Pixel Addingwell actif dans Shopify
  • Event purchase present dans le DataLayer (console)
  • Tag GA4 Event declenche sur l'event purchase dans GTM
  • transaction_id present et unique
GA4 DebugView vide

Verifier :

  • Measurement ID incorrect dans la variable GTM
  • Debug mode non actif (activer via GTM Preview ou debug_mode=true)
  • Consent refuse — accepter le consent et recharger la page
  • Verifier que le tag GA4 Config se declenche dans GTM Preview
Requetes GA4 bloquees par adblockers

Verifier :

  • Verifier que server_container_url utilise un custom domain first-party
  • Le custom domain sGTM doit etre sur le meme domaine que le store
  • Verifier dans Network : les requetes doivent aller vers tags.ma-boutique.com, pas google-analytics.com
  • Si le custom domain est absent, toutes les destinations server-side sont affectees
Doublons purchase dans GA4

Verifier :

  • Verifier que l'event_id (transaction_id) est unique pour chaque achat
  • Supprimer les apps tracking natives (Facebook & Instagram, Google & YouTube)
  • Verifier qu'il n'y a pas de tag GA4 en doublon dans GTM Web
  • Un seul container GTM doit etre actif sur le store

8Checklist GA4

Checklist GA40/10