Гайд · 10 мая 2026 · автоматизация рекламы

Таргетолог берёт 30 тысяч в месяц. Я заменил его одной нейросетью и API-ключом.

Раньше запуск кампании в VK Ads занимал у меня неделю переписки с таргетологом и стоил 30-60 тысяч ₽ в месяц на ведение. Теперь то же самое делаю за 40 минут силами Claude Code (это нейросеть Claude, которая живёт в командной строке и сама правит файлы на компьютере) и открытого API кабинета. Через API одна программа дёргает другую напрямую, без сайта и кнопок. Это делает один человек с ноутбуком и токеном, без агентства. Дальше пошаговая механика, готовый промт (текст задачи для нейросети) и список граблей.

Что не так с классическим подходом

Малый бизнес платит таргетологу за то, что умеет нейросеть

Стандартная схема: вы платите таргетологу 25-60 тысяч ₽ в месяц. Что он делает на эти деньги? Заходит в кабинет VK Ads, копирует тексты из брифа в форму создания кампании, выбирает интересы галочками, загружает картинки, выставляет даты и бюджет. Это операторская работа. Креативное мышление здесь одно: формулировка заголовков и подбор сегментов аудитории.

Дело не в самих таргетологах. У них 80% времени уходит на рутину, которую кабинет VK закрывает через REST API (это набор адресов, по которым программа шлёт команды кабинету). Получается, вы платите экспертные 1500-3000 ₽/час за работу, которая тянет на 300 ₽/час оператора колл-центра.

VK Ads открыл API v2 для всех рекламодателей бесплатно. Получить токен можно на dev.vk.com за 10 минут. После этого создание кампании, групп, баннеров, загрузка креативов, запуск на модерацию — всё делается одним скриптом за 40 секунд.

Архитектура решения

Что должно быть у вас на руках

1

Токен VK Ads API

Регистрация на dev.vk.com, тип «Сервисное приложение». Получаете client_id, client_secret, access_token, refresh_token. Хранится в файле .secrets/vk_ads.env, в git не коммитится. Токен живёт 24 часа, обновляется автоматически.

2

Claude Code или ChatGPT с Code Interpreter

Любая нейросеть, умеющая выполнять Python и работать с файлами. У меня Claude Code (200 ₽/день при активной работе). Из альтернатив есть Cursor, Continue.dev, Aider. Важно одно: чтобы агент мог сам делать HTTP-запросы и видеть ответы API.

3

Промт-инструкция

Один markdown-файл, который объясняет агенту: где лежат креды (логины и ключи доступа), какие эндпоинты в каком порядке дёргать, какие поля обязательные, какие подводные камни. Полный промт выложил ниже, копируйте и подставляйте свои значения.

4

Бренд-фактура и креативы

Папка с фото/видео нужного формата (1080×607, 1080×1350, 1080×1920) и markdown-файл с правилами тональности, ценами, гео. По нему нейросеть пишет тексты объявлений. Без фактуры агент начнёт выдумывать.

Пошаговый разбор

Как создаётся кампания за 40 секунд через API

Иерархия в новом VK Ads простая: кампания → группа объявлений → баннеры. Скрипт создаёт всё последовательно и сохраняет ID каждой сущности в state.json, на случай если что-то упадёт посреди процесса.

1

Загрузка креативов

POST /api/v2/content/static.json (multipart) для каждой картинки. Возвращает content_id. Видео грузится через /content/video.json и обрабатывается 1-5 минут, скрипт ждёт статус ready через GET-запрос каждые 30 секунд. На один баннер лучше залить мульти-формат (16:9 + 4:5 + 9:16), чтобы крутиться во всех плейсментах ВК.

2

Создание кампании

POST /api/v2/campaigns.json с полями objective, package_id, budget_limit_day, budget_limit, date_start, date_end, utm. Главная фишка тут в макросах {{campaign_id}} и {{banner_id}} в UTM (метках в ссылке, по которым видно, из какой рекламы пришёл человек): ВК сам подставит реальные ID при показе, сквозная аналитика работает из коробки.

3

Группа объявлений с таргетингами

POST /api/v2/ad_groups.json. Здесь живут таргетинги: возраст, пол, регионы (числовые ID из справочника /api/v2/regions.json), интересы, сегменты ретаргета. Частотный кап через banner_uniq_shows_limit=3. Сегменты передаются массивом целых чисел [123, 456], а не объектами, и это одна из главных граблей API.

4

Баннеры

POST /api/v2/ad_groups/{ad_group_id}/banners.json. Обратите внимание на вложенный путь, top-level /banners.json отдаёт 404. В теле передаёте три заголовка (25/32/45 символов), описание 90 символов, CTA-кнопку из стандартного списка ВК, ссылки на content_id креативов. Три заголовка нужны, потому что VK подбирает версию под формат плейсмента: для квадрата короткий, для горизонтали длинный.

5

Активация и модерация

PATCH /api/v2/campaigns/{id}.json со status: active. Модерация ВК занимает 1-2 часа в рабочее время, потом кампания крутится. Управлять (пауза, бюджет, ставки) можно теми же PATCH-запросами в любое время, UI кабинета вам больше не нужен.

Считаем экономику

Сколько реально стоит самостоятельный запуск

Таргетолог на ведении: 25-60 тысяч ₽/месяц. За эти деньги одна кампания запускается раз в 1-2 недели, изменения вносятся через переписку и согласование. От идеи «нужна реклама на новый оффер» до показа объявлений в среднем проходит 3-5 рабочих дней.

