Система заведения рекламных кампаний для 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, активно используется и ее функционал постоянно расширяется.