Иллюстрация скрапера Google Ads TransparencyПоиск, YouTube и Display

Скрапер Google Ads Transparency.

Найдите рекламодателя и соберите его открытую рекламу в Google. Сравните форматы, время появления креативов и сообщения для разных рынков.

Запустить на Apify

Как использовать этот скрапер.

Попробуйте эти сценарии для маркетинга, роста и изучения конкурентов.

01

Сравните выбор каналов у конкурентов

Перед запуском SaaS изучите три домена конкурентов. Посмотрите форматы и сообщения в поиске, Display и видео. Используйте примеры для планирования тестов каналов.

Создайте каталог креативов конкурентов с заметками о каналах, которые хотите изучить.

02

Сравните рекламу на двух рынках

При исследовании розничного запуска следите за рекламодателем в двух целевых странах. Используйте даты первого и последнего показа, чтобы сравнить появление креативов и различия текстов.

Подготовьте сравнение стран со ссылками на открытые рекламные записи.

03

Сохраните примеры для видео- или Display-кампании

Для небольшой группы рекламодателей включите дополнительные данные и сохраните URL вариантов. Получите доступные публичные ID YouTube и изучите материалы перед началом производства.

Разложите материалы по форматам, чтобы команда могла находить примеры для кампаний.

ОТ ПЕРВОГО ЗАПУСКА К РЕГУЛЯРНОЙ РАБОТЕ

Первый запуск, шаг за шагом.

  1. Откройте Actor на Apify, выберите Input и перейдите в редактор JSON, чтобы вставить конфигурацию.
  2. Вставьте пример в редактор JSON и замените nike.com сайтом рекламодателя. Проверьте найденного рекламодателя в первых результатах: поиск по домену может перейти к поиску по названию.
  3. Выберите один регион и ограничьте запуск 50 уникальными объявлениями. Оставьте fetchAdDetails и resolveMedia равными false, пока не проверите поля списка. Обе опции могут добавлять запросы для каждого объявления.
  4. Запустите Actor и посмотрите журнал. Проверьте распознанные цели и фильтры, прежде чем считать пустой результат отсутствием данных.
  5. Откройте Storage → Dataset, проверьте несколько записей и экспортируйте вложенные данные в JSON или таблицу для первого просмотра в CSV.
Конфигурация первого запуска
{
  "domains": ["nike.com"],
  "regions": ["GB"],
  "platform": "all",
  "maxAds": 50,
  "fetchAdDetails": false,
  "resolveMedia": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}

Вставьте это в редактор JSON Actor. Перед запуском замените примеры своими целями.

Посмотреть актуальные параметры на Apify

Выберите способ поиска.

Рекламодателя можно указать названием, доменом, ID или ссылкой из Transparency Center. Используйте ID, если у бренда несколько юридических лиц или поиск по названию выбирает другое.

Способ поискаКогда использоватьЧто меняется
Домены сайтовКогда использоватьУ вас есть список конкурентов для наблюдения.Что меняетсяПроверенные домены вроде nike.com точнее названия бренда. При отсутствии совпадения возможен поиск по названию; проверьте выбранного рекламодателя.
Название рекламодателя или брендаКогда использоватьВы хотите найти подходящие результаты, прежде чем выбрать конкретные цели.Что меняетсяИщите по названиям брендов или компаний. Actor также проверяет домен и выбирает рекламодателя. Проверьте найденную организацию; для точного выбора используйте AR ID.
ID рекламодателейКогда использоватьВы точно знаете, по какому объекту хотите собрать данные.Что меняетсяAR ID из ссылок Центра прозрачности. Они исключают неоднозначность названий и позволяют отслеживать одну юридическую организацию во времени.
Ссылки из библиотеки рекламыКогда использоватьВы уже настроили поиск на исходном сайте.Что меняетсяВставляйте ссылки рекламодателей из Центра прозрачности. Каждая сохраняет регион и платформу; общие параметры заполняют отсутствующие фильтры.

Важное различие

Оставляет объявления, последний показ которых был в эту дату или позже. Фильтрация выполняется после сбора: у Google нет фильтра дат на сервере, поэтому запросов может не стать меньше.

Сравнить с похожим скрейпером

Все параметры с объяснениями.

Используйте точные имена полей ниже в JSON. В форме Apify вводите элементы списков отдельно и соблюдайте числовые и логические типы.

