Aller au contenu principal
GEO

Pourquoi GA4 vous ment sur votre trafic IA (et comment le mesurer vraiment)

15 min de lecture Mis à jour le Mis à jour récemment
#geo #analytics #ga4 #trafic-ia #mesure #chatgpt #perplexity #cloudflare
Share

Le constat en 60 secondes

Le trafic IA vers les sites retail US a bondi de 393% sur un an en Q1 2026 selon Adobe Analytics. En mars 2026, ce trafic IA a converti 42% mieux que le trafic non-IA, passé 48% de temps en plus sur le site, et généré 37% de revenu par visite en plus. Pourtant, quand vous ouvrez Google Analytics 4, vous voyez rarement plus de 0,5% de trafic étiqueté “ChatGPT” ou “Perplexity”. Le chiffre est faux.

Selon le rapport State of AI Traffic 2026 de Loamly (446 405 visites analysées), 70,6% des visites référées par une IA arrivent sans referrer HTTP et GA4 les classe en “Direct / None”. Loamly infère que le vrai volume de trafic IA pourrait être 2 à 3 fois supérieur à ce que reportent les outils standards. Vos décisions d’investissement marketing reposent sur un angle mort.

Cet article explique pourquoi GA4 vous ment, comment mesurer le vrai trafic IA côté serveur, et donne les snippets regex exacts à déployer demain matin.

Pourquoi GA4 vous ment (les 4 trous noirs)

1. Le referrer disparaît dans 70,6% des cas

Le web moderne casse la chaîne du referrer HTTP sur quatre scénarios majeurs :

  • Apps natives mobiles : l’app iOS de ChatGPT, l’app Claude, l’app Perplexity ouvrent les liens dans un webview qui sandboxe les clics sortants et ne transmet pas le document referrer (Parcel Perform, 9 avril 2026). Mesure concrete chez Retailgentic (7 avril 2026) sur l’app iOS Gemini : seules 5 visites sur 56 sont identifiees comme referrals IA par GA4, soit moins de 9% (Retailgentic DACT report).
  • ChatGPT Atlas (le navigateur OpenAI lance le 21 octobre 2025) : strippe le referrer cote client via une sandbox interne. Tout le trafic Atlas atterrit en “Direct”.
  • Referrer-Policy cote IA : la plupart des interfaces LLM appliquent strict-origin ou no-referrer sur leurs liens sortants, ce qui masque le chemin exact.
  • Copier-coller d’URL : quand un utilisateur copie une URL depuis une reponse ChatGPT et la colle dans un nouvel onglet, il n’y a tout simplement plus de referrer.

2. GA4 n’a pas de catégorie “AI Assistant” par défaut

Au 18 avril 2026, GA4 ne reconnaît toujours pas chatgpt.com, perplexity.ai ou claude.ai comme sources distinctes. Par défaut, ces referrers (quand ils passent) tombent dans le groupe Referral générique, mélangés à n’importe quel autre site. Sans configuration manuelle, vous n’avez aucune visibilité par canal IA.

Depuis mars 2024 dans l’EEE (obligatoire DMA), les sites européens doivent gérer le consentement RGPD via un CMP. Le blocage des cookies analytics vient du CMP, et Consent Mode v2 sert au contraire à modéliser une partie des conversions perdues. Selon les implémentations, 20 à 50% des sessions restent partiellement ou totalement non mesurées sur les sites e-commerce européens, en mode Basic Mode sans modélisation. Combiné à l’absence de referrer IA, une partie du trafic IA est donc doublement invisible.

4. Les revenus IA sont sous-reportés

GA4 sous-estime typiquement les revenus e-commerce de 20 à 30% par rapport aux backends Shopify ou Stripe (consensus issu de multiples audits sectoriels 2025-2026). L’écart est encore plus marqué sur les parcours IA : le visiteur arrive en “Direct” (referrer perdu), convertit, et la conversion est attribuée à Direct ou à Google selon le last-click. Résultat, vous sous-investissez en GEO parce que le ROI apparent est faible, alors que le ROI réel est très bon (+37% de RPV vs non-IA selon Adobe, mars 2026).

Les 3 sources du vrai trafic IA

