Клік як метрика видимості повільно вмирає. Людина питає Google, отримує AI-відповідь і нікуди не переходить. Твій контент відпрацював, Google його прочитав і переказав, а ти про це не дізнався: ні кліка, ні часто навіть показу.
Ідею, як це обійти, кинув Terry Van Horne (@terryvanhorne.bsky.social): не випрошуй у Google дані про кліки, а виміряй, скільки AI-відповіді побудовано з твого контенту. Бо саме це тепер і є реальна видимість видавця.
TLDR:
- Grounding API від Google повертає, з яких джерел зібрана AI-відповідь, з точністю до байта.
- Беремо ту саму модель, що крутить AI Overviews (
gemini-3.5-flash), питаємо її свої запити з увімкненим Google Search і дивимось, скільки відповіді припадає на твій домен. - Зшиваємо це з кліками й показами з Search Console: отримуємо карту, де ти годуєш AI, але не отримуєш трафік.
- Важливо: це симуляція, а не доказ. І навіть жива перевірка лише приблизна, бо AI Overview міняється щохвилини й сильно персоналізований.
Нащо це треба
GSC не каже тобі, для яких запитів спрацював AI Overview і скільки він з'їв кліків. Окремого зрізу немає. Тож ти не бачиш найцінніше: запити, де твій контент формує відповідь, а трафік не приходить.
Цей метод дає наблизитись до цього зсередини. Замість того щоб гадати, ти бачиш приблизну частку: ось на запит "seo baza" твій сайт формує близько 36% AI-відповіді. А ось запит із 503 показами, де ти даєш чверть відповіді й маєш 0 кліків. Оце і є твоя зона ризику.
Обмеження
Grounding API відповідає на кожен запит, який ти йому даєш. Тому:
- Рядок у твоєму звіті не означає, що Google реально показав AI Overview для цього запиту живим користувачам.
- І не означає, що тебе процитували в справжньому AIO. Жива видача має своє ранжування, персоналізацію й геозалежність.
Те, що ти міряєш: якщо цей запит отримує AI-відповідь від тієї самої моделі, то скільки в ній твого контенту. Це проксі, а не доказ.
І ось що важливо: навіть жива перевірка через SERP API або DataForSEO не дає твердої метрики, бо AI Overview:
- генерується наново щоразу: джерела та їхній порядок міняються буквально щохвилини. Один і той самий запит з різницею в 5 хвилин дає різні позиції.
- підвантажується асинхронно: скрапери часто не встигають його зловити і повертають хибне "AIO немає".
- сильно персоналізований: залежить від акаунта, історії, локації й пристрою, тож у тебе в браузері і в чистого скрапера результат різний (Google про персоналізацію видачі).
Тому реалістично можна сказати хіба "нас у цій темі цитують чи ні". Точної позиції чи стабільного списку джерел AIO не дасть нікому.
Як це працює
Коли ти кличеш gemini-3.5-flash з інструментом google_search, у відповіді приходить блок groundingMetadata. Звідти беремо три речі:
groundingSupports: діапазони байтів відповіді (startIndex,endIndex) і те, яке джерело їх підкріплює. Звідси рахуємо твою частку.groundingChunks[].web.title: реальний домен джерела (самеtitle, боuriтам захований за редиректомvertexaisearch).webSearchQueries: підзапити (fan-out), які модель згенерувала сама. Це ті запити, що Google зазвичай приховує.
Покрокова інструкція
-
Отримай ключ Gemini API на aistudio.google.com/apikey. Безкоштовного тарифу вистачить.
-
Вивантаж свої запити з Search Console: або експортом, або через Search Analytics API (запит, кліки, покази, позиція).
-
Прожени кожен запит через grounding. Мінімальний виклик виглядає так:
const res = await fetch( `https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:generateContent?key=${KEY}`, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ contents: [{ parts: [{ text: query }] }], tools: [{ google_search: {} }], }), } ); const meta = (await res.json()).candidates[0].groundingMetadata; -
Порахуй свою частку (byte-share). Пробігаєшся по
groundingSupports, для кожного сегмента береш довжину в байтах і додаєш її домену зgroundingChunks[i].web.title. Частка домену це його байти поділити на всі атрибутовані байти:const byDomain = {}; let total = 0; for (const s of meta.groundingSupports ?? []) { const bytes = s.segment.endIndex - s.segment.startIndex; total += bytes; for (const i of s.groundingChunkIndices ?? []) { const d = meta.groundingChunks[i].web.title; byDomain[d] = (byDomain[d] || 0) + bytes; } } const myShare = (byDomain["твій-домен.com"] || 0) / total * 100; -
Зший із Search Console по полю
query. Тепер у тебе один рядок: запит, кліки, покази, позиція, твоя частка AI-відповіді, конкуренти, fan-out-запити. -
Візуалізуй. Найкорисніший графік: вісь X це твоя частка відповіді, вісь Y це кліки, розмір точки це покази. Можна закинути дані в BigQuery й підключити Data Studio, можна просто згенерувати HTML-дашборд.
Що робити з результатами
Розклади запити по квадрантах:
- Виграєш: висока частка і є кліки. Тут усе добре.
- Ризик zero-click: висока частка, 0 кліків. AI годується твоїм контентом і лишає користувача в себе. Це твій головний пробіл, з нього й починай.
- Підтягнути: частка є, але мала. Допрацюй сторінку, щоб забрати більше відповіді.
- Відсутній: маєш покази, але в AI-відповідь не потрапляєш зовсім. Прогалина видимості.
Окремо подивись на webSearchQueries: збери fan-out-запити по всіх своїх темах і звір зі своїми запитами в GSC. Ті, яких у тебе немає, це підказка, що писати далі.
Як це виглядає
Приклад дашборду SEO Baza:
| Запит | Частка | Покази | Топ-конкурент |
|---|---|---|---|
| українське seo комʼюніті | 26.8% | 503 | collaborator.pro |
| seo baeza | 39.1% | 10 | ipullrank.com |
| baza.com | 22% | 4 | usebaza.com |
| seo baja | 81.6% | 4 | blog.google |
| seo baz | 63.8% | 1 | seobazz.ir |
| Запит | Частка | Кліки | Покази | Квадрант |
|---|---|---|---|---|
| seo baja | 81.6% | 0 | 4 | zero-click ризик |
| seo baz | 63.8% | 0 | 1 | zero-click ризик |
| seo baeza | 39.1% | 0 | 10 | zero-click ризик |
| seo baza | 36% | 5 | 184 | виграєш |
| українське seo комʼюніті | 26.8% | 0 | 503 | zero-click ризик |
| baza.com | 22% | 0 | 4 | zero-click ризик |
| seo bazas | 15.2% | 0 | 17 | підтягнути |
| seo vasse | 4.3% | 0 | 2 | підтягнути |
| українська спільнота сео | 3% | 0 | 8 | підтягнути |
Скільки це коштує
Для gemini-3.5-flash (тариф Gemini 3.x): 5 000 запитів на місяць безкоштовно, далі $14 за 1000 пошукових запитів. Один промпт може запустити кілька пошуків, тож закладай приблизно потрійну кількість. Для типового сайту на кількасот запитів це фактично $0.
Що далі
Тепер у тебе є цифра, яка показує, де твій контент працює на чужу AI-відповідь без віддачі. Де ти є в AI-відповіді, але тобі від цього нічого немає. Де що можна покращити. Можна поміркувати нові ідеї, зробити звіт для клієнта, зробити красиві графіки, дашборди. І для себе також. Можна скормити цю статтю своїй улюбленій LLM, щоб вона побудувала тобі потрібний для цього інструмент.
А щоб тримати всі свої матеріали, нотатки й задачі в одному місці і доручити рутину AI-агенту, глянь гайд про Obsidian для SEOшника.