Значение по умолчанию и предзаполнение различаются. Первое действует при пропуске настройки; второе является примером в форме Apify. Проверяйте цели и лимиты перед каждым запуском. У некоторых настроек нет значения по умолчанию в схеме. Всё равно нужно указать хотя бы одну поддерживаемую цель.

Цели и поисковые запросы7
searchTerms
СписокПример в форме: ["Nike"]

Ищите по названиям брендов или компаний. Actor также проверяет домен и выбирает рекламодателя. Проверьте найденную организацию; для точного выбора используйте AR ID.

domains
Список

Проверенные домены вроде nike.com точнее названия бренда. При отсутствии совпадения возможен поиск по названию; проверьте выбранного рекламодателя.

domain
Текст

Один домен вместо списка domains. Используйте основной домен: путь на сайте не ограничивает объявления рекламодателя.

advertiserIds
Список

AR ID из ссылок Центра прозрачности. Они исключают неоднозначность названий и позволяют отслеживать одну юридическую организацию во времени.

advertiserId
Текст

Вариант advertiserIds для одного рекламодателя. Копируйте AR из его ссылки, а не ID креатива.

transparencyUrls
Список

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

transparencyUrl
Текст

Одна ссылка рекламодателя с приоритетом как у transparencyUrls. Регион в ссылке важнее другого общего региона.

Рынки, даты и фильтры5
regions
Список

Несколько стран создают отдельные задачи по рекламодателю и региону. Дубликаты удаляются по creative_id. Пустое поле охватывает доступные регионы; неподдерживаемые страны пропускаются.

region
Текст

Одна страна, используемая только при пустом regions. Для сравнения рынков выбирайте regions.

platform
ТекстПо умолчанию: all

Ограничивает рекламную площадку Google. Выбирайте search, youtube, display, shopping, maps, play или all. Итоги по площадкам могут пересекаться.

Рекомендуемые значения JSON
all search youtube display shopping maps play
minDate
Текст

Оставляет объявления, последний показ которых был в эту дату или позже. Фильтрация выполняется после сбора: у Google нет фильтра дат на сервере, поэтому запросов может не стать меньше.

maxDate
Текст

Оставляет объявления, впервые показанные не позднее этой даты. Вместе с minDate выбирает показы, пересекающиеся с периодом. Используйте YYYY-MM-DD.

Лимиты, подробности и прокси8
proxyConfiguration
ОбъектПо умолчанию: {"useApifyProxy":true}Пример в форме: {"useApifyProxy":true}

Рекомендуется Apify Proxy; обычно хватает datacenter. Residential не обязателен. При отклонении настроек возможен переход к стандартному прокси аккаунта.

maxConcurrency
Целое числоПо умолчанию: 4

От 1 до 10 параллельных задач по рекламодателю и региону. Помогает при нескольких целях; один рекламодатель в одном регионе обходится последовательно.

maxAds
Целое числоПример в форме: 1000

Жёсткий лимит уникальных объявлений на весь запуск, включая все цели и рынки. Начните с 50. Без этого лимита широкий поиск может стать значительно больше.

maxPages
Целое число

Лимит страниц для каждой пары рекламодатель-регион. На странице до pageSize объявлений, максимум 100. Это тестовое ограничение, не общий лимит результатов.

fetchAdDetails
Истина или ложьПо умолчанию: false

Добавляет регионы, даты показов по регионам и варианты креативов. Нужен дополнительный запрос на объявление; включайте только при необходимости.

resolveMedia
Истина или ложьПо умолчанию: false

Дополнительными запросами получает ID публичных видео YouTube из превью. Не создаёт публичную ссылку для display-видео, у которых её нет.

pageSize
Целое числоПо умолчанию: 100

От 1 до 100 объявлений на запрос. Большие значения ограничиваются 100, поскольку Google их отклоняет. Обычно оставляйте 100.

delayMs
Целое числоПо умолчанию: 500

Пауза между запросами страниц в миллисекундах. Увеличивайте при ограничениях источника; уменьшение не устраняет задержки сети и лимиты запросов.

Дополнительные настройки и восстановление6
raw
Истина или ложьПо умолчанию: false

Возвращает исходную структуру вместо нормализованного представления. Оставляйте false для стабильных столбцов анализа; true используйте для диагностики или собственных преобразований.

proxyRotations
Целое числоПо умолчанию: 3

Повторяет отклонённые запросы с новой прокси-сессией. Дополнительные попытки помогают при временных блокировках, но увеличивают время и трафик. Меняйте стандартное значение только при необходимости по журналу.

resume
Истина или ложьПо умолчанию: true

