Инструмент Директ Конкуренты

Анализатор объявлений Яндекс.Директа

Ctrl+A на выдаче Яндекса - вставил - получил матрицу офферов конкурентов, облако слов и аналитику заголовков. Без API и сервера.

2026
Vanilla JS ES6+ SheetJS localStorage HTML/CSS
Анализатор объявлений Яндекс.Директа
Проблема

Перед запуском рекламы нужно понять, что пишут конкуренты: какие УТП используют все подряд, что занято по категориям (цена, скорость, гарантия, опыт), что говорит только один игрок. Разобрать 20-30 объявлений по нескольким запросам вручную - 2-3 часа, и всё равно картина не складывается. SpyWords и SemRush показывают ключевые слова и бюджеты, но не тексты объявлений - а работать нужно именно с текстами.

Задача

Сделать инструмент для анализа объявлений конкурентов в Яндексе. Вход - скопированный текст выдачи, выход - матрица офферов, аналитические таблицы и HTML-отчёт для клиента.

Как это сделано

01

Сбор данных: Ctrl+A вместо API

API Яндекс.Директа не отдаёт объявления конкурентов - только свои. Автоматический парсинг выдачи - это постоянная борьба: Яндекс блокирует ботов, структура страниц меняется. Поэтому пользователь открывает выдачу сам, нажимает Ctrl+A, Ctrl+C и вставляет текст в форму. В одно поле можно вставить несколько страниц выдачи - дубли доменов уберутся автоматически. Форма поддерживает несколько блоков для разных запросов в одном анализе.

Сбор данных: Ctrl+A вместо API
02

Парсинг скопированного текста

Скопированный текст выдачи Яндекса содержит объявления, сниппеты, быстрые ссылки и мусор вперемешку. Парсер разбивает текст по маркеру "Промо" - каждый блок одно объявление. Из каждого блока берётся последняя пара заголовок + домен со стрелкой ›. Быстрые ссылки ограничены 6 штуками. Мусорные блоки ("Быстрый ответ Алисы", "Нейропоиск" и т.п.) отфильтровываются через JUNK-список. Данные передаются в окно результатов через window.name - надёжный способ для file:// без сервера.

03

12 аналитических блоков на каждый запрос

По каждому запросу инструмент строит 12 блоков. Облако слов - топ-22 по частоте, размер пропорционален доле. Банальные УТП - фразы у 30%+ конкурентов (слова из самого запроса отсекает стемминг). Упоминания цен с единицами и контекстом. Призывы к действию - слова с русскими императивными суффиксами (-ите, -айте, -йтесь). Числа в заголовках, спецсимволы (★, ►, ✓), вопросы в заголовках, быстрые ссылки-лидеры, уникальные фразы с POWER_WORDS. Авто-резюме собирает всё в текстовый вывод.

12 аналитических блоков на каждый запрос
04

Матрица офферов: кто что занял

Матрица - это то, ради чего всё делается. Строки - домены конкурентов, столбцы - 10 встроенных категорий (Цена/Выгода, Скорость, Качество, Опыт, Ассортимент, Сервис, Финансовые условия, Гарантии, Удобство, Расположение). В ячейке - слово, по которому сработало совпадение. Строка "Охват" показывает насыщенность каждой категории: красный >= 60%, жёлтый >= 30%. Сразу видно, какие ниши свободны - "Не используют" и "Редко". Домен клиента выделен отдельно, даже если не попал в топ. Можно добавить свою категорию с произвольными ключевыми словами.

Матрица офферов: кто что занял
05

Экспорт для работы и для клиента

CSV (UTF-8 BOM для Excel, разделитель ;) - для самостоятельной работы с данными. XLSX через SheetJS (lazy CDN) - лист на каждый запрос. HTML-отчёт - самодостаточный файл со всей аналитикой, включая секцию "Выводы и рекомендации" (поля "Наш вывод" + незанятые ниши матрицы). Режим отчёта прячет весь интерфейс управления - остаётся только аналитика, готовая к демонстрации или печати.

Экспорт для работы и для клиента
06

История анализов и сравнение периодов

Каждый анализ можно сохранить в localStorage: имя, проект, дата сбора. Сохранённые анализы на форме: "Открыть" (новая вкладка), "В форму" (загрузить данные для редактирования), "Удалить". Функция "Сравнить два" - выбор двух анализов одного проекта и показ diff: какие домены появились, какие ушли, у каких изменился заголовок. Защита от переполнения: предупреждение если данные > 2 МБ.

Ключевые решения

Ручной copy-paste vs API и парсер

Автоматический парсинг выдачи Яндекса: блокируется за ботовое поведение, требует прокси и постоянного обслуживания. API Директа не даёт объявления конкурентов

Пользователь делает Ctrl+A сам - это легально, быстро (10 секунд) и не требует обслуживания. Инструмент занимается только структурированием и анализом

Автоматизировать сбор - значит бесконечно чинить парсер. Автоматизировать обработку - значит один раз написать алгоритм. Ctrl+A делает пользователь, остальное - инструмент.

file:// без сервера vs веб-приложение

Веб-приложение с бэкендом: нужен хостинг, домен, авторизация, безопасность данных клиентов

Два HTML-файла, работающих с file://: нет хостинга, нет сервера, данные клиента не уходят никуда. window.name передаёт данные между вкладками без сервера

Рекламные данные клиента - конфиденциальная информация. Локальный инструмент исключает любые риски утечки, не требует политики конфиденциальности и работает без интернета.

Матрица офферов vs ручной список

Ручной список УТП конкурентов в таблице: субъективный, требует часов работы, не показывает насыщенность категорий и свободные ниши

Автоматическая матрица из 10 категорий с цветовой индикацией охвата: видно какие ниши свободны, какие перегружены, как позиционирован клиент относительно рынка

Клиент должен видеть, за что платит. Матрицу можно показать на встрече, объяснить, какая ниша свободна и почему мы туда идём. Мнение специалиста становится данными - это снижает количество правок.

Результат

Анализ 30 объявлений по 3 запросам занимает 5-7 минут вместо 2-3 часов. Матрицу офферов прикладываю к медиаплану: клиент видит, откуда взялись формулировки в объявлениях и почему мы заняли именно эти ниши. Меньше вопросов «почему именно так?» - больше времени на саму работу.

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

SpyWords показывает ключевые слова и примерные бюджеты, но не тексты объявлений. SemRush дорог для разового анализа одного рынка. Этот инструмент решает одну конкретную задачу: что именно пишут конкуренты в объявлениях прямо сейчас.

Данные актуальны на момент копирования - это то, что Яндекс показывает прямо сейчас. Сохранение и сравнение двух анализов помогает отслеживать динамику: кто появился, кто ушёл, кто поменял заголовки.

Фразы, которые встречаются у 30%+ конкурентов. Если фраза есть у каждого третьего - она не выделяет, а сливает в общий фон. Инструмент показывает их явно, чтобы они не попали в заголовки клиента.

Да. Кнопка "+ Своя категория" открывает форму с названием и ключевыми словами. Категория сохраняется в анализе и учитывается в матрице и HTML-экспорте.

Следующий кейс

Автоматизация контент-продакшна для соцсетей

Читать
Все кейсы