Товарные кампании — один из самых популярных форматов в Директе, но с API у них сложные отношения. Разбираемся, как это работает и что с этим делать через direct-mcp.
Не так давно к нам обратился клиент из рекламного агентства. Подключил Claude к Яндекс Директу, попросил показать кампании — получил список. Но не полный. Товарные кампании, которые он видит в интерфейсе Директа — в ответе агента просто не было.
Первая мысль — баг на нашей стороне. Потом подумали, может фильтры кривые. А потом открыли документацию Яндекса.
И вот тут начинается самое интресное.
У Яндекс Директа есть два режима создания рекламы:
Товарная кампания из Мастера — это по сути автоматизированная реклама товаров из фида. Яндекс сам подбирает аудиторию, генерирует объявления из каталога, крутит на Поиске, в РСЯ и товарной галерее. Рекламодатель только загружает фид и указывает бюджет.
Для малого бизнеса и интернет-магазинов — часто отличный вариант, честно говоря.
Отличий хватает, и на практике они довольно ощутимые:
Создание и управление. Обычную кампанию (текстово-графическую, ЕПК) рекламодатель настраивает руками: группы объявлений, ключевые слова, тексты, ставки. Товарная из Мастера — чёрный ящик. Яндекс сам решает что, кому и где показывать.
Структура внутри. Обычная кампания — это группы объявлений, отдельные объявления, ключевые фразы, всё можно получить через API и анализировать по отдельности. У товарной кампании из Мастера такой гранулярности нет. API не вернёт ни ID группы, ни ID объявления, ни ID условия показа.
Типы кампаний в API. Метод campaigns.get возвращает кампании типов TEXT_CAMPAIGN, MOBILE_APP_CAMPAIGN, CPM_BANNER_CAMPAIGN, UNIFIED_CAMPAIGN, DYNAMIC_TEXT_CAMPAIGN, SMART_CAMPAIGN. Кампании из Мастера в этот список не попадают. Вообще.
Статистика. Reports API — работает. Яндекс отдаёт показы, клики, расход, CTR, конверсии по любым кампаниям, включая созданные в Мастере. Но только на уровне кампании — разбивки по объявлениям или ключевым фразам не будет.
Управление. Изменить настройки товарной кампании через API нельзя. Только через интерфейс Директа. Это осознаное ограничение Яндекса — Мастер кампаний задуман как полностью автоматический продукт.
Тут легко запутаться. В режиме эксперта тоже можно создать кампанию с товарными объявлениями — это ЕПК (Единая перфоманс-кампания, тип UNIFIED_CAMPAIGN) с объявлениями типа ShoppingAd. Такая кампания полностью поддерживается API: получать, редактировать, детальная статистка по группам и объявлениям — всё работает.
А «Товарная кампания» из Мастера — отдельный продукт с урезанным API-доступом.
| Товарная из Мастера | ЕПК с товарными объявлениями | |
|---|---|---|
| Режим создания | Мастер кампаний | Режим эксперта |
| Видна через campaigns.get | Нет | Да (UNIFIED_CAMPAIGN) |
| Детальная статистика по объявлениям | Нет | Да |
| Управление через API | Нет | Да |
| Общая статистика через Reports API | Да | Да |
| Настройка аудитории | Автоматическая | Ручная + авто |
| Площадки | Поиск + РСЯ + Товарная галерея | Настраивается |
Это не баг. Яндекс осознанно ограничивает доступ к кампаниям Мастера через API. Причина архитектурная — Мастер кампаний использует внутренние механизмы автоматизации которые не ложатся на стандартную модель «кампания → группа → объявление → ключевая фраза».
В документации API это подтверждается косвенно: поля AdGroupId, AdId и CriteriaId в отчётах имеют пометку «Не отображается в отчете по кампаниям, созданным в Мастере кампаний». Яндекс знает об этих кампаниях и отдаёт агрегированную статистику, но внутреннюю структуру не раскрывает.
Мы добавили инструмент discover_all_campaigns который решает главную проблему — обнаружение вообще всех кампаний аккаунта. Он работает через Reports API, а не через campaigns.get, поэтому видит всё.
Агент вызовет Reports API и вернёт полный список: ID, название, тип, показы, клики, расход, CTR, CPC, конверсии. Включая те, которые не видны через стандартный get_campaigns.
get_campaign_stats работает с любыми кампаниями — хоть из Мастера, хоть из режима эксперта. Покажет динамику расхода, CTR, конверсий, среднюю позицию и процент отказов.
Агент обнаружит всё через discover_all_campaigns, определит типы, покажет сравнительный анализ.
Бывает полезно когда нужно понять, куда реально утекает бюджет — особенно если часть кампаний создана в Мастере и раньше была «невидимой» для аналитики.
Через API не получится:
Это ограничения самого Яндекса. Для таких действий нужен интерфейс Директа.
Но, как по мне, главное что теперь можно — видеть все свои кампании и анализировать их. А это уже процентов 80 задачи при ежедневной работе с рекламой.
discover_all_campaigns для полного обзора аккаунтаget_campaign_stats — даже если кампания на автопилоте, метрики нужно мониторитьget_campaigns они не появятсяdiscover_all_campaigns чтобы увидеть полную картинуТоварные кампании из Мастера — удобная штука для быстрого запуска рекламы. Но с API они работают ограниченно. campaigns.get их просто не видит.
Мы решили это через Reports API и discover_all_campaigns. Теперь агент находит все кампании аккаунта, показывает статистику и помогает с аналитикой — неважно где и как кампания была создана.
Остались вопросы — пишите, разберёмся.
Зарегистрируйтесь, подключите Яндекс Директ и увидьте все свои кампании — включая товарные из Мастера. Первые 7 дней бесплатно.
Получить API-ключ