Сохраняет прогресс примерно каждые 30 секунд для продолжения после перезапуска или миграции Apify. Обычно оставляйте включённым.

continueFromLastRun
Истина или ложьПо умолчанию: false

Продолжает незавершённую работу предыдущего запуска с теми же входными данными. Старые результаты остаются в его dataset. Для нового или регулярного сбора оставляйте false.

impersonate
ТекстПо умолчанию: chrome131

Идентификатор браузера для запросов. Сохраняйте стандарт Actor, кроме диагностики мгновенных блокировок. Он меняет отпечаток запроса, а не запрашиваемые данные.

proxySessionId
Текст

Фиксирует прокси-сессию для диагностики. При обычном сборе оставляйте пустым. Параллельным задачам нужны отдельные сессии, поэтому фиксированная может игнорироваться.

Справочник соответствует параметрам Actor. Перед изменением рабочего процесса проверьте актуальную форму. Посмотреть актуальные параметры на Apify.

Готовые конфигурации.

Каждый пример рассчитан на отдельный запуск. Начните с малого, проверьте результаты и затем расширяйте охват. Измените цели, страны и даты под свою задачу.

Сравнение двух брендов на двух рынках

Два домена и два региона создают четыре задания «рекламодатель-регион». Лимит 150 относится к общему набору без дублей. Он не гарантирует одинаковую выборку для каждого бренда или страны.

Сравнение двух брендов на двух рынках
{
  "domains": ["nike.com", "adidas.com"],
  "regions": ["GB", "FR"],
  "maxAds": 150,
  "fetchAdDetails": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}

Подборка креативов YouTube

Выберите YouTube и включите resolveMedia для попытки получить ID и ссылки видео. Проверьте медиаполя перед передачей ссылок Claude: у некоторых креативов всё равно нет доступного напрямую видео.

Подборка креативов YouTube
{
  "domains": ["nike.com"],
  "regions": ["GB"],
  "platform": "youtube",
  "maxAds": 50,
  "resolveMedia": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}

Региональная выборка за период

Добавьте подробности и период показа для Германии. Даты проверяются после получения объявлений, поэтому узкий период не гарантирует низкую стоимость. Измените даты и начните с небольшого лимита.

Региональная выборка за период
{
  "domains": ["nike.com"],
  "regions": ["DE"],
  "minDate": "2026-09-01",
  "maxDate": "2026-09-30",
  "maxAds": 50,
  "fetchAdDetails": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}

Запускайте, проверяйте, экспортируйте, повторяйте.

Сохраняйте ID рекламодателей и креативов с регионом, платформой и датой. Опции подробностей и медиа расширяют те же записи, а не создают набор данных об эффективности. Используйте Sheets для обзора креативов или BigQuery и dbt для истории без дублей. Расходы, ROAS и конверсии источник не предоставляет.

  1. Проверьте набор данных и запись SUMMARY. Сравните количество с лимитом, изучите ошибки и пропущенные входные данные, проверьте несколько исходных ссылок.
  2. Сохраняйте исходные ID и добавляйте collected_at и run_id. Используйте CSV для простых столбцов, JSON для списков и вложенных подробностей.
  3. Сохраните проверенную конфигурацию как Apify Task и задайте расписание. Для регулярных снимков оставьте continueFromLastRun false. Убирайте дубликаты по ID, сохраняя даты наблюдений.
  4. В Make или n8n дождитесь завершения запуска, получите dataset и сопоставьте поля с Sheets или хранилищем. Передавайте данные в Looker Studio через таблицу отчётов; преобразуйте и проверяйте модели с dbt.
  5. Этот же JSON работает с API Actors Apify. В Claude с Apify MCP назовите Actor, попросите проверить схему и заранее задайте цели, рынки и лимиты результатов.

Продолжение не создаёт новый снимок

resume защищает текущий запуск при перезапуске Apify. continueFromLastRun продолжает предыдущий запуск с той же конфигурацией; старые записи остаются в старом dataset. Объедините оба набора и увеличьте достигнутый лимит. Для наблюдения сегодняшних изменений начните новый сбор.

Открыть инструкции для Sheets, Claude, Looker и BigQuery
Запуск Actor через API

Сохраните одну из конфигураций выше в input.json. Задайте в терминале APIFY_TOKEN своим токеном Apify и отправьте файл как тело запроса.

Запустить сбор
curl --fail-with-body --request POST \
  --url "https://api.apify.com/v2/actors/jmlp~google-ads-transparency-center-scraper/runs" \
  --header "Authorization: Bearer $APIFY_TOKEN" \
  --header "Content-Type: application/json" \
  --data-binary @input.json

