Google ne vous donne toujours pas de données de clic granulaires pour les AI Overviews. Pourtant, ces résultats générés par IA occupent désormais la majorité de la surface visible au-dessus de la ligne de flottaison sur les requêtes informationnelles. Le problème n'est plus "faut-il s'intéresser à l'AI Search ?" mais "comment diable mesure-t-on quelque chose que Google refuse de rendre transparent ?".
Le vide métrologique de l'AI Search
Le Search Engine Journal a récemment organisé un webinaire sur la mesure de l'AI Search, mettant en lumière un constat que tout SEO technique expérimente au quotidien : les KPIs traditionnels — impressions, clics, CTR, position moyenne — ne capturent plus la réalité de la SERP.
Le problème est structurel. Google Search Console regroupe les AI Overviews (AIO) dans les données organiques sans les isoler. Quand un de vos résultats apparaît comme source citée dans une AIO, vous voyez une impression dans la GSC, mais vous ne savez pas si l'utilisateur a vu votre lien, cliqué sur le chevron d'expansion, ou simplement lu la réponse synthétisée et quitté la page. Cette opacité a déjà été documentée et ne semble pas en voie de résolution.
Le vrai danger : prendre des décisions stratégiques sur des métriques contaminées. Si votre CTR organique chute de 4,2% à 2,8% sur un cluster de mots-clés, est-ce que votre contenu a perdu en pertinence, ou est-ce que les AIO ont simplement absorbé le clic ? Sans segmentation, vous ne pouvez pas répondre.
Ce que la GSC montre — et ce qu'elle cache
Depuis début 2025, la Search Console affiche un filtre "AI Overviews" dans le rapport Performance. C'est un progrès, mais il reste limité. Ce filtre vous dit combien d'impressions proviennent de résultats où une AIO est présente. Il ne vous dit pas :
- Si votre site est effectivement cité dans l'AIO elle-même
- Le taux de clic spécifique au lien dans l'AIO vs. le lien organique classique en dessous
- Si l'utilisateur a interagi avec l'AIO (expansion, scroll, clic sur "Show more")
Résultat : vous pilotez à l'aveugle sur la portion de trafic qui croît le plus vite.
Construire un framework de KPIs pour l'AI Search
Plutôt que d'attendre que Google daigne fournir des données granulaires, il faut construire votre propre couche de mesure. Voici un framework en trois niveaux.
Niveau 1 : Visibilité dans les AIO (Share of AI Voice)
Le premier KPI à tracker est votre taux de présence dans les AI Overviews pour vos mots-clés stratégiques. Ce n'est pas un CTR, ce n'est pas un ranking classique — c'est une métrique de visibilité de marque.
L'approche technique : scraper les SERPs de manière programmatique pour détecter la présence d'AIO et vérifier si votre domaine y est cité. Voici un script Node.js qui utilise l'API SerpAPI (ou tout wrapper SERP de votre choix) pour collecter ces données :
import fetch from 'node-fetch';
interface AIOResult {
keyword: string;
hasAIO: boolean;
citedDomains: string[];
isOurDomainCited: boolean;
timestamp: string;
}
async function checkAIOPresence(
keyword: string,
targetDomain: string,
apiKey: string
): Promise<AIOResult> {
const params = new URLSearchParams({
q: keyword,
api_key: apiKey,
engine: 'google',
gl: 'fr',
hl: 'fr',
});
const response = await fetch(
`https://serpapi.com/search.json?${params.toString()}`
);
const data = await response.json();
const aiOverview = data.ai_overview;
const citedDomains: string[] = [];
if (aiOverview?.references) {
for (const ref of aiOverview.references) {
try {
const domain = new URL(ref.link).hostname.replace('www.', '');
citedDomains.push(domain);
} catch {
// URL malformée, on ignore
}
}
}
return {
keyword,
hasAIO: !!aiOverview,
citedDomains: [...new Set(citedDomains)],
isOurDomainCited: citedDomains.includes(targetDomain.replace('www.', '')),
timestamp: new Date().toISOString(),
};
}
// Batch check sur un cluster de mots-clés
async function auditAIOVisibility(
keywords: string[],
targetDomain: string,
apiKey: string
) {
const results: AIOResult[] = [];
for (const kw of keywords) {
const result = await checkAIOPresence(kw, targetDomain, apiKey);
results.push(result);
// Rate limiting — respectez les limites de votre API
await new Promise((r) => setTimeout(r, 2000));
}
const totalWithAIO = results.filter((r) => r.hasAIO).length;
const totalCited = results.filter((r) => r.isOurDomainCited).length;
console.log(`Keywords analysés: ${results.length}`);
console.log(`SERPs avec AIO: ${totalWithAIO} (${((totalWithAIO / results.length) * 100).toFixed(1)}%)`);
console.log(`Notre domaine cité dans AIO: ${totalCited} (${totalWithAIO > 0 ? ((totalCited / totalWithAIO) * 100).toFixed(1) : 0}%)`);
return results;
}
Ce script vous donne votre Share of AI Voice : le pourcentage de requêtes où votre domaine est cité dans les AIO parmi toutes les requêtes qui déclenchent une AIO. C'est l'équivalent moderne du Share of Voice classique, adapté au nouveau paradigme.
Niveau 2 : Impact sur le trafic (Delta Analysis)
Le deuxième KPI est le delta de trafic organique corrélé à l'apparition des AIO. L'idée : pour chaque cluster de mots-clés, comparer le trafic avant et après le déploiement des AIO sur ces requêtes.
En pratique, vous pouvez extraire les données de la Search Console via l'API et les croiser avec vos données de scraping AIO :
import pandas as pd
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
def get_gsc_data(property_url: str, start_date: str, end_date: str, credentials: Credentials):
service = build('searchconsole', 'v1', credentials=credentials)
request_body = {
'startDate': start_date,
'endDate': end_date,
'dimensions': ['query', 'date'],
'rowLimit': 25000,
'dimensionFilterGroups': [{
'filters': [{
'dimension': 'searchAppearance',
'operator': 'equals',
'expression': 'AI_OVERVIEW'
}]
}]
}
response = service.searchanalytics().query(
siteUrl=property_url,
body=request_body
).execute()
rows = response.get('rows', [])
data = []
for row in rows:
data.append({
'query': row['keys'][0],
'date': row['keys'][1],
'clicks': row['clicks'],
'impressions': row['impressions'],
'ctr': row['ctr'],
'position': row['position']
})
return pd.DataFrame(data)
# Comparer AIO vs non-AIO pour les mêmes requêtes
def compute_aio_impact(df_aio: pd.DataFrame, df_all: pd.DataFrame):
"""
df_aio: données filtrées AI_OVERVIEW
df_all: données sans filtre searchAppearance
"""
aio_queries = set(df_aio['query'].unique())
df_all['has_aio'] = df_all['query'].isin(aio_queries)
summary = df_all.groupby('has_aio').agg(
avg_ctr=('ctr', 'mean'),
avg_clicks=('clicks', 'mean'),
total_impressions=('impressions', 'sum')
)
print("Impact AIO sur les métriques:")
print(summary)
return summary
Ce type d'analyse révèle souvent un pattern contre-intuitif : sur certains clusters, les requêtes avec AIO affichent un CTR plus élevé que celles sans AIO. Cela arrive quand votre contenu est cité dans l'AIO avec un lien visible — l'utilisateur vous voit comme une source de confiance et clique davantage. Sur d'autres clusters, le CTR s'effondre parce que la réponse AIO est auto-suffisante. La granularité par cluster est essentielle.
Niveau 3 : Attribution multi-touch avec marquage UTM avancé
Le troisième niveau consiste à tracer l'origine exacte des visites provenant d'une AIO dans votre outil d'analytics. GA4 a commencé à identifier le trafic provenant des assistants IA, mais le suivi reste rudimentaire.
Pour aller plus loin, vous pouvez détecter côté client si l'utilisateur arrive via un contexte AIO en analysant le referrer et les paramètres de l'URL :
// Détection heuristique d'un clic provenant d'une AI Overview
(function detectAIOTraffic() {
const referrer = document.referrer;
const urlParams = new URLSearchParams(window.location.search);
// Google utilise parfois des fragments ou paramètres spécifiques
// pour les clics provenant des AIO
const isGoogleReferrer = referrer.includes('google.com/search') ||
referrer.includes('google.fr/search');
// Heuristique : si le paramètre sxsrf ou ved contient des patterns
// associés aux AIO (ce qui nécessite un reverse engineering régulier)
const ved = urlParams.get('ved');
const isLikelyAIO = ved && (
ved.includes('2ahUKEw') && ved.length > 80
// Pattern observé — à valider sur vos propres données
);
if (isGoogleReferrer && isLikelyAIO) {
// Envoyer un événement GA4
if (typeof gtag === 'function') {
gtag('event', 'aio_click', {
event_category: 'ai_search',
event_label: window.location.pathname,
page_referrer: referrer,
});
}
// Ou envoyer vers votre propre endpoint analytics
navigator.sendBeacon('/api/analytics/aio-click', JSON.stringify({
path: window.location.pathname,
timestamp: Date.now(),
referrer: referrer,
ved: ved,
}));
}
})();
Avertissement : cette approche repose sur du reverse engineering des paramètres Google, qui changent régulièrement. C'est fragile par nature. Croisez toujours avec vos données GSC pour valider la cohérence.
Le scénario concret : un e-commerce de 8 000 produits face aux AIO
Prenons un cas réaliste. TechDirect, un e-commerce français spécialisé en matériel informatique, exploite 8 200 pages produit et 340 guides d'achat. Avant le déploiement massif des AIO en France (Q3 2025), leur trafic organique mensuel était de 420 000 sessions, dont 38% provenait de requêtes informationnelles ("meilleur écran 4K pour le gaming", "différence DDR4 vs DDR5").
Ce qui s'est passé : entre septembre 2025 et janvier 2026, le trafic informationnel a chuté de 23%. Pas de perte de positions classiques — les pages rankaient toujours en P1-P3. Mais les AIO absorbaient le clic.
Le diagnostic : en appliquant le framework ci-dessus, l'équipe SEO a découvert :
- 72% de leurs requêtes informationnelles déclenchaient désormais une AIO
- TechDirect était cité comme source dans seulement 31% de ces AIO
- Le CTR sur les requêtes avec AIO était de 1,8% contre 5,4% sur les requêtes sans AIO
- Mais les requêtes où TechDirect était cité dans l'AIO affichaient un CTR de 6,2% — supérieur au baseline
La stratégie : plutôt que de lutter contre la marée, l'équipe a pivoté vers une optimisation pour la citation dans les AIO. Ils ont restructuré leurs guides d'achat avec des réponses directes, factuelles, dans les 150 premiers mots de chaque page. Ils ont ajouté du balisage structuré plus granulaire. Après 3 mois, leur taux de citation dans les AIO est passé de 31% à 54%, et le trafic informationnel a récupéré 14 des 23 points perdus.
Le point clé : sans le KPI de "Share of AI Voice", l'équipe aurait vu une chute de trafic et aurait peut-être conclu à un problème de contenu ou de positionnement. La métrique correcte a permis d'identifier le vrai levier.
Les KPIs traditionnels à recalibrer
L'AI Search ne rend pas les KPIs classiques obsolètes — elle impose de les recalibrer.
Le CTR : segmenter ou mourir
Le CTR organique global est désormais une métrique polluée. Vous devez le segmenter en trois buckets :
- CTR sur SERPs sans AIO : votre baseline réel, comparable aux données historiques
- CTR sur SERPs avec AIO, votre site cité : votre performance en contexte IA favorable
- CTR sur SERPs avec AIO, votre site non cité : le trafic que vous êtes en train de perdre
Pour obtenir cette segmentation dans un dashboard Looker Studio, croisez vos données GSC (via le filtre searchAppearance: AI_OVERVIEW) avec vos données de scraping SERP. La requête BigQuery ressemble à ceci si vous exportez vos données GSC vers BigQuery :
WITH aio_queries AS (
SELECT DISTINCT query
FROM `project.dataset.searchconsole_data`
WHERE search_appearance = 'AI_OVERVIEW'
AND data_date BETWEEN '2026-04-01' AND '2026-04-30'
),
cited_queries AS (
SELECT DISTINCT keyword AS query
FROM `project.dataset.aio_scraping_results`
WHERE is_our_domain_cited = TRUE
AND scrape_date BETWEEN '2026-04-01' AND '2026-04-30'
)
SELECT
CASE
WHEN aq.query IS NULL THEN 'no_aio'
WHEN cq.query IS NOT NULL THEN 'aio_cited'
ELSE 'aio_not_cited'
END AS segment,
AVG(gsc.ctr) AS avg_ctr,
SUM(gsc.clicks) AS total_clicks,
SUM(gsc.impressions) AS total_impressions
FROM `project.dataset.searchconsole_data` gsc
LEFT JOIN aio_queries aq ON gsc.query = aq.query
LEFT JOIN cited_queries cq ON gsc.query = cq.query
WHERE gsc.data_date BETWEEN '2026-04-01' AND '2026-04-30'
GROUP BY segment
ORDER BY segment;
Les impressions : distinguer la vanité de la valeur
Une impression dans une AIO n'a pas la même valeur qu'une impression en position 3 organique. Dans le premier cas, votre marque apparaît dans un contexte de réponse synthétisée — l'utilisateur peut ne jamais voir votre nom. Dans le second, votre title et votre meta description sont affichés en pleine page.
Le KPI pertinent ici est le taux de conversion par impression plutôt que le volume brut d'impressions. Si 10 000 impressions AIO génèrent 50 conversions et que 10 000 impressions organiques classiques en génèrent 200, vous savez où concentrer vos efforts.
Le positionnement : la fin de la "position 1"
Le concept de position 1 perd son sens quand une AIO occupe 400 pixels au-dessus de votre résultat. Ce qui compte désormais, c'est la visibilité effective au-dessus du fold. Des outils comme Screaming Frog, combinés avec des captures de SERP automatisées (via Puppeteer ou Playwright), permettent de mesurer le pixel rank — la position en pixels de votre premier résultat visible par rapport au haut de la viewport.
Screaming Frog permet d'exporter les SERP features détectées pour chaque mot-clé via son mode SERP. Combiné avec un script de capture, vous pouvez construire une base de données de l'évolution du pixel rank dans le temps.
Ce que les LLMs ne mesurent pas (et pourquoi c'est un problème)
Un angle rarement abordé : l'AI Search ne se limite plus à Google. ChatGPT, Perplexity, Claude, Gemini — chacun de ces systèmes peut citer votre contenu comme source. Et aucun d'entre eux ne vous fournit de données de performance.
Perplexity affiche les sources, mais ne vous envoie pas de trafic avec un referrer traçable de manière fiable. ChatGPT avec navigation web peut visiter votre page, extraire l'information, et la restituer à l'utilisateur sans jamais générer un clic dans vos analytics.
Le KPI émergent ici est le Brand Mention Rate dans les réponses LLM. Vous pouvez le mesurer en exécutant régulièrement des prompts liés à votre domaine d'expertise sur les principaux LLMs et en comptant la fréquence à laquelle votre marque est mentionnée ou votre contenu est cité. C'est l'approche détaillée dans les expérimentations au niveau du prompt.
Ce monitoring est fastidieux manuellement. C'est exactement le type de tâche où un outil de monitoring automatisé comme Seogard prend tout son sens — détecter les variations de citations, les disparitions de mentions, les régressions dans la visibilité IA de manière continue plutôt que ponctuelle.
L'audit technique adapté à l'AI Search
Vos pages doivent être techniquement irréprochables pour être sélectionnées comme sources par les systèmes d'IA. Les critères vont au-delà du SEO classique.
Le SSR comme prérequis absolu
Les AI Overviews et les systèmes de grounding de Bing (qui alimente Copilot) ont des exigences spécifiques sur l'accessibilité du contenu. Un SPA React qui rend son contenu côté client a peu de chances d'être cité. Le contenu doit être dans le HTML initial.
Vérifiez avec un curl simple :
# Vérifier que le contenu principal est dans le HTML initial (SSR)
curl -s -A "Mozilla/5.0 (compatible; Googlebot/2.1)" \
"https://techdirect.fr/guides/meilleur-ecran-4k-gaming" \
| grep -c "DDR5\|temps de réponse\|taux de rafraîchissement"
# Si le count est 0, votre contenu est rendu côté client
# et probablement invisible pour les systèmes d'IA
Les leçons de JavaScript SEO sur les sites e-commerce s'appliquent doublement dans le contexte de l'AI Search. Un contenu invisible au premier rendu est un contenu inexistant pour les LLMs qui grounding leurs réponses.
Le balisage structuré comme signal de confiance
Les systèmes d'IA privilégient le contenu structuré, vérifiable, attribuable. Le schema markup n'est plus seulement un levier pour les rich results (d'autant que Google a retiré les FAQ rich results) — il sert de signal de confiance pour les systèmes de grounding.
Assurez-vous au minimum d'implémenter :
ArticleouTechArticleavecdateModifiedà jourauthoravec un lien vers une page auteur qui elle-même a un schemaPersoncitationpour toute donnée sourcéespeakablepour les portions de contenu que vous voulez voir reprises vocalement
Le crawl des agents IA
Un nouveau type de visiteur apparaît : les agents IA qui crawlent votre site pour alimenter leurs réponses. Vérifiez vos logs serveur pour les user-agents comme ChatGPT-User, PerplexityBot, ClaudeBot, Google-Extended. Si vous les bloquez dans votre robots.txt, vous disparaissez de ces systèmes.
Le KPI associé : le volume de crawl par agent IA, mesuré via l'analyse de logs. Une baisse soudaine du crawl par PerplexityBot peut indiquer un problème technique (erreurs 5xx, timeout) avant même que vous ne constatiez une baisse de citations.
La couche de monitoring manquante
Le problème fondamental de la mesure en AI Search, c'est que chaque métrique décrite ci-dessus provient d'une source différente : GSC pour les impressions, scraping SERP pour la présence AIO, logs serveur pour le crawl des agents, prompts manuels pour le Brand Mention Rate, GA4 pour l'attribution.
Sans consolidation, vous passez votre temps à croiser des fichiers Excel au lieu d'analyser des tendances. L'approche la plus résiliente — et celle que les équipes d'audit technique pour l'ère AI Search recommandent — consiste à centraliser ces signaux dans un pipeline automatisé.
Le pipeline idéal :
- Extraction quotidienne des données GSC via l'API (avec filtre AIO)
- Scraping hebdomadaire des SERPs pour vos top 500 mots-clés (présence AIO + domaines cités)
- Analyse de logs continue pour les user-agents IA
- Prompting mensuel des LLMs sur 50 requêtes stratégiques
- Consolidation dans un dashboard unique avec alertes sur les variations significatives
Seogard adresse une partie de cette problématique en détectant automatiquement les régressions techniques (meta disparues, SSR cassé, erreurs de crawl) qui pourraient vous faire perdre votre éligibilité comme source IA — mais la couche de mesure de visibilité IA reste un chantier ouvert pour l'ensemble de l'industrie.
Les limites de toute approche de mesure actuelle
Soyons honnêtes sur les trade-offs. Chaque méthode décrite dans cet article a des failles :
- Le scraping SERP est fragile face aux changements de layout Google et potentiellement en violation des ToS
- L'analyse de logs ne capture que les crawls, pas l'utilisation effective de votre contenu dans les réponses
- Le Brand Mention Rate via prompting dépend de la variabilité des réponses LLM (le même prompt peut donner des résultats différents)
- Le filtre AIO de la GSC mélange les impressions où vous êtes cité et celles où vous êtes simplement présent dans la SERP qui contient une AIO
Aucune de ces métriques, prise isolément, ne raconte l'histoire complète. C'est leur combinaison et leur suivi dans le temps qui révèle les tendances actionnables. Le SEO qui attend la métrique parfaite ne mesure rien. Le SEO qui triangule des signaux imparfaits prend des décisions éclairées.
L'AI Search est un problème de visibilité à trois couches distinctes : la couche technique (votre contenu est-il crawlable et structuré ?), la couche éditoriale (votre contenu est-il la meilleure source disponible ?), et la couche de mesure (pouvez-vous prouver ce qui fonctionne ?). Les deux premières sont matures. La troisième est le chantier de 2026. Commencez à instrumenter dès maintenant — ceux qui auront 6 mois de données historiques quand Google ouvrira enfin le robinet des métriques AIO auront un avantage décisif.