Самостоятельный запуск через API: лицензия Claude Code 20$/месяц (примерно 1800 ₽), 30-60 минут вашего времени на постановку задачи + 40 секунд на сам запуск. Кампания в кабинете через час, на модерации через два. Изменения вносятся за 30 секунд: «увеличь дневной бюджет с 1000 до 2000» — агент дёргает PATCH-запрос.

Экономия: 25-60 тысяч в месяц минус 1800 = 23-58 тысяч. Плюс скорость реакции на новые офферы и ручное управление кабинетом без посредника. Это даёт малому бизнесу гибкость, которая раньше была доступна только тем, у кого таргетолог в штате.

Готовый инструмент

Промт для Claude Code: создание кампаний в VK Ads

Скопируйте этот промт в начало новой сессии Claude Code (или ChatGPT с Code Interpreter), подставьте свои пути и значения в плейсхолдеры. После этого можете формулировать брифы кампаний обычным языком, агент сам создаст структуру в кабинете VK.

Ты оператор кабинета ads.vk.com (новая VK Реклама). Работаешь через REST API v2 без UI. Все секреты лежат в .secrets/, скрипты и отчёты в рабочей папке проекта. Источники данных: · Секреты: .secrets/vk_ads.env (ACCESS_TOKEN, REFRESH_TOKEN, CLIENT_ID, CLIENT_SECRET, AD_ACCOUNT_ID) · Бренд: brand-guidelines.md, product-facts.md, tov.md, no-go-list.md · Креативы: путь к медиа-библиотеке · Папка кампаний: campaigns/campaign_/ Иерархия: Campaign → AdGroup → Banner. Создавать строго в этом порядке. Сохранять ID каждой сущности в state.json после каждого шага. Базовый URL: https://ads.vk.com/api/v2 Ключевые эндпоинты: · POST /campaigns.json (objective, package_id, budget_limit_day, utm с макросами {{campaign_id}}/{{banner_id}}) · POST /ad_groups.json (campaign_id, max_price, banner_uniq_shows_limit, targetings) · POST /ad_groups/{id}/banners.json (вложенный путь, не top-level) · POST /content/static.json (multipart, format=image_1080x607) · PATCH /campaigns|ad_groups|banners/{id}.json (status: active|blocked|deleted) Подводные камни: · targetings.segments: массив целых [123, 456], НЕ объекты · banner_uniq_shows_limit (НЕ uniq_shows_limit, иначе отдаёт 400) · В пакетах site_conversions работает только targetings.segments, не remarketing · url у созданного баннера менять нельзя (read_only), создавай новый · Видео обрабатывается 1-5 минут, polling /content/video/{id}.json до status: ready Бренд-проверки: · Никаких гарантий результата/возврата/безопасности · Цены и условия только из product-facts.md · Tone of voice строго по гайду · Не упоминать конкурентов из no-go-list.md Что спросить у пользователя, если бриф неполный: URL посадочной, цель (трафик/лиды/охват/видео), бюджет день+общий, даты, гео, ЦА (пол/возраст/интересы/сегменты), креативы (путь или генерим), тон, промокод/спецоффер. Если не дано, НЕ выдумывай, спроси одним сообщением списком. Финальный отчёт: кампания (id), группа (id), баннеры (ids), бюджет, UTM, статус, ссылка на кабинет.

Полная версия промта (с примерами Python-кода, обработкой ошибок и таблицей всех граблей API) занимает 600+ строк. Захотите, пришлю по запросу через форму.

Реальные грабли

5 ошибок, на которых я застрял в первый раз

  • 1. Сегменты как объекты вместо целых ID. Документация в одном месте показывает [{"id": 123, "type": "positive"}], в другом [123, 456]. Работает только второе. API отвечает «expected Integer, got Object», и сразу понятно, где копать.
  • 2. banner_uniq_shows_limit, а не uniq_shows_limit. Логичное короткое имя поля для частотного капа. И оно не работает, нужно полное banner_uniq_shows_limit. Иначе 400 Bad Request с непонятным сообщением.
  • 3. Top-level /banners.json вместо вложенного. POST на /api/v2/banners.json отдаёт 404. Правильный путь — POST /api/v2/ad_groups/{ad_group_id}/banners.json. Логично, но в документации эта мелочь не выделена. Я потерял на ней полчаса.
  • 4. URL баннера нельзя править после создания. Опечатался в utm-метке, пересоздавай баннер целиком. PATCH со ссылкой возвращает «url is read_only». Лечится только новым баннером и архивированием старого.
  • 5. Сегменты по ключевым фразам через API не создаются. Только готовые ID. Создание сегмента из ключевых слов VK закрыл, его делаешь руками в UI. В API передавать только готовый segment_id из справочника /remarketing/segments.json.

Запустить VK Ads силами одного человека и нейросети

Хотите так же, но не готовы разбираться с API руками — сделаю настройку под ваш бизнес. Один раз, и потом сами управляете кабинетом простыми командами в чате с агентом.

Обсудить настройку

Или посмотрите аналогичный гайд по Яндекс Директу через API.

Что не так с твоим сайтом или рекламой?

Разберу за 30 минут. Найду 2-3 конкретные точки, где сайт теряет клиентов, и покажу как чинить. Бесплатно, без обязательств и без продаж в лоб.

Связаться по делу

Заявка прилетит мне и в Telegram, и на почту. Отвечу в течение рабочего дня.

Куда удобнее ответить?
или сразу написать в Telegram →

Нажимая кнопку, даёте согласие на обработку персональных данных (оператор № 23-25-044738).