Avant de mesurer, il faut distinguer trois populations très différentes qui se cachent derrière “trafic IA” :

A. Les crawlers d’entraînement

Ils visitent votre site pour alimenter les datasets d’entraînement des LLM. Ils ne génèrent aucune vente directe, mais conditionnent votre présence dans les réponses futures. Principaux bots en avril 2026 :

BotPropriétaireRôleRespecte robots.txt
GPTBotOpenAIEntraînement des modèles GPTOui
ClaudeBotAnthropicEntraînement ClaudeOui
CCBotCommon CrawlDataset public utilisé par la plupart des LLMOui
Google-ExtendedGoogleOpt-out pour Gemini et AI Overviews (token robots.txt seulement, pas d’UA distinct)Oui
BytespiderByteDanceCrawler TikTok AIInconsistant (blocage serveur recommande)
Applebot-ExtendedAppleOpt-out Apple IntelligenceOui
Meta-ExternalAgentMetaMeta AIOui

Source : documentation OpenAI, Anthropic, Google.

B. Les fetchers live (user-triggered)

Ce sont les bots qui vont chercher votre page en temps réel pour répondre à la question d’un utilisateur. Ce trafic est le signal le plus précieux : il indique que l’IA a jugé votre page pertinente pour une requête précise.

BotPropriétaireDéclencheur
OAI-SearchBotOpenAIChatGPT Search
ChatGPT-UserOpenAIBrowse ou action utilisateur dans ChatGPT
Claude-UserAnthropicAction utilisateur dans Claude.ai
Claude-SearchBotAnthropicIndexation pour réponses Claude
PerplexityBotPerplexityDiscovery et indexation
Perplexity-UserPerplexityAction utilisateur Perplexity (ignore robots.txt)

Attention particulière sur Perplexity. Le pattern de crawlers furtifs Perplexity (user-agents Chrome generiques, rotation IPs/ASNs pour contourner robots.txt) reste actif au Q1 2026. Cloudflare l’a confirme dans son blog du 29 janvier 2026, et l’analyse independante DataDome AI Traffic Report du 16 mars 2026 a mesure que PerplexityBot affiche le plus haut taux d’usurpation d’identite parmi les crawlers IA en fevrier 2026 (2,4% des requetes frauduleuses analysees). Perplexity reste a ce jour hors de la liste des verified bots de Cloudflare. Le vrai volume Perplexity dans vos logs est donc superieur a ce que PerplexityBot indique. A noter, la doc Perplexity et l’analyse 51Degrees du 3 mars 2026 distinguent PerplexityBot (qui respecte robots.txt) de Perplexity-User (qui l’ignore par design quand un utilisateur declenche une fetch).

C. Les humains référés depuis une IA

C’est la catégorie qui convertit. Un utilisateur pose une question à une IA, clique sur un lien dans la réponse, atterrit sur votre site. On le mesure par le referrer (quand il est transmis) et par le domaine source :

Domaine referrerPlateformeFiabilité du referrer
chatgpt.comChatGPT webBonne
chat.openai.comChatGPT legacy (redirige)Bonne
perplexity.ai, www.perplexity.aiPerplexity webBonne
gemini.google.comGemini webBonne
claude.aiClaude webVariable (souvent perdu en app)
copilot.microsoft.comMicrosoft CopilotBonne
Apps natives (iOS, Android)Toutes plateformesAucune (referrer perdu)
ChatGPT AtlasNavigateur OpenAIAucune (strippé)
Perplexity CometNavigateur PerplexityBonne (référent préservé)

Le cas Google AI Overviews

Particularité importante : Google AIO n’envoie pas de referrer distinctif. Quand un utilisateur clique sur une source dans une AI Overview, le referrer est google.com standard, identique à un clic organique classique. Il n’existe aucun paramètre permettant de distinguer un clic AIO d’un clic SERP bleu au 18 avril 2026. C’est le principal trou noir de la mesure GEO actuelle.

La méthode serveur en 4 étapes

Étape 1 : logger tous les user-agents

Sur Nginx, ajoutez ce log_format dédié IA :

log_format ai_traffic
  '$remote_addr $time_iso8601 $status '
  '"$request" "$http_referer" "$http_user_agent"';

