# Как массово извлекать рекламные объявления из ChatGPT: техническая архитектура


<!--
  Структурированные данные: модуль рендеринга (scripts/blog_render.py) вставляет плоские
  теги BlogPosting + Open Graph + Twitter в элемент <head> из приведенного выше фронтматтера.
  Соответствующий JSON-LD-файл FAQPage находится в файле faq-schema.jsonld в этой папке; объедините его
  со страницей (в идеале в виде одного объединенного @graph) во время публикации.
-->

# Как собирать данные о рекламе в ChatGPT в больших объемах: техническая архитектура

9 февраля 2026 года компания OpenAI начала тестирование рекламы внутри ChatGPT для авторизованных взрослых пользователей из США, пользующихся тарифными планами «Free» и «Go» ([OpenAI, «Тестирование рекламы в ChatGPT»](https://openai.com/index/testing-ads-in-chatgpt/)). Общедоступного каталога для запросов нет, а сопоставление происходит в рамках отдельных частных цепочек. Таким образом, изучение методов сбора данных о рекламе в ChatGPT не сводится к задаче синтаксического анализа. Это задача выборки: запустите специально разработанный набор промптов в подходящих сессиях с точной географической привязкой, зафиксируйте каждый спонсируемый блок и повторяйте процедуру до тех пор, пока показатели не стабилизируются.

> **Ключевые выводы**
> - Реклама показывается только авторизованным взрослым пользователям из США, использующим тарифные планы «Free» и «Go»; тарифные планы «Pro», «Business» и «Enterprise» остаются без рекламы, поэтому сеансы сбора данных должны проводиться на соответствующем тарифном плане ([TechCrunch, «ChatGPT запускает рекламу», 09.02.2026](https://techcrunch.com/2026/02/09/chatgpt-rolls-out-ads/)).
> - Центра прозрачности рекламы не существует, а сопоставление осуществляется на уровне отдельных личных переписок, поэтому единственный способ отслеживать рекламу — запускать множество разнообразных запросов и фиксировать результаты ([Search Engine Journal, 2026](https://www.searchenginejournal.com/see-competitor-ads-chatgpt-trendos-spa/575883/)).
> - При каждом появлении рекламы фиксируйте её заголовок, описание и конечный URL, а затем рассчитывайте долю показов как количество появлений, деленное на общее количество сеансов ([Search Engine Land, 2026](https://searchengineland.com/what-chatgpt-ads-data-reveals-about-your-competitors-479301)).
> - Реклама запускается по странам, поэтому для точного сбора данных по каждому рынку необходимо использовать локальные источники ([Euronews, 2026](https://www.euronews.com/next/2026/02/10/chatgpt-will-now-show-you-adverts-heres-everything-you-need-to-know)).
> - IP-адреса дата-центров быстро блокируются; IP-адреса частных пользователей от реальных интернет-провайдеров выглядят как обычный пользовательский трафик ([DataImpulse, «Лучшие прокси-серверы для сбора данных с помощью ИИ в 2026 году»](https://dataimpulse.com/blog/best-proxies-for-ai-scraping/)).

Данный документ является техническим руководством, дополняющим стратегическое руководство по [мониторингу рекламы в ChatGPT](https://www.joinmassive.com/blog/how-to-monitor-chatgpt-ads). Здесь мы пошагово рассмотрим фактический конвейер обработки данных.

[ИЗОБРАЖЕНИЕ: Экран инженера, на котором отображен конвейер данных с очередями запросов, георегионами и таблицей спонсируемой рекламы; тёмный интерфейс с оранжевыми акцентами — поисковые термины: конвейер данных, экран инженера, тёмный]

## Почему рекламу в ChatGPT сложно сканировать?

Рекламу в ChatGPT сложно извлечь, поскольку она одновременно является закрытой, контекстной и регионально ориентированной. Рекламные объявления появляются в блоках с пометкой «Спонсорские» под ответом и подбираются с учётом темы разговора, истории чата и предыдущих взаимодействий с рекламой, а не по точным ключевым словам ([StackAdapt, «Как разместить рекламу в ChatGPT»](https://www.stackadapt.com/resources/blog/how-to-advertise-on-chatgpt)). Два одинаковых запроса могут привести к отображению разных рекламодателей, поэтому одно наблюдение практически ничего не говорит.

Каждое проектное решение определяется тремя ограничениями. Во-первых, реклама отображается только для авторизованных взрослых пользователей из США, использующих тарифные планы «Free» или «Go», поэтому ваши сеансы должны соответствовать этим критериям. Во-вторых, сопоставление осуществляется на уровне отдельных личных ветвей, и нет единого каталога для поиска ([Search Engine Journal, 2026](https://www.searchenginejournal.com/see-competitor-ads-chatgpt-trendos-spa/575883/)). В-третьих, внедрение осуществляется по странам: сначала в США, затем в Великобритании, Японии, Южной Корее, Канаде, Австралии и Новой Зеландии, а в дальнейшем планируется охватить Мексику и Бразилию ([Euronews, 2026](https://www.euronews.com/next/2026/02/10/chatgpt-will-now-show-you-adverts-heres-everything-you-need-to-know)).

> Краткая справка: по состоянию на 9 февраля 2026 года, когда проводилось тестирование, реклама в ChatGPT показывается только авторизованным взрослым пользователям из США, использующим тарифные планы «Free» и «Go»; она отображается в блоках с пометкой «Sponsored», подбираемых контекстуально для каждого отдельного диалога, и не имеют общедоступного каталога, поэтому их можно увидеть только путем ввода различных запросов в сессиях, соответствующих критериям ([OpenAI, «Тестирование рекламы в ChatGPT»](https://openai.com/index/testing-ads-in-chatgpt/); [Search Engine Journal, 2026](https://www.searchenginejournal.com/see-competitor-ads-chatgpt-trendos-spa/575883/)).

<!-- [УНИКАЛЬНЫЙ ВЗГЛЯД] --> Закрытая поверхность переворачивает привычную экономику веб-парсинга. При классическом веб-парсинге анализ данных обходится недорого, а основные затраты связаны с доступом. Здесь же анализ блока «Спонсорские» не представляет сложности, а реальные затраты носят статистический характер: вам предстоит оценить скрытое распределение, поэтому ваша архитектура должна отдавать предпочтение размеру выборки и стабильности условий, а не изощрённым селекторам.

## Как осуществлять скрапинг рекламы ChatGPT от начала до конца?

Сбор данных о рекламе ChatGPT осуществляется с помощью восьмиэтапного конвейера, который преобразует набор подсказок в линию тренда. Этапы проходят от разработки до доставки: разработка подсказок, отбор сеансов, распределение по географическим регионам, рендеринг, захват, нормализация, расчёт доли показов, а затем планирование и хранение. Каждый этап подает данные на следующий, и весь цикл повторяется с определённой периодичностью, благодаря чему шумы, возникающие при однократном запуске, усредняются и превращаются в измеримый сигнал.

<figure>
  <svg viewBox="0 0 680 260" role="img" aria-label="Восьмиэтапный конвейер для сбора данных из рекламных объявлений ChatGPT: от разработки набора подсказок до запланированного хранения" xmlns="http://www.w3.org/2000/svg">
    <rect x="0" y="0" width="680" height="260" fill="#0a0a0f"/>
    <text x="24" y="34" fill="#faf4ec" font-family="Outfit, sans-serif" font-size="18" font-weight="600">Конвейер сбора рекламных объявлений ChatGPT</text>
    <text x="24" y="54" fill="#8e8b89" font-family="Outfit, sans-serif" font-size="12">Специально разработанный набор подсказок формирует линию тренда доли показов.</text>

    <!-- Строка 1 -->
    <rect x="24" y="78" width="142" height="40" rx="6" fill="#121117" stroke="#d74939"/>
    <text x="95" y="103" fill="#faf4ec" font-family="Outfit, sans-serif" font-size="12" text-anchor="middle">1. Набор подсказок</text>
    <rect x="190" y="78" width="142" height="40" rx="6" fill="#121117" stroke="#1d1d21"/>
    <text x="261" y="103" fill="#faf4ec" font-family="Outfit, sans-serif" font-size="12" text-anchor="middle">2. Сеанс, соответствующий критериям</text>
    <rect x="356" y="78" width="142" height="40" rx="6" fill="#121117" stroke="#1d1d21"/>
    <text x="427" y="103" fill="#faf4ec" font-family="Outfit, sans-serif" font-size="12" text-anchor="middle">3. Географическое распределение по рынкам</text>
    <rect x="522" y="78" width="134" height="40" rx="6" fill="#121117" stroke="#ff8163"/>
    <text x="589" y="103" fill="#faf4ec" font-family="Outfit, sans-serif" font-size="12" text-anchor="middle">4. Отображение</text>

 <!-- стрелки, ряд 1 -->
    <text x="178" y="103" fill="#8e8b89" font-family="'JetBrains Mono', monospace" font-size="14" text-anchor="middle">&#8594;</text>
    <text x="344" y="103" fill="#8e8b89" font-family="'JetBrains Mono', monospace" font-size="14" text-anchor="middle">&#8594;</text>
    <text x="510" y="103" fill="#8e8b89" font-family="'JetBrains Mono', monospace" font-size="14" text-anchor="middle">&#8594;</text>

    <!-- Строка 2 -->
    <rect x="24" y="158" width="142" height="40" rx="6" fill="#121117" stroke="#1d1d21"/>
    <text x="95" y="183" fill="#faf4ec" font-family="Outfit, sans-serif" font-size="12" text-anchor="middle">5. Область захвата</text>
    <rect x="190" y="158" width="142" height="40" rx="6" fill="#121117" stroke="#1d1d21"/>
    <text x="261" y="183" fill="#faf4ec" font-family="Outfit, sans-serif" font-size="12" text-anchor="middle">6. Нормализация</text>
    <rect x="356" y="158" width="142" height="40" rx="6" fill="#121117" stroke="#d74939"/>
    <text x="427" y="183" fill="#faf4ec" font-family="Outfit, sans-serif" font-size="12" text-anchor="middle">7. Доля показов</text>
    <rect x="522" y="158" width="134" height="40" rx="6" fill="#121117" stroke="#1d1d21"/>
    <text x="589" y="183" fill="#faf4ec" font-family="Outfit, sans-serif" font-size="12" text-anchor="middle">8. Расписание + магазин</text>

    <text x="178" y="183" fill="#8e8b89" font-family="'JetBrains Mono', monospace" font-size="14" text-anchor="middle">&#8594;</text>
    <text x="344" y="183" fill="#8e8b89" font-family="'JetBrains Mono', monospace" font-size="14" text-anchor="middle">&#8594;</text>
    <text x="510" y="183" fill="#8e8b89" font-family="'JetBrains Mono', monospace" font-size="14" text-anchor="middle">&#8594;</text>

    <text x="24" y="236" fill="#34d399" font-family="'JetBrains Mono', monospace" font-size="11">пропускайте весь конвейер с определенной периодичностью; суть сигнала заключается в повторении</text>
  </svg>
  <figcaption>Эталонный конвейер для сбора данных о рекламе с помощью ChatGPT. Методика описана в статье <a href="https://searchengineland.com/what-chatgpt-ads-data-reveals-about-your-competitors-479301">Search Engine Land «Что данные о рекламе из ChatGPT раскрывают о ваших конкурентах», 2026 г. </a>.</figcaption>
</figure>

Вот что делает каждый этап:

1. **Разработка набора промптов.** Создайте промпты, отражающие путь покупателя («лучшая CRM для небольших команд»), и промпты с упоминанием бренда («стоит ли [бренд] того»). Формулировка влияет на то, какие рекламные объявления срабатывают, поэтому рассматривайте этот набор как контролируемую переменную. Подробнее о создании набора см. в разделе [составление набора запросов для анализа рекламы в ChatGPT](https://www.joinmassive.com/blog/prompt-mapping-chatgpt-ads).
2. **Обеспечьте соответствие критериям сеанса.** Каждый запуск должен осуществляться авторизованным взрослым пользователем из США, использующим тарифные планы «Free» или «Go». В тарифных планах «Pro», «Business» и «Enterprise» реклама не отображается ([TechCrunch, 2026](https://techcrunch.com/2026/02/09/chatgpt-rolls-out-ads/)). Варьируйте историю сеансов, чтобы одна необъективная ветка не повлияла на выборку.
3. **Распределите данные по географическим регионам.** Поскольку запуск тестирования осуществляется по странам, сбор данных для каждого рынка должен производиться с локальных источников. Использование только данных из США приведёт к упущению рекламодателей из Великобритании, Японии или Канады по мере расширения тестирования.
4. **Отобразите диалог.** Отправьте запрос и зафиксируйте полностью отображённый ответ, включая любой спонсируемый блок. Именно на этом этапе требуются источники реальных пользователей, о чём пойдёт речь ниже.
5. **Извлеките данные о спонсируемом блоке.** Из отображённого результата извлеките заголовок объявления, описание объявления и конечный URL для каждого спонсируемого размещения ([Search Engine Land, 2026](https://searchengineland.com/what-chatgpt-ads-data-reveals-about-your-competitors-479301)).
6. **Проанализируйте и нормализуйте данные.** Сопоставьте исходные поля стабильной схеме. Нормализуйте названия рекламодателей и конечные URL-адреса, чтобы данные одного и того же рекламодателя не разбивались по разным строкам.
7. **Рассчитайте долю показов.** Просуммируйте количество показов по общему количеству запусков для каждого запроса и рынка. Подробнее о расчётах — чуть позже.
8. **Планирование и хранение.** Запускайте набор с фиксированной периодичностью и записывайте строки с отметками времени, чтобы доля показов отражала динамику, а не моментальный срез.

## Как запускать запросы в качестве подходящих сеансов с точной географической привязкой?

Вы запускаете подсказки в качестве допустимых сеансов, отправляя их с реальных пользовательских источников на целевом рынке, а затем фиксируя отображённый диалог. Именно на этом этапе решается, сможете ли вы собирать данные об ИИ-рекламе в больших объёмах или будете заблокированы на ранней стадии. Большинство платформ быстро помечают IP-адреса центров обработки данных, в то время как IP-адреса частных пользователей от реальных интернет-провайдеров выглядят как обычный трафик, а результаты работы ИИ отображаются с учётом региона и языка, поэтому для обеспечения точности требуются локальные IP-адреса на всех рынках ([DataImpulse, «Лучшие прокси для сбора данных с помощью ИИ в 2026 году»](https://dataimpulse.com/blog/best-proxies-for-ai-scraping/)). Выбор такой сети — это отдельное решение, сравниваемое в статье [«Прокси для частных пользователей против прокси центров обработки данных для рекламы с использованием ИИ»](https://www.joinmassive.com/blog/residential-vs-datacenter-proxies-ai-ads).

Именно здесь Massive напрямую вписывается в рабочий процесс. Massive — это сеть доступа к устройствам в сочетании со стеком рендеринга, которая возвращает чистый HTML-код или Markdown из любого общедоступного источника в любом месте, работая на реальных потребительских устройствах в более чем 195 странах. Её конечная точка Web Render API `/ai` возвращает завершённые ответы ChatGPT через источники, расположенные на устройствах реальных пользователей в выбранном вами регионе, в виде полного HTML-кода разговора, HTML-кода запроса, HTML-кода ответа, HTML-кода источников и массива подзапросов. Режим синхронной передачи возвращает ответ напрямую; асинхронный `/ai/completions` работает по принципу «очередь и извлечение» с геотаргетингом по стране, административному району или городу.

Massive предоставляет необходимые возможности; ваша команда разрабатывает набор подсказок и управляет процессом. Что касается сопутствующего конвейера, конечная точка «Browsing» (`/browser`) обеспечивает высококачественный вывод в формате Markdown и сохранение сеансов до 12 минут. Каждый IP-адрес подключается через SDK Massive, а платформа прошла аудит SOC 2, соответствует требованиям GDPR и сертифицирована AppEsteem, с полным аудиторским следом.

Цикл управления небольшой. Сложные части (подходящие источники, географическое таргетирование, рендеринг) находятся за вызовом рендеринга, поэтому ваш код сосредоточен на выборке и агрегации:

```python
# Illustrative sampling loop. The render_chatgpt() call abstracts an
# eligible, geo-targeted session; see your render provider's docs for
# exact endpoint parameters before wiring it up.
from collections import Counter

def sample_prompt(prompt, market, runs=25):
    appearances = Counter()
    for _ in range(runs):
        convo = render_chatgpt(prompt=prompt, geo=market)   # rendered HTML
        for box in find_sponsored_boxes(convo):             # may be zero
            ad = {
                "advertiser": normalize(box.title),
                "description": box.description,
                "final_url":  canonical(box.final_url),
                "prompt":     prompt,
                "market":     market,
            }
            store(ad)                                       # stage 8
            appearances[ad["advertiser"]] += 1
    # stage 7: impression share = appearances / total runs
    return {a: round(n / runs, 3) for a, n in appearances.items()}
```

Цикл намеренно упрощён. В производственной сборке добавлены повторные попытки, обнаружение спонсорских блоков с учетом изменений макета, валидация, отбрасывающая пустые рендеры, а также планирование с учётом особенностей каждого рынка.

## Как рассчитывается доля показов при повторных запусках?

Долю показов вычисляется путём деления количества показов рекламодателя на общее количество запусков для данного запроса и рынка. Если рекламодатель показывается в 12 из 25 запусков, это составляет 48 % доли показов для данного запроса и окна ([Search Engine Land, 2026](https://searchengineland.com/what-chatgpt-ads-data-reveals-about-your-competitors-479301)). Именно этот единый показатель позволяет преобразовать нестабильные данные по отдельным потокам в число, которое можно отслеживать и сравнивать.

Размер выборки имеет значение. Несколько показов дают нестабильную оценку, тогда как десятки показов на один запрос позволяют получить стабильный результат. Сохраняйте условия сбора данных неизменными — один и тот же рынок, уровень и формулировку запроса, — чтобы изменение показателя отражало результаты рекламного аукциона, а не особенности вашей настройки. Отслеживание конечного URL-адреса наряду с долей показов также позволяет определить точную целевую страницу, на которую конкурент направляет пользователей в каждом диалоге.

> Краткая справка: доля показов для рекламы в ChatGPT равна количеству запусков, в которых рекламодатель появляется, деленному на общее количество запусков для данного запроса и рынка; 12 появлений из 25 запусков соответствуют доле показов 48 % для данного запроса и временного интервала ([Search Engine Land, «Что данные о рекламе ChatGPT раскрывают о ваших конкурентах», 2026](https://searchengineland.com/what-chatgpt-ads-data-reveals-about-your-competitors-479301)).

## Как часто следует собирать данные и куда их направлять?

Сбор данных осуществляется с фиксированной периодичностью, а каждое наблюдение сохраняется в виде строки с отметкой времени, поскольку ценность заключается в тенденции, а не в моментальном снимке. Еженедельное или ежедневное выполнение одного и того же набора запросов для каждого рынка формирует историю, которую впоследствии невозможно восстановить. Рассматривайте сам график как часть методологии: изменение периодичности в ходе работы затрудняет сравнение двух временных интервалов.

Хранение данных не представляет сложности, если схема стабильна. Подойдет одна широкая таблица: запрос, рынок, временная метка запуска, рекламодатель, заголовок объявления, описание объявления, конечный URL. Доля показов в этом случае представляет собой запрос к этой таблице с группировкой по запросу, рынку и временному интервалу. Поскольку вы контролируете условия сбора данных, повторное выполнение того же запроса в следующем месяце даст сопоставимые результаты, что и является основной целью регулярного сбора данных о спонсируемых результатах ИИ.

## Примечание относительно объёма и терминологии платформы

Собирайте данные только из общедоступной рекламной зоны и не выходите за её пределы. Блок спонсируемой рекламы, который видит любой пользователь, имеющий на это право, является общедоступной информацией, и именно эту границу следует уважать. Не собирайте персональные данные, не пытайтесь обойти аутентификацию за пределами обычной сессии входа в систему и осуществляйте сбор данных с разумной периодичностью, а не перегружая сервис. Соблюдайте условия использования, указанные каждой платформой, составляйте набор промптов с учётом конкретной цели, а если вы ведёте коммерческую деятельность или работаете в крупных масштабах, проконсультируйтесь с юристом относительно вашего конкретного случая использования. Законодательство в этой сфере варьируется в зависимости от юрисдикции и постоянно меняется.

## Часто задаваемые вопросы

### Как собирать рекламные объявления ChatGPT, если нет общедоступного каталога?

Вместо поиска используйте выборку. Поскольку сопоставление происходит в рамках отдельных потоков без центра прозрачности, запускайте специально разработанный набор подсказок повторно в подходящих сессиях на территории США и фиксируйте каждое спонсируемое поле ([Search Engine Journal, 2026](https://www.searchenginejournal.com/see-competitor-ads-chatgpt-trendos-spa/575883/)). Объём и повторяемость позволяют превратить скрытую поверхность, доступную только в рамках отдельных потоков, в измеримый показатель доли показов, который можно отслеживать с течением времени.

### Почему для сбора данных о рекламе в ChatGPT требуются IP-адреса частных пользователей?

IP-адреса центров обработки данных быстро блокируются, тогда как IP-адреса частных пользователей от реальных интернет-провайдеров выглядят как обычный пользовательский трафик ([DataImpulse, «Лучшие прокси для сбора данных с помощью ИИ в 2026 году»](https://dataimpulse.com/blog/best-proxies-for-ai-scraping/)). Рекламные поверхности ИИ также отображаются с учётом региона и языка, а развёртывание происходит по странам, поэтому для географически точного сбора данных требуются локальные IP-адреса на каждом рынке, который вы хотите отслеживать.

### На каких тарифных планах ChatGPT действительно показывается реклама?

По состоянию на 9 февраля 2026 года, согласно результатам тестирования ([OpenAI, «Тестирование рекламы в ChatGPT»](https://openai.com/index/testing-ads-in-chatgpt/)), реклама отображается только на тарифных планах «Free» и «Go» и только для взрослых пользователей из США, авторизовавшихся в системе. Тарифы «Pro», «Business» и «Enterprise» остаются без рекламы ([TechCrunch, 2026](https://techcrunch.com/2026/02/09/chatgpt-rolls-out-ads/)). Сеансы сбора данных, проводимые на тарифах, не подпадающих под условия показа рекламы, не будут возвращать никаких спонсируемых блоков.

### Какие поля следует фиксировать для каждой рекламы?

Сбор данных должен включать заголовок объявления, описание объявления и конечный URL-адрес для каждого спонсируемого размещения, а также запрос, рынок и временную метку показа ([Search Engine Land, 2026](https://searchengineland.com/what-chatgpt-ads-data-reveals-about-your-competitors-479301)). Эти поля позволяют вам стандартизировать данные о рекламодателях, отслеживать целевые страницы и рассчитывать долю показов как отношение количества появлений к общему количеству показов для каждого запроса и рынка.

### Разрешен ли скрапинг рекламных объявлений ChatGPT?

Собирайте только общедоступные рекламные блоки, которые видит любой пользователь, имеющий на это право; избегайте сбора персональных данных и соблюдайте условия, установленные каждой платформой, а также разумную периодичность. Границами являются общедоступные рекламные поверхности. Рассматривайте сбор данных как наблюдение за общедоступными размещениями, а не как массовый сбор, и проконсультируйтесь с юристом в случае коммерческого или крупномасштабного использования, поскольку правила варьируются в зависимости от юрисдикции.

## Какие выводы из этого можно сделать

Сбор данных о рекламе в ChatGPT — это упражнение по дисциплинированной выборке, а не разработке механизмов отбора. Восьмиэтапный конвейер обеспечивает стабильные условия: заранее разработанный набор подсказок, соответствующие критериям сеансы, правильный географический регион и отображение страниц для реальных пользователей, благодаря чему рассчитанные вами показатели доли показов сохраняют значимость на протяжении нескольких недель. Создайте цикл один раз, запускайте его с заданной периодичностью и сохраняйте каждую строку.

Решающим фактором является уровень сбора данных: подходящие сеансы с точной географической привязкой, которые выглядят как действия реальных пользователей. Именно здесь идеально подходит конечная точка Massive `/ai` и охват более 195 стран, возвращающий варианты завершения фраз ChatGPT с устройств реальных пользователей на выбранном вами рынке. Начните отбор данных прямо сейчас, соблюдайте правила публичной рекламной площадки, и вы получите данные о тенденциях, которые невозможно воссоздать задним числом. Что касается стратегической концепции, вернитесь к статье [«Как отслеживать рекламу ChatGPT»](https://www.joinmassive.com/blog/how-to-monitor-chatgpt-ads).
