Система Agency Trading Desk

Описание проекта

Целью Системы Agency Trading Desk является автоматизация закупок медийного инвентаря в разных каналах и оценка эффективности рекламных кампаний для рекламодателей по таким характеристикам, как каналы, креативы, настройки таргетинга.

Система взаимодействует с внешними рекламными платформами (как традиционными, так и RTB) посредством подключения к API. Через API платформ заводятся кампании и забирается статистика. На сайты рекламодателей устанавливаются пиксели, позволяющие отслеживать post-click поведение пользователей.

Основные блоки системы

Agency Trading Desk предоставляет раздельный доступ к статистике по каналам и сводный отчет, который агрегирует статистику по всем каналам. Также производится отслеживание статистики по пост-клику.

Экран отчетности

Заказчиком проекта выступило крупное рекламное агентство полного цикла, работающее на российском рынке почти 20 лет.

Возможности

  • Создание и управление рекламными кампаниями, настройка таргетингов
  • Статистика (базовая и продвинутая) по рекламным кампаниям и заказам, post-click статистика
  • Генерация статических и динамических post-click пикселей
  • Контроль бюджетов, частоты контактов, сроков проведения кампании
  • Агентский интерфейс
  • Экспорт отчётов

Технологии

  • Сервер — Java, Grails
  • Хранилище данных — PostgreSQL

Case study

Проект: Система Agency Trading Desk
Заказчик: крупное рекламное агентство полного цикла
Технологии: Java, Grails, PostgreSQL

Заказчиком системы стало крупное рекламное агентство полного цикла, успешно работающее на российском рынке почти 20 лет. Нашей задачей являлась автоматизация закупок медийного инвентаря в разных каналах и оценка эффективности рекламных кампаний для рекламодателей. В идеале система должна была позволить анализировать эффективность кампаний по таким характеристикам, как каналы, креативы, настройки таргетинга. Система должна подключаться к внешним рекламным платформам (как традиционными, так и RTB) посредством подключения к API. Через API платформ заводятся кампании и забирается статистика.

Для пользователей системы необходимо было разработать веб-интерфейс, позволяющий заводить рекламные кампании, просматривать статистику, создавать новых пользователей и т.д. Для каждого рекламодателя Система должна позволять генерировать пиксели (JavaScript код) двух типов для установки на сайт рекламодателя: статический код и динамический код.

Предыстория

В 2013 году мы по заказу компании «Between Digital» разработали систему заведения рекламных кампаний. В основе системы лежит RTB-платформа, которая участвует в real-time-аукционах на рекламные показы и делает удачные ставки от лица рекламных агентств и технологических платформ. Для этой системы мы разработали универсальный API. Именно к этому API подключается система Agency Trading Desk. На настоящий момент Agency Trading Desk интегрируется с двумя внешними системами – Mail.ru и Intency (Between), но в следующих версиях планируется подключение таких каналов, как Yandex Direct, Google Ad Words и другие.

Начало проекта

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

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

В начале проекта предстояло решить следующие важные задачи:

  • Предложить схему данных в TD, которая будет удобно отображаться в сущности каждого из рекламных каналов. В итоге остановились на схеме «Рекламодатель-Кампания-Размещение-Креатив».
  • Организовать интерфейс так, чтобы он элегантно поддерживал одинаковые и отличающиеся настройки сущностей из рекламных каналов.
  • Проанализировать доступные статистические данные обоих рекламных каналов, чтобы было можно отобразить их вместе в рамках любого отчета.

Создание и настройка кампаний

В момент создания кампании задаются следующие параметры: Название, Рекламодатель, Период кампании. В дальнейшем есть возможность задать Тип кампании, Дневной бюджет, Вариант продвижения, Общий лимит показов, Общий лимит кликов, Дневной лимит показов, Дневной лимит кликов.

Также возможна настройка следующих параметров таргетинга, в случае, если они поддерживаются на уровне API соответствующего канала:

  • География
  • Запрещенные и разрешенные домены
  • Дни и часы показа
  • Пол, возраст, интересы
  • Ретаргетинг, поисковый ретаргетинг, кастомный ретаргетинг
  • LightTV
  • Устройства и ОС
  • Браузеры

На первом этапе реализована интеграция с API Mail.ru (односторонняя) и API Between Digital, что позволяет заводить рекламные кампании через эти платформы.

Описание картинки

Кампания является контейнером для Размещений. На уровне размещения детализируются основные параметры, такие как Тип цены (CPC, CPM), стратегия биддинга (для RTB), бюджет, учет конверсий, модель работы, ограничение по частоте контактов.

Описание картинки