server {
  access_log /var/log/nginx/access-ai.log ai_traffic;
  # ...
}

Sur Express (Node.js), un middleware minimal :

app.use((req, res, next) => {
  const ua = req.headers['user-agent'] || '';
  const ref = req.headers['referer'] || '';
  const ip = req.headers['x-forwarded-for'] || req.ip;
  if (isAiSignal(ua, ref)) {
    logAiHit({ ua, ref, ip, path: req.path, ts: Date.now() });
  }
  next();
});

Étape 2 : la regex de classification

Cette fonction classe chaque hit dans une des 3 cohortes : training_bot, live_fetcher, ou human_ai_referral.

const TRAINING_BOTS = /\b(GPTBot|ClaudeBot|CCBot|Bytespider|Applebot-Extended|Meta-ExternalAgent|Google-Extended|DuckAssistBot|cohere-training-data-crawler|cohere-ai)\b/i;

const LIVE_FETCHERS = /\b(OAI-SearchBot|ChatGPT-User|PerplexityBot|Perplexity-User|Claude-User|Claude-SearchBot|Google-CloudVertexBot|Amazonbot|MistralAI-User)\b/i;

const AI_REFERRERS = /^https?:\/\/([a-z0-9-]+\.)?(chatgpt\.com|chat\.openai\.com|perplexity\.ai|gemini\.google\.com|bard\.google\.com|claude\.ai|copilot\.microsoft\.com|you\.com|poe\.com)/i;

function classifyHit(userAgent, referer) {
  if (TRAINING_BOTS.test(userAgent)) return 'training_bot';
  if (LIVE_FETCHERS.test(userAgent)) return 'live_fetcher';
  if (AI_REFERRERS.test(referer)) return 'human_ai_referral';
  return null;
}

Trois pièges à éviter :

  1. Ordre des tests : tester d’abord training_bot, puis live_fetcher, puis human_ai_referral. Un ChatGPT-User peut avoir un referrer chatgpt.com, il faut le compter une seule fois dans la bonne cohorte.
  2. Word boundary \b : sans word boundary, Claude matcherait ClaudeBot et Claude-User en même temps dans des classifications différentes.
  3. Flag i : certains bots varient la casse selon les versions. gptbot existe aussi en minuscules.

Étape 3 : stocker et agréger

Deux collections distinctes suffisent. Une table (ou collection MongoDB) pour les requêtes brutes, une table agrégée quotidienne pour les dashboards :

// Collection: ai_hits_daily
{
  date: '2026-04-19',
  cohort: 'human_ai_referral',
  source: 'chatgpt.com',   // ou 'GPTBot' pour les bots
  path: '/products/foo',
  hits: 42,
  uniqueIps: 38
}

Indexez sur (date, cohort, source) pour des requêtes rapides. Purgez les IPs après 30 jours pour rester conforme RGPD.

Étape 4 : croiser avec GA4

Créez dans GA4 un Custom Channel Group avec un canal “AI Trafic” (ou “AI Assistant”) basé sur cette regex de source :

chatgpt\.com|chat\.openai\.com|perplexity\.ai|www\.perplexity\.ai|gemini\.google\.com|claude\.ai|copilot\.microsoft\.com|you\.com

Chemin exact dans GA4 (avril 2026) : Admin > Affichage des données > Groupes de canaux > Créer un groupe de canaux. Pour chaque canal à inclure : Ajouter un canal > Source > correspond au regex puis coller la regex ci-dessus.

Astuce puissante : une fois le groupe créé, cliquez sur le crayon à côté de “Groupe de canaux principal” pour définir votre groupe personnalisé comme principal. GA4 l’utilisera alors automatiquement dans tous les rapports d’acquisition par défaut, sans avoir à changer la dimension à chaque fois.

Limites importantes :

  • Propriétés standard (gratuit) : 2 groupes personnalisés maximum, jusqu’à 50 canaux par groupe
  • Propriétés GA4 360 : 5 groupes personnalisés, 50 canaux par groupe
  • Non disponible dans le rapport “Parcours d’événements clés” (Key events paths)

Chronologie après création du groupe

