Система заведения рекламных кампаний для DSP Intency
Описание проекта
Описание проекта
В настоящее время происходит переформатирование бизнеса медийной рекламы в соответствии с парадигмой DSP-RTB-SSP. Цель настоящего проекта – создание системы Demand Side Platform или DSP, т.е. системы, обращенной в сторону рекламодателя и позволяющей создавать рекламные кампании, настраивать таргетирование, получать статистику и взаимодействовать с остальной инфраструктурой RTB-SSP.
Система была разработана для компании BetweenDigital, которая предлагает площадкам услуги SSP, рекламодателям и рекламным агентствам — услуги DSP. В основе системы лежит RTB-Платформа, которая участвует в real-time-аукционах на рекламные показы и делает удачные ставки от лица рекламных агентств и технологических платформ. В отличие от традиционных способов закупки медийной рекламы по в той или иной степени таргетированным показам на выбранных рекламных местах, закупаются не показы, а конкретная аудитория, интересная данному рекламодателю.
Возможности
- Создание рекламной кампании, настройка таргетингов
- Статистика (простая и расширенная) по рекламным кампаниям
- Контроль бюджетов по кампаниям
- Статистика по платформе
- Агентский интерфейс
- API для внешних клиентов — таких, как Agency Trading Desk
Технологии
- Сервер — Java, Grails
- Хранилище данных — PostgreSQL
Case study
Заказчиком выступила компания «Between Digital», которая предлагает площадкам услуги SSP, рекламодателям и рекламным агентствам — услуги DSP. В основе системы лежит RTB-Платформа, которая участвует в real-time-аукционах на рекламные показы и делает удачные ставки от лица рекламных агентств и технологических платформ. У заказчика стояла задача построить графический интерфейс заведения рекламных кампаний, размещений, креативов, таргетингов и других настроек. При этом было необходимо обеспечить техническую интеграцию с базовой программной RTB-платформой, предоставленной заказчиком. Также было необходимо реализовать компонент отображения статистики о рекламных кампаниях.
Начало проекта
Совместно с заказчиком было создано техническое задание. Был утвержден набор ролей пользователей системы, доменная модель, набор отчетов компоненты статистики, шаблон дизайна экранов системы.
Для запуска проекта предстояло решить следующие задачи:
Задача 1. Сконструировать интерфейс создания сущности «размещение» и интерфейс статистики
Сущность размещение содержит большое количество полей и наборов дочерних сущностей. Макет модулей редактирования размещения и статистики был разработан нашими аналитиками и после нескольких итераций утвержден заказчиком.
Задача 2. Организовать разграничение доступа к данным
В бизнес-модели заказчика каждый пользователь системы относится к некоторому агентству, и видит данные только этого агентства. Созданные в интерфейсе системы рекламные кампании, размещения, креативы и получаемая от платформы статистика также разграничиваются по агентствам.
Задача 3. Обеспечить взаимодействие с RTB платформой
Отправка данных о кампаниях, размещениях, креативах должна быть выполнена в соответствии с требованиями RTB платформы. Файл формируется и отправляется после любых изменений данных, не чаще чем один раз в 2 минуты при наличии изменений, не реже чем один раз в час независимо от наличия изменений данных.
Загрузка статистики из RTB платформы происходит по 2-м каналам:
Канал 1. Фиксированные агрегаты
RTB платформа подготавливает файл с фиксированным набором полей. Система заведения рекламных кампаний периодически загружает данные из файла и сохраняет их в своем хранилище данных. Сохраненные данные используются для построения отчетов с фиксированным набором колонок.
Канал 2. REST API утилиты построения отчетов RTB платформы
RTB платформа располагает утилитой отображения статистики с произвольной группировкой и произвольными фильтрами данных. В разрабатываемую систему был добавлен отчет – шлюз в утилиту статистики платформы с сохранением возможности произвольной группировки и фильтров данных плюс обязательное разграничение данных по агентствам.
Разобравшись с ключевыми задачами, команда приступила к разработке.
В результате была разработана система заведения рекламных кампаний, включающая в себя следующие функции:
— Создание рекламной кампании, настройка таргетингов
— Отображение списков сущностей – кампаний, размещений, креативов
— Функции создания и редактирования сущностей
— Разграничение прав доступа к данным в рамках агентства пользователя
— Отображение отчетов о кампаниях, размещениях, креативах в различных разрезах – даты, сущности
— Расширенный функционал администратора – управление пользователями, модерация креативов, управление справочниками
— Отправка описания рекламных кампаний в виде xml в биддер RTB платформы
— Загрузка статистики о рекламных кампаниях из биддера RTB платформы и компоненты статистики платформы, построение отчетов, экспорт результатов в csv, xls, pdf
— Предоставление REST API для клиентов — рекламных агентств
— Управление бюджетами рекламных кампаний, автоматическая остановка кампании при нулевом балансе
Так выглядит интерфейс системы:
Разработанная система установлена в production, активно используется и ее функционал постоянно расширяется.