К Размещениям привязаны Креативы. В Системе поддерживаются такие типы Креативов, как картинка, Flash, HTML. Загрузка Креативов осуществляется через интерфейс Системы. Передача Креативов в каналы осуществляется через соответствующие API.

Для Креатива можно задать клик-ссылку, по которой будет совершаться переход при нажатии на рекламу. К клик-ссылке могут быть добавлены метки различных (клиентских) систем web-аналитики, так чтобы они не конфликтовали в процессе размещения с метками Системы. Редактирование клик-ссылки осуществляется в текстовом режиме.

Интеграция с источниками трафика

На первом этапе предусмотрена интеграция с API Mail.ru (односторонняя) и API Between Digital, что позволяет заводить рекламные кампании через эти платформы. В системе реализован раздельный интерфейс для заведения кампаний через каждый из каналов, поскольку настройка параметров кампаний для RTB и Mail значительно отличается. В дальнейшем, с увеличением числа каналов, станет понятно, какие параметры необходимо вынести в общий интерфейс, а какие оставить на уровне канала.

Описание картинки

От канала зависит также метод управления бюджетом. В случае Between (RTB) стоимость каждого показа отличается, и расход бюджета может быть определен путем анализа статистики. В случае Mail.ru расход бюджета можно рассчитать по статистике показов и кликов получаемой от Mail.ru и значениям CPM и CPC. Значения CPM и CPC привязаны к размещению. В случае превышения бюджета Кампании, Размещения (в т.ч. – дневного), Кампания или Размещение ставится на паузу.

Пост-клик анализ

Для каждого рекламодателя Система позволяет сгенерировать пиксели (JavaScript код) для установки на сайт рекламодателя. Таким образом, на ключевые (или на все) страницы сайта рекламодателя устанавливаются трассировочные пиксели, указывающие на Post-Click Engine. Предусмотрено два типа клиентских пикселей для установки на сайте: статический код и динамический код.

В некоторых случаях клиент в целях безопасности и сохранения контроля за распространением информации позволит установку исключительно статического кода. Этот код передается на Post-click engine универсальный идентификатор, который прокидывается через клик-ссылку и позволяет восстановить Кампанию, Канал, Размещение.

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

В случае, если пользователь пришел с одной из отслеживаемых Системой кампаний, на Post-Click Engine передается в зашифрованном виде информация о Кампании-Размещении-Креативе.

Помимо этого, происходит отслеживание статистики по пост-клику с Кампаний, размещенных через каналы, не поддерживаемые Системой. Размещение осуществляется не через систему, но маркируется метками в ссылке по Креативу, индивидуальной для каждого источника. Таким образом, потом мы получаем в пост-клик статистике по этим каналам не просто «Другие источники» а вполне конкретные источники.

Сбор статистики

В системе предусмотрены следующие статистические отчеты:

  • Общий отчет
  • Отчет по рекламодателям
  • Отчет по кампаниям
  • Отчет по размещениям
  • Отчет по креативам
  • Отчет по дням
  • Отчет план-факт
  • Пост-клик общий отчет
  • Пост-клик кампании
  • Пост-клик размещения
  • Пост-клик креативы
  • Отчет по заказам

Система предоставляет раздельный доступ к статистике по каналам (например, закладки Between и Mail.ru) и сводный отчет, который агрегирует статистику по всем каналам.

Описание картинки

При генерации отчета можно задать такие параметры, как Период, Кампании, Размещения, Креативы, Канал.

В каждый момент времени доступен сводный отчет по рекламной кампании на предыдущий день. Он либо вычисляется динамически (по запросу), либо (чтобы оптимизировать производительность и снизить нагрузку на сервера) вычисляется раз в день и хранится в базе.

При создании сводного отчета система объединяет Статистику по рекламным кампаниям от каналов и пост-клик статистику по Рекламодателю – Кампании – Каналу – Размещению – Креативу + добавляет плановые показатели по Каналам – Размещениям.

При создании отчета необходимо выбрать ,по какой из целей будут учитываться конверсии. Т.к. у нас есть возможность задать различные цели (Landing Page, Shopping Cart, Subscription, Order, Special Offer) — можно также выбрать из них одну цель, необходимую для расчета.

Из отчета по Каналам есть возможность провалиться в сводный отчет по Размещениям, а из отчета по размещениям – в отчет по Креативам.

Детальный Отчет по кампании с полной детализацией содержит статистику по следующим параметрам: Бюджет – Показы – Уникальные пользователи – Клики – CTR – Достижение цели – Конверсия – СРС, СРМ, СРО.

Все отчеты позволяют задать период показа (фильтр по датам). Статистические данные можно экспортировать в PDF,CSV,XLS.