MomentCe qui se passeCe que vous voyez
T+0 (juste après clic “Enregistrer”)GA4 enregistre la règle côté serveur, la propagation démarreRien dans les rapports d’acquisition. Le dropdown “Groupe de canaux par défaut de la session” ne montre pas encore votre nouveau groupe
T+5 à 10 minLa règle commence à être appliquée sur le trafic entrant en temps réelVotre groupe peut apparaître dans Temps réel > Présentation mais pas encore dans les rapports standard
T+24 à 48 hPropagation complète. GA4 a recalculé l’historiqueVotre groupe apparaît dans le dropdown des rapports d’acquisition. Si vous l’avez défini comme “Groupe de canaux principal”, il remplace automatiquement le default dans tous les rapports
T+48 h et plusApplication rétroactive stableLes sessions des 13 derniers mois sont reclassifiées automatiquement selon votre nouveau groupe. Pas besoin d’attendre du nouveau trafic pour avoir un historique comparable

Pendant l’attente, deux vérifications utiles à faire tout de suite

1. Tester votre regex sur le trafic déjà existant

Allez dans Rapports > Acquisition > Acquisition de trafic, dans le dropdown des dimensions sélectionnez Source/Support de la session. Cherchez dans le tableau les lignes chatgpt.com / referral, perplexity.ai / referral, gemini.google.com / referral, claude.ai / referral, copilot.microsoft.com / referral.

  • Si ces sources apparaissent avec du volume → votre regex va bien agréger ce trafic dans 24-48 h
  • Si vous ne voyez aucune de ces sources → soit vous n’avez pas encore de trafic IA référé, soit (plus probable) il arrive massivement sans referrer et tombe en Direct. C’est exactement le blind rate qu’on est en train de mesurer

2. Préparer la comparaison avec vos logs serveur

Pendant que GA4 propage, récupérez dans vos logs (Cloudflare Analytics, Railway logs, Nginx access logs) le volume des 48 dernières heures pour :

  • Sessions humaines référées par une IA (user-agent navigateur standard + referrer matching la regex chatgpt.com|perplexity.ai|gemini.google.com|claude.ai|copilot.microsoft.com)
  • Crawlers IA (user-agent matching GPTBot|ClaudeBot|PerplexityBot|Google-Extended|CCBot|ChatGPT-User)

À J+2, vous comparez : logs serveur humains référés IA vs GA4 “AI Trafic”. Le gap = votre taux de cécité GA4. Il est typiquement de 60% à 75% sur les sites e-commerce avec un fort trafic mobile et app-native, selon le State of AI Traffic 2026.

Résultat attendu

Vous aurez deux mesures à confronter : ce que GA4 voit (trafic humain référé avec referrer préservé) et ce que vos logs voient (total réel incluant les referrer perdus). Le gap entre les deux chiffres est votre taux de cécité GA4. Sur les sites e-commerce avec un fort trafic IA non filtré et un trafic apps natives important, ce gap dépasse fréquemment 60%.

Le trick UTM ChatGPT

Depuis avril 2025 sur les citations principales, puis généralisé en juin 2025 aux liens secondaires (section More), ChatGPT ajoute utm_source=chatgpt.com sur les liens qu’il cite dans ses réponses. C’est la seule IA grand public qui le fait systématiquement. Les autres (Perplexity, Gemini, Claude, Copilot) n’ajoutent rien.

Conséquences pratiques :

  • Vous pouvez filtrer utm_source=chatgpt.com dans GA4 pour isoler une partie du trafic ChatGPT même quand le referrer est perdu. Cette source survit au copier-coller d’URL et aux apps natives iOS.
  • Si vous placez vos propres UTM dans les URLs canoniques déclarées via sitemap ou llms.txt, il y a de bonnes chances qu’une IA les recopie telles quelles quand elle cite votre page. Exemple : déclarer vos produits avec un utm_source=ai_commerce&utm_medium=discovery dans vos flux structurés crée un signal trackable.

Attention à ne pas abuser de cette technique. Les UTM internes doivent rester absents des URLs canoniques pour éviter la fragmentation d’indexation. Le bon endroit est le flux produit, le sitemap spécialisé, ou le llms.txt.

