Проект: |
Система заведения рекламных кампаний для DSP Intency |
Заказчик: |
компания BetweenDigital |
Технологии: |
Java, Grails, PostgreSQL |
Кейс
Заказчиком выступила компания «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, активно используется и ее функционал постоянно расширяется.