VK Ads
Подключите рекламный кабинет и работайте с кампаниями, объявлениями, аудиториями и статистикой через ИИ.
Подключение
Подключите кабинет VK Ads
Откройте VK Ads в личном кабинете LidFly. Войдите через VK или используйте Client ID и Client Secret из настроек доступа VK Ads. После подключения кабинет появится в LidFly.
Подключите ИИ-ассистента
Перейдите к настройке Claude или Codex. Для других клиентов есть быстрый старт. Подключение использует
https://lidfly.ru/mcp/v3и вход в браузере. API-ключ вручную копировать не нужно.Проверьте доступ
Попросите ИИ показать доступные кабинеты VK Ads. Сверьте название и ID нужного кабинета перед работой с рекламой.
Технические сведения о подключении и выборе кабинета
Сам кабинет VK Ads подключается двумя способами: через обычный вход VK или по Client ID + Client Secret из настроек доступа клиента. Во втором случае LidFly сам получает и обновляет токены, а в кабинете показывает статус «Полный доступ».
Для новых подключений используйте единый endpoint /mcp/v3. Полный VK endpoint /mcp/vk остаётся для legacy/advanced сценариев. Все meta-инструменты из tools/list, включая get_provider_context, resolve_campaign_scope, search_skills, get_skill и get_skill_resource, AI вызывает напрямую; в call_tool/call_write_tool передаются только внутренние инструменты, найденные через search_tools. Для сложных сценариев, включая goal_mode, skill-ответ возвращает точную версию и digest подписанного workflow, не расширяя права и scope.
Через то же подключение внешний ИИ может читать личную переписку инструментами support_get_messages/support_get_attachment. При неожиданной внутренней ошибке read-only support_prepare_report создаёт очищенный черновик с incident ID и ничего не отправляет. ИИ показывает его пользователю и только после явного текстового согласия вызывает support_send_error_report (отчёт разработчикам) или support_send_message (обращение в поддержку); при необходимости до пяти изображений загружаются через support_request_image_upload. Выбранный VK-кабинет не меняет владельца диалога.
Если доступно несколько VK Ads подключений или кабинетов, AI сначала вызывает get_provider_context. Если известна кампания, resolve_campaign_scope принимает точный ID или полное точное название и сначала проверяет Пространства. Поиск по названию последовательно читает страницы VK до конца в общем ограниченном бюджете времени; timeout или неполная пагинация возвращают incomplete, а не ложный результат об отсутствии. Затем AI передаёт в рабочие инструменты точные workspace_project_id, connection_id и при необходимости client_id. Campaign write без workspace_project_id проходит только когда call_write_tool preflight по campaign id нашёл единственный Workspace/provider scope. Для собственного кабинета нужен только connection_id. Если пользователь явно добавил VK user ID из переключателя, LidFly использует скрытый _user_id для чтения и ограниченных write-действий.
Первый запрос к ИИ
Укажите кабинет в запросе, если подключений несколько. Эти примеры запрашивают только чтение данных.
Проверить подключение
Покажи доступные мне кабинеты VK Ads, их названия и ID. Ничего не изменяй.
Посмотреть кампании
Покажи все кампании в выбранном кабинете VK Ads и их статусы. Если данные получены не полностью, сообщи об этом.
Оценить результаты
Сравни расходы, показы и клики в выбранном кабинете VK Ads за последние 7 полных дней с предыдущими 7 днями. Укажи период и доступную детализацию отчёта.
Несколько кабинетов
Подключите нужные кабинеты, выберите рабочий кабинет по умолчанию и привяжите его к соответствующему проекту. Для каждого клиента агентства используйте свой проект.
Кабинет, который виден в переключателе VK Ads, может быть недоступен через API. Если он не появился после синхронизации, проверьте способ подключения и права доступа.
Способы подключения, агентские кабинеты и ограничения ручного доступа
После OAuth или подключения по Client ID + Client Secret LidFly сохраняет отдельное VK Ads подключение, синхронизирует его основной кабинет, клиентов агентства и клиентов менеджера, показывает уровень доступа и позволяет выбрать рабочий кабинет ИИ. Встроенный чат, /mcp/v3, /mcp/vk и /mcp/vk/lite автоматически передают нужный connection_id, а для клиентского кабинета ещё и client_id.
Для новых подключений используйте OAuth или Client ID + Client Secret. Если старое подключение уже было создано по готовому access token, в его карточке «Сохранённый доступ» остаётся поле для замены истёкшего токена.
Важно: OAuth подключает не выбранный в верхнем меню кабинет VK Ads, а VK-пользователя, который подтвердил доступ. Если в браузере можно переключиться на кабинет клиента, но после «Найти кабинеты VK Ads» он не появляется в LidFly, значит VK API не отдаёт этот кабинет как клиента агентства или менеджера для текущего токена.
Для таких случаев в личном кабинете есть ручное добавление VK user ID из переключателя VK Ads. VK Ads API не показывает список этих скрытых клиентов отдельным методом, поэтому ID вводится вручную один раз. LidFly проверяет доступ к объектам через недокументированный фильтр _user_id и дальше подставляет этот фильтр автоматически для чтения и ограниченных write-действий.
Стоимость зависит от числа доступных ИИ кабинетов. Актуальные условия — на странице тарифов.
vk_ads; AI получит connection_id из provider context.
Если клиентский кабинет — отдельный VK-логин, подключите его дополнительным OAuth либо попросите клиента передать Client ID и Client Secret из настроек доступа VK Ads. При подключении по ключам LidFly получает токены серверно, обновляет их автоматически и даёт встроенному чату и MCP полный доступ к чтению и редактированию в рамках прав VK Ads.
Если кабинет должен быть доступен через агентство или менеджера, он должен вернуться из agency/clients.json или /api/v3/manager/clients.json. Ручной ID из интерфейса VK Ads не заменяет official API-доступ: для agency_client_credentials нужен user id клиента из AgencyClients/ManagerClients, иначе VK отвечает Unknown client.
Переключение sudo в браузере VK Ads не равно official API-доступу. Но если клиент виден в переключателе, можно добавить его VK user ID в LidFly: чтение кампаний, групп и объявлений пойдёт через скрытый _user_id. Объектная статистика и realtime в таком manual режиме зависят от VK API и могут возвращать пустые или нулевые данные; тогда LidFly подставляет доступный агрегат кабинета через statistics/users и faststat/users. Для надёжной детализации по кампаниям, группам и объявлениям нужен official agency/manager API-доступ или отдельный VK OAuth клиента. В manual режиме можно менять max_price и статусы через mass-action, часть полей кампаний (budget_limit, budget_limit_day, даты, max_price) и название лид-формы. price групп, создание, загрузка креативов и single update объектов требуют official agency/manager API-доступ или отдельный VK OAuth клиента.
Для групп с автостратегией max_goals ставочный лимит меняется через max_price. Обычное поле price может дать успешный ответ API, но остаться прежним при проверочном чтении.
Возможности и ограничения
- Реклама и отчёты. Кампании, группы, объявления, лид-формы, аудитории и статистика. Доступ зависит от прав подключённого кабинета.
- Изменения с подтверждением. Перед созданием ИИ проверяет настройки. Новые кампании и объявления создаются остановленными; запуск — отдельное действие.
- Неполные данные. Пустой ответ API не доказывает отсутствие кампаний. Неполную выборку и ограничения статистики нужно учитывать в выводах.
- Похожие аудитории. Создайте Look-alike в интерфейсе VK Ads, дождитесь готовности и используйте ID готовой аудитории.
- Лид-формы. Создание объявления останавливается, если привязка формы не прошла проверку. ИИ должен сообщить причину.
- Неопределённый результат записи. После сбоя нужно проверить статус операции, прежде чем повторять создание.
VK Mini Apps и события в приложении
Добавлена диагностика статистики мини-приложений, включая сценарии Senler: агент отличает подписку в приложении от social_network.vk_subscribe, находит приложение, трекер, событие и сверяет результат с колонкой «Результат» в интерфейсе VK Ads.
vk_get_mobile_apps
vk_get_inapp_events
vk_get_inapp_stats
vk_get_statistics
priced_event_type=43
priced_goal: tracker.id + event.name
Технические проверки создания, статистики и результатов операций
vk_get_campaigns показывает новые кампании первыми. Если VK вернул только часть списка, результат содержит пометку «НЕПОЛНАЯ ВЫБОРКА» и следующий offset — ИИ продолжает пагинацию и не делает выводы по одной странице.
Пустой ответ VK Ads API помечается как not_observed — это отсутствие наблюдения в проверенном кабинете, а не доказательство того, что кампаний нет. Тот же контракт используют инструменты кампаний Яндекс Директа, поэтому ИИ не выдаёт неполную проверку за пустой кабинет.
vk_prepare_campaign безопасно проверяет полный payload без записи: фактические paid_event_type/priced_event_type, goal_mode, совместимость стратегии и max_price, бюджеты и даты, формат возраста, CTA и реальные массивы options.targetings/options.settings выбранного пакета. goal_mode=required требует валидную именованную цель кампании или группы, forbidden запрещает её, unsupported останавливает запись. Цель нельзя требовать только из-за site_conversions или наличия options.settings.priced_goal. priced_event_type=41, включая пакет 3122 «Вступить», и priced_event_type=51 для лид-формы — фиксированные события с goal_mode=forbidden: priced_goal не передаётся. ID лид-формы не является PricedGoal.source_id. Пакет 3509 с priced_event_type=0 также не является goal-оптимизированным.
При несовместимости preflight возвращает package_priced_goal_forbidden, package_priced_goal_required или package_goal_policy_unsupported до POST. LidFly не удаляет цель автоматически: ИИ предлагает согласовать выбранное фиксированное событие пакета без именованной цели либо совместимый goal/oCPM-пакет. Создание группы проверяет только goal-policy пакета и родительской кампании, оставляя окончательную package-валидацию VK. Обновление общей цели кампании проверяет пакеты групп с пределом 20 страниц/1000 групп; повтор страницы или незавершённая проверка возвращает campaign_goal_policy_scan_incomplete без POST.
ready=true означает успешный локальный и каталоговый preflight, но окончательную проверку всего payload выполняет VK только при создании. После подтверждения vk_create_campaign повторяет проверку, принимает ровно одну bootstrap-группу без баннеров и создаёт кампанию с группой только в статусе blocked. Вложенные баннеры запрещены и при отдельном создании группы.
Перед каждым объявлением vk_prepare_banner перечитывает группу, package, площадки, допустимые patterns, banner fields, CTA и тип URL. Связь площадок с шаблонами берётся из матрицы package.options.targetings.pads.patterns; PackagesPads служит только запасным источником, потому что VK может не вернуть в нём patterns. Поле pattern_relation_source показывает использованный источник, а неполный каталог не выдаётся за ошибку креатива. Только ready=true и normalized_arguments допускаются в vk_create_banner. Новый баннер всегда создаётся blocked. POST выполняется один раз; при timeout/5xx результат проверяется по журналу и GET readback без автоматического повтора. Два баннера в группе — A/B-варианты, а не последовательный показ видео.
Для event 51 порядок такой: vk_get_packages → vk_prepare_campaign → blocked-create без priced_goal → vk_get_lead_forms → vk_prepare_banner с внутренним URL https://vk.com/leadads/form/<id>. Пока URL-only контракт не подтверждён на выделенном тестовом кабинете, preflight возвращает lead_form_binding_unverified и не выполняет запись. Недокументированное content.lead_form_id не подставляется.
До POST LidFly сохраняет журнал операции и безопасный verification context без рекламных текстов, raw URL, payload и токенов. Детерминированный отказ VK сохраняется как очищенный provider_error — та же причина доступна через get_write_operation_status. При unknown/ambiguous status-tool делает только GET. Нужная защитная остановка кампании или баннера возвращается как отдельный подтверждаемый next_write.
Создание standalone Look-alike через документированный публичный VK API недоступно. LidFly не подменяет его списком ремаркетинга и не использует seed segment как ID готовой LAL. Похожую аудиторию нужно создать в интерфейсе VK Ads, дождаться готовности и затем использовать её собственный ID в связи сегмента.
Справочник инструментов
Найдите действие по названию или описанию. Изменение и удаление данных требуют подтверждения.
Ничего не найдено. Измените запрос или выберите другой тип действия.
Статус
vk_statusПроверить подключение к VK Ads и получить информацию об аккаунте
ЧтениеКампании
vk_get_campaignsСписок кампаний: новые сначала, фильтры и явный next offset для полной пагинации
Чтениеvk_get_campaignОдна кампания по ID со всеми полями
Чтениеvk_prepare_campaignPackage-aware preflight: event types, goal_mode и структурированные ошибки до POST
Чтениеvk_create_campaignСоздать blocked-кампанию; journal сохраняет безопасный provider rejection
Изменениеvk_get_write_operation_statusRead-only статус VK write-операции: сохранённая причина отказа или GET reconciliation
Чтениеvk_update_campaignИзменить кампанию; общая priced_goal проходит bounded-проверку пакетов групп
Изменениеvk_manage_campaignsМассовое изменение статуса, бюджета, дат и max_price кампаний (до 200)
УдалениеГруппы объявлений
vk_get_ad_groupsСписок групп объявлений с таргетингами и бюджетами
Чтениеvk_get_ad_groupОдна группа по ID с полными таргетингами
Чтениеvk_create_ad_groupСоздать группу после проверки goal_mode; вложенные баннеры запрещены
Изменениеvk_update_ad_groupИзменить группу; priced_goal проверяется до POST, расширение фраз — после записи
Изменениеvk_manage_ad_groupsМассовое изменение статуса, бюджета и max_price групп (до 200)
УдалениеОбъявления
vk_get_bannersСписок объявлений с модерацией и контентом
Чтениеvk_get_bannerОдно объявление по ID с полным контентом
Чтениеvk_get_urlsПолучить информацию о зарегистрированных ссылках по ID
Чтениеvk_resolve_urlПолучить тип и VK Object ID из URL (для сообществ → source_id)
Чтениеvk_create_urlЗарегистрировать URL и получить числовой ID для баннера
Изменениеvk_prepare_bannerПроверить группу, package/pads, pattern, поля, CTA и URL без записи
Чтениеvk_create_bannerСоздать blocked-объявление после preflight; journal и readback без повторного POST
Изменениеvk_update_bannerИзменить контент и настройки объявления
Изменениеvk_manage_bannersМассовое изменение статуса объявлений (до 200)
Удалениеvk_get_banner_patternsШаблоны баннеров — допустимые комбинации полей контента
Чтениеvk_get_banner_fieldsСправочник полей баннеров: типы, размеры изображений, ограничения текста
Чтениеvk_remoderate_bannersОтправить отклонённые объявления на повторную модерацию
ИзменениеКонтент
generate_ad_imageAI-креатив: сначала показать промпт и формат, затем генерировать только после подтверждения; исходник и до 5 безопасных экспортов без увеличения; на пробной неделе — до 5 изображений из общего промобюджета при достаточном остатке; при оплаченном MCP-доступе — 5 бесплатных/мес, далее по прайсу в подтверждении; применение image ID подтверждается отдельно
Изменениеvk_upload_imageЗагрузить изображение по URL и получить content ID для баннера
Изменениеvk_upload_videoЗагрузить видео по URL и получить content ID для баннера (MP4, WebM, MOV, AVI)
ИзменениеСтатистика
vk_get_statisticsСтатистика V2+V3: показы, клики, расход, результаты base.goals/base.vk.goals, custom_event, social_network, сортировка и пагинация
Чтениеvk_get_goal_statisticsСтатистика по целям конверсий: конверсии, CPA, CR, ROMI, источник
Чтениеvk_get_community_statsПродвижение сообщества: вступления, подписки, CPJ, CPS, Join Rate
Чтениеvk_get_video_reportВоронка видеорекламы: drop-off, CPV на каждом этапе, глубина, уникальные
Чтениеvk_get_inapp_statsIn-app события мобильных приложений и VK Mini Apps: totals, CPA, CR, ROMI по каждому событию
Чтениеvk_get_offline_conversionsОфлайн-конверсии: количество, конверсионная ставка, CPA
Чтениеvk_get_realtime_statsМониторинг в реальном времени: клики и показы поминутно за час
ЧтениеVK Mini Apps
vk_get_mobile_appsПодключённые мобильные приложения и VK Mini Apps: доступы statistics/segments/lookalike, связанные кампании, url_object_id
Чтениеvk_get_inapp_eventsДоступные in-app события, приложения, трекеры и event names для Mini Apps и аудиторий
Чтениеvk_get_inapp_event_categoriesКатегории in-app событий для классификации событий приложения
Чтениеvk_update_inapp_event_categoryИзменить категорию in-app события по приложению, трекеру и event ID
ИзменениеСправочники
vk_get_regionsСправочник регионов для геотаргетинга: поиск, дочерние регионы, флаги
Чтениеvk_get_user_geoПользовательские регионы: 3700+ городов и населённых пунктов для таргетинга
Чтениеvk_get_mobile_categoriesКатегории мобильных приложений для таргетинга
Чтениеvk_get_mobile_osМобильные операционные системы для таргетинга
Чтениеvk_get_mobile_operatorsМобильные операторы связи для таргетинга
Чтениеvk_get_mobile_typesТипы мобильных устройств: смартфоны, планшеты
Чтениеvk_get_mobile_vendorsПроизводители устройств: Apple, Samsung и др.
Чтениеvk_get_targetings_treeДерево интересов и таргетингов для настройки групп объявлений
ЧтениеАудитории
vk_get_remarketing_countersСписок счётчиков ремаркетинга для отслеживания аудитории
Чтениеvk_get_remarketing_counterОдин счётчик ремаркетинга по ID
Чтениеvk_create_remarketing_counterСоздать счётчик ремаркетинга для сайта
Изменениеvk_update_remarketing_counterИзменить счётчик: переименовать, обновить flags
Изменениеvk_delete_remarketing_counterУдалить счётчик ремаркетинга (409 если используется)
Удалениеvk_get_counter_goalsЦели счётчика: посещение URL, JS-события
Чтениеvk_create_counter_goalСоздать цель для счётчика ремаркетинга
Изменениеvk_update_counter_goalИзменить цель счётчика: name, goal_type, value
Изменениеvk_get_goalsВсе цели конверсий из всех источников
Чтениеvk_get_remarketing_listsСписки пользователей для ретаргетинга
Чтениеvk_get_remarketing_listОдин список пользователей по ID
Чтениеvk_update_remarketing_listИзменить список пользователей: переименовать
Изменениеvk_delete_remarketing_listУдалить список пользователей (409 если используется)
Удалениеvk_get_segmentsАудиторные сегменты для таргетинга
Чтениеvk_get_segmentОдин аудиторный сегмент по ID
Чтениеvk_create_segmentСоздать аудиторный сегмент с relations и pass_condition
Изменениеvk_update_segmentИзменить сегмент: переименовать, изменить pass_condition
Изменениеvk_delete_segmentУдалить аудиторный сегмент (409 если используется)
Удалениеvk_manage_segment_relationsСвязи сегментов: добавить/изменить/удалить источники данных
Изменениеvk_get_local_geosТочки локального геотаргетинга с радиусом
Чтениеvk_manage_local_geoУправление точкой геотаргетинга: получить, создать, удалить
Изменениеvk_get_vk_groupsПолучить VK-группы (источники данных для сегментов)
Чтениеvk_add_vk_groupДобавить VK-сообщество как источник данных для ремаркетинга
Изменениеvk_get_ok_groupsИсточники аудитории из групп Одноклассников: проверенный source_id, ссылки и пагинация
Чтениеvk_add_ok_groupЗарегистрировать группу ОК по ссылке или вернуть существующий источник без повторной записи
ИзменениеПакеты размещения
vk_get_packagesСписок пакетов до 50 на страницу; available_only означает каталоговый допуск, не гарантию create; create_evidence показывает, принимал ли VK этот пакет при создании
Чтениеvk_get_packageОдин пакет по ID: все настройки, доступные таргетинги, ссылки; неизвестные поля в fields пропускаются с пометкой
Чтениеvk_get_packages_padsНазвания площадок локальными страницами до 50 или точечно по pad_ids без limit/offset; связь patterns берётся из vk_get_package, устаревший package_id отклоняется
Чтениеvk_get_pads_treeКатегории, названия и выбранные площадки группы по ad_group_id; также выбор пакета или дерева, пагинация и проверка полноты
ЧтениеПрогноз охвата
vk_get_projectionПрогноз охвата аудитории при разных ставках CPM — оценка до запуска
ЧтениеКонтекстные фразы
vk_create_search_phrasesСоздать список контекстных фраз + сегмент для таргетинга
Изменениеvk_get_search_phrasesПолучить списки контекстных фраз
Чтениеvk_update_search_phrasesОбновить фразы в списке
Изменениеvk_delete_search_phrasesУдалить список контекстных фраз
УдалениеПользователь
vk_get_userИнформация о текущем пользователе: аккаунт, баланс, валюта
ЧтениеКлиенты агентства и менеджера
vk_get_agency_clientsДиагностический список клиентов агентства или менеджера с балансами, статусами и контактами
Чтениеvk_manage_agency_clientСоздать, обновить или отвязать клиента агентства
Изменениеvk_get_transactionsИстория транзакций: пополнения, списания, переводы, НДС
Чтениеvk_transfer_fundsПеревод средств агентство ↔ клиент: пополнение и возврат
ИзменениеЛид-формы и лиды
vk_get_lead_formsСписок лид-форм с фильтрами по кампаниям и группам
Чтениеvk_update_lead_formИзменить название лид-формы без замещения контактных полей и страниц
Изменениеvk_get_leadsСобранные лиды: контакты, ответы на вопросы, привязка к кампании
ЧтениеЗадачи (legacy)
vk_add_tasksLegacy notice: задачи переехали в Workspace MCP (/mcp/workspace). Там же хранятся клиенты, кампании, решения, контекст и AI-автозапуски
Чтениеvk_get_tasksLegacy notice: используйте workspace_get_tasks, workspace_get_context или workspace_get_scheduled_ai_tasks
Чтениеvk_complete_taskLegacy notice: используйте workspace_complete_task
ЧтениеМедиафайлы
request_uploadЗапросить URL для загрузки локального файла (pre-signed URL → curl -T)
Изменениеlist_mediaСписок загруженных медиафайлов с публичными URL
Чтениеdelete_mediaУдалить загруженный медиафайл
Удаление