Matrice récapitulative des méthodes de mesure

Voici ce que chaque méthode voit réellement :

MéthodeCrawlers trainingFetchers liveHumains IARevenus attribués
GA4 natif (sans config)NonNonPartiel (referrer passe seulement)Sous-estime, gap important sur sites IA
GA4 + Custom Channel regexNonNonPartielSous-estime moderement
Logs serveur user-agentOuiOuiNonN/A
Logs serveur UA plus referrerOuiOuiOuiN/A
Cloudflare AI Crawl ControlOuiOuiPartiel (analytics referrer)N/A
Backend attribution (Shopify, Stripe)NonNonOui (via session)Fiable
Croisement logs plus backendOuiOuiOuiFiable

La seule configuration fiable est la dernière : logs serveur pour la mesure du volume + backend e-commerce pour l’attribution revenu + session ID partagé entre les deux pour joindre les deux vues.

Cloudflare AI Crawl Control

Si votre site est derrière Cloudflare, activez AI Crawl Control (ex-AI Audit, renommé en août 2025 lors de sa mise en disponibilité générale). Le dashboard donne par défaut un breakdown par crawler : requêtes, octets transférés, paths populaires, et depuis la mise à jour du 9 février 2026, un pattern-based grouping et des analytics referral/data transfer. Documentation : developers.cloudflare.com/ai-crawl-control.

Attention, certaines configurations Cloudflare activent un AI Scrapers Block qui peut surcharger votre robots.txt et bloquer des crawlers IA malgré un Allow: / explicite. Pour vérifier : Security > Bots. Si le bloc est actif et que vous voulez apparaître dans les réponses IA, désactivez-le ou ajustez la configuration.

Ce que ça change pour vos décisions

Quand vous aurez vos vrais chiffres, vous constaterez probablement trois choses :

1. Le volume IA est 2 à 3x supérieur à ce que vous croyiez. Même à 3 à 5% du trafic total, vous êtes déjà sur un canal qui convertit 42% mieux et génère 37% de revenu par visite en plus (Adobe, mars 2026). Le ROI est supérieur au social paid sur la plupart des catalogues e-commerce.

2. ChatGPT domine le mix référent humain mais pas le mix crawl. Selon les données Statcounter (mars 2026), la distribution des référents humains depuis les IA est : ChatGPT 78,16%, Gemini 8,65%, Perplexity 7,07%, Copilot 3,19%, Claude 2,91%. Mais en volume de crawl, GPTBot, ClaudeBot et Bytespider dominent alors qu’ils ne convertissent rien directement. Ne confondez pas les deux signaux.

3. Google AIO reste le trou noir. Selon une étude Search Engine Land (Tom Wells, mars 2026), 83% des produits du carrousel ChatGPT correspondent aux 40 premiers résultats organiques Google Shopping (chevauchement de titres, similarité ≥ 0,8). Le signal Google AIO est donc critique et vous ne pouvez pas le mesurer au clic. La seule façon de le tracker indirectement est de mesurer l’évolution de votre trafic “Google organic” sur les pages produit, et de comparer aux impressions Google Search Console filtrées sur les requêtes qui déclenchent une AIO.

Ce qu’il faut mettre en place cette semaine

Une checklist minimale pour sortir de l’angle mort :

  1. Déployer le log_format ai_traffic sur Nginx ou le middleware Express équivalent
  2. Ajouter la regex de classification en 3 cohortes dans une fonction classifyHit()
  3. Créer une table ou collection ai_hits_daily agrégée
  4. Créer dans GA4 le Custom Channel Group “AI Assistant” avec la regex de referrer
  5. Vérifier dans Cloudflare Security > Bots que AI Scrapers Block est désactivé si vous voulez être cité
  6. Lancer une requête quotidienne agrégée et comparer volume logs vs volume GA4 pour mesurer votre taux de cécité

En une semaine, vous aurez un vrai chiffre de trafic IA, un vrai split par plateforme, et une base pour toute décision d’investissement GEO. Vous aurez aussi probablement la mauvaise surprise de découvrir que Cloudflare bloquait vos crawlers IA depuis des mois.