Ответ содержит ID запуска и defaultDatasetId, а не готовые результаты. Дождитесь успешного завершения, задайте DATASET_ID идентификатором набора и получите записи. Для больших наборов используйте limit и offset для постраничной выгрузки.

Получить набор данных
curl --fail-with-body \
  --url "https://api.apify.com/v2/datasets/$DATASET_ID/items?format=json" \
  --header "Authorization: Bearer $APIFY_TOKEN"

Документация API Apify для запуска и экспорта
Параметры экспорта набора данных

Если результаты выглядят неверно.

Меняйте по одному параметру, сохраняйте небольшой лимит и проверяйте сводку перед расширением сбора.

Результаты относятся к другому рекламодателю.

AR ID из ссылок Центра прозрачности. Они исключают неоднозначность названий и позволяют отслеживать одну юридическую организацию во времени.

У некоторых объявлений нет прямой ссылки на видео.

Дополнительными запросами получает ID публичных видео YouTube из превью. Не создаёт публичную ссылку для display-видео, у которых её нет.

Увеличение числа параллельных запросов не ускорило сбор.

От 1 до 10 параллельных задач по рекламодателю и региону. Помогает при нескольких целях; один рекламодатель в одном регионе обходится последовательно.

Запуск завершился успешно, но данных нет

Успешный статус означает завершение работы Actor, а не наличие данных у источника. Проверьте SUMMARY.inputProblem, SUMMARY.problem и журнал: возможны отсутствующие цели, неподдерживаемые фильтры или отклонённые запросы. Попробуйте известную цель с меньшим числом фильтров.

Записей меньше, чем ожидалось

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

Используйте результаты в своих инструментах.

Google Sheets

Соберите creative_id, advertiser_name, format, first_shown, last_shown и preview_url в одной таблице. Добавьте колонку темы кампании для заметок команды.

Читать инструкцию
Claude + MCP

Попросите Claude сравнить форматы и даты показа для небольшой группы рекламодателей. Требуйте ссылки и отделяйте интерпретации от того, что видно в записях.

Читать инструкцию
Looker Studio

Сравните форматы по рекламодателю и покажите появление новых ID креативов. Если собираете регионы, разверните массив перед отчётами по рынкам.

Читать инструкцию
BigQuery + dbt

Удаляйте дубликаты по creative_id, сохраняя каждое наблюдение с датой. Храните регионы и варианты в дочерних таблицах, чтобы объединения не завышали число креативов.

Читать инструкцию
Скопировать запрос для Claude
Запрос для Claude + Apify MCP
Проверь схему jmlp/google-ads-transparency-center-scraper и собери не более 50 записей для nike.com в GB. Обобщи доступные форматы и даты показа, укажи transparency_url и вопросы для маркетингового исследования. Не оценивай расходы или ROAS.

Какие поля вы получите.

Сохраняйте время сбора и исходные ID: они нужны для проверки источника результата и сравнения с последующими запусками.

Прежде чем делать выводы

Данные прозрачности Google не включают конверсии и ROAS конкурентов. Даты фильтруются после сбора, поэтому узкий период не обязательно сокращает обход. Дополнительные данные и получение видео добавляют запросы: включайте их по необходимости.

creative_id
Стабильный ключ каждой записи креатива.
advertiser_id / advertiser_name
Идентификатор рекламодателя Google, иногда с юридическим названием компании.
format
Текст, изображение, видео или Shopping, по исходным данным.
first_shown / last_shown
Опубликованные даты показа креатива.
image_url / preview_url
Доступные материалы креативов и ссылки предпросмотра.
regions / creative_variants
Дополнительные данные при включённом fetchAdDetails.

Частые вопросы.

Он собирает только поисковую рекламу Google?

Он может собирать записи из поиска, YouTube, Display, Shopping и Maps в зависимости от выбранной платформы и доступных открытых данных.

Уменьшает ли фильтр дат стоимость запуска?

Не обязательно. У исходного API нет фильтра дат: скрапер собирает страницы, а затем фильтрует записи. Ограничивайте запуск через maxAds и настройки дополнительных данных.

Источник и актуальные сведения: Actor Google Ads Transparency от JMLP на Apify.

Другие скраперы,
которые могут пригодиться.

Поговорим о
вашем проекте.

Расскажите, что нужно собрать или понять. Я помогу со скрапером на заказ, конвейером или анализом.

Обсудить проект