Перейти к содержимому

Дашборд кампаний

Рабочий инструмент для маркетологов, которые ведут кампании, и для руководителя, которому нужно видеть весь портфель запусков. Единица учёта здесь — кампания: от подготовки и согласования до запуска, оптимизации и итогов.

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

Инструмент особенно полезен, когда кампании идут одновременно в нескольких каналах, а подготовку ведут разные люди: контент готовит материалы, реклама запускает объявления, руководитель согласует бюджет. Дашборд даёт им одну запись о кампании вместо цепочки сообщений.

  • Ведёт реестр кампаний. У каждой кампании есть владелец, этап, каналы, даты, бюджет и цель, а статусы задают понятный порядок: подготовка, согласование, запуск, оптимизация, итоги.
  • Показывает результаты по кампании. Лиды, конверсии, расходы и стоимость результата из разных каналов сводятся к одной кампании по единой методике подсчёта.
  • Сохраняет контекст при передаче. Смена владельца, согласования и заметки об оптимизации остаются в карточке, а не в переписке.
  • Проверяет готовность к запуску. Кампания без обязательных UTM-меток, владельца или согласования попадает в список «Не готова к запуску».
  • Даёт командам свои представления. Реклама видит расходы и окупаемость, контент — статусы материалов и креативов, руководитель — весь портфель.
  • Схема именования — с первого дня. Кампании, чьё имя не соответствует шаблону, отклоняются при загрузке или помечаются к исправлению, иначе одна кампания распадётся на несколько строк.
  • Методика атрибуции задаётся до дашборда. Правило (последнее касание, первое касание, собственное) применяют при загрузке данных. Дашборд показывает результат этого правила одинаково во всех строках и не пересчитывает его на лету.
  • Внешние системы остаются. Веб-аналитика и рекламные кабинеты не заменяются: дашборд читает их через API или выгрузки и добавляет слой учёта кампаний поверх них.
  • Новый канал — это запись, а не доработка. Канал хранится как справочник; новое значение сразу появляется в фильтрах и графиках.
  • Темп расходов здесь только сигнал. Дашборд может показать, что кампания тратит быстрее плана, но ежедневный контроль бюджета по каналам — отдельный инструмент.
  • Доступ ограничивают на сервере. Командам показывают разные наборы колонок, но фильтрация строк по ролям работает в запросах, виджетах и выгрузках, а не только в интерфейсе.
  • Когда хватит готового продукта. Если все кампании идут в одном рекламном кабинете, а согласований нет, его собственных отчётов может быть достаточно.

Промпты рассчитаны на AI-агента (Claude Code, Cursor и аналоги) в Laravel-проекте с установленным Filament 4.x. Отправляйте их по одному: каждый шаг даёт результат, который можно проверить до перехода к следующему.

Создай модели и миграции для дашборда кампаний: Campaign (название,
нормализованный код, владелец, этап, цель, бюджет, даты начала и конца),
Channel (справочник каналов), CampaignChannel (кампания, канал, UTM-метки),
CampaignResult (кампания, канал, дата, лиды, конверсии, расходы, источник,
время загрузки), OwnerChange (кампания, от кого, кому, дата, комментарий).
Добавь фабрики с демо-данными.
Сгенерируй Filament-ресурс для Campaign. В карточке покажи этап, каналы
с UTM-метками, результаты по каналам, историю смены владельца
и согласований через relation managers. Смену этапа выполняй действием
с обязательным комментарием.
Добавь в таблицу кампаний фильтры по каналу, этапу, владельцу и периоду,
вкладки «Мои кампании», «Не готова к запуску» и «Идут сейчас».
Кампания не готова к запуску, если у любого канала нет source, medium
или campaign в UTM-метках, нет владельца или согласования.

Проверьте, что кампания без меток не может перейти на этап «Запуск».

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

Проверьте, что строки, не сопоставленные с кампаниями, видны в очереди разбора, а не теряются молча.

Настрой роли: реклама видит расходы и окупаемость, контент — статусы
материалов, руководитель — всё и может выгружать данные. Ограничение
действует в таблицах, виджетах и экспорте. Добавь виджеты кампаний
по этапам и стоимости результата по каналам.