Подробнее о возможностях OpenX

This post is also available in: Английский

OpenX

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

Рекламные форматы

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

Последняя версия OpenX включает в стандартной поставке следующие рекламные форматы:

  • Баннер-изображение может быть статической картинкой, анимированным GIF-файлом или SWF-клипом со сложной анимацией. Креатив этого формата может храниться как на самом сервере OpenX, так и на внешнем сервере или в базе данных OpenX. Для баннера-изображения задаются четкие размеры рекламного материала в пикселях, чтобы в дальнейшем его можно было связать только с рекламным местом, подходящим ему по размеру.
  • Текстовый баннер представляет собой обычный текст, не имеющий собственной разметки, в который OpenX автоматически добавляет ссылку для перехода на сайт рекламодателя. Широко известный аналог этого формата — текстовая реклама от Google. Более точно оформление текстового баннера может задаваться дизайнером сайта рекламной площадки как на уровне всего сайта, так и для каждого рекламного места в отдельности.
  • HTML-баннер позволяет задать произвольный HTML-код, который будет добавлен в рекламное место на сайте при показе баннера этого формата. Как и баннер-изображение он имеет четко определенные размеры. С помощью этого формата можно также вставлять на сайт рекламный код внешних баннерных сетей, например Google AdSense. В этом случае использование OpenX дает преимущество в более гибком управлении показами, так как кроме функций, предоставляемых баннерной сетью, добавляются возможности по таргетингу и статистике. Используя такую схему, вы можете, к примеру, поделить одно баннерное место сайта между несколькими баннерными сетями и выставить каждой из них собственный приоритет.
  • Реклама формата «видеоролик» встраивается в видеоплеер на вашем сайте и отображается, прерывая показ основного видеоматериала. Для использования этого формата видеоплеер должен поддерживать воспроизведение видеорекламы и формат VAST, стандартизованый организацией IAB. Из широко используемых Flash видеоплееров этот формат поддерживают Flowplayer и JW Player. Кроме того существует набор библиотек Open Video Ads для встраивания рекламы в формате VAST в собственный видеоплеер. С показом видеоролика можно совместить показ связанного с ним баннера другого типа, который будет отображаться на той же странице во время показа.
  • Оверлей — это еще один формат для видеоплеера и к его использованию предъявляются такие же требования, как и к рекламному видеоролику. Он представляет собой рекламный блок, занимающий некоторую часть области показа видео, и отображающийся поверх основного видеоконтента без его прерывания. Оверлей может содержать креатив в следующих форматах: текст, HTML-код, изображение или Flash-объект.

Несмотря на то, что с помощью стандартных форматов OpenX можно добиться впечатляющих результатов, иногда возникает необходимость добавить в систему совершенно новый тип баннера или же усовершенствовать существующий. Сделать это грамотному PHP-разработчику не составит большого труда благодаря модульной архитектуре OpenX. Так стандартные форматы баннеров в OpenX уже реализованы в виде плагинов, которые можно взять за основу при создании собственного формата.

Таргетинг

Таргетинг позволяет извлечь максимум выгоды из имеющегося в распоряжении рекламного пространства, ограничивая аудиторию каждого конкретного рекламного сообщения четко заданной группой посетителей сайта, у которой данная реклама потенциально способна вызвать наибольший интерес. В OpenX понятие таргетинга задано более широко — это любые правила на основании которых принимается решение показывать или не показывать рекламное сообщение в ответ на каждый конкретный запрос.

В стандартный комплект OpenX входят следующие типы ограничений:

  • По технической информации о посетителе: тип браузера, которым пользуется посетитель, доменное имя и IP-адрес источника запроса, предпочитаемый язык, который посетитель выбрал в настройках браузера, операционная система, строка пользовательского агента. Эти данные получаются из заголовков запроса и строки пользовательского агента и преобразуются в удобный для использования формат библиотекой phpSniff.
  • По геоинформации: город, регион, страна, континент. OpenX использует базу получения геоинформации по IP-адресу клиента в формате MaxMind GeoIP.
  • По страницам сайта, которые просматривает посетитель: текущая страница, с которой отправлен запрос рекламы, страница откуда был совершен переход на текущую страницу, раздел сайта (source) и переменная. Два последних параметра должны динамически подставляться скриптами сайта в рекламный код. Эти параметры дают возможность осуществлять таргетинг по любым данным, которые могут быть получены на стороне скриптов сайта, и являются основой для задания правил таргетинга, отсутствующих в базовом комплекте OpenX.
  • По времени запроса рекламного материала: даты, дни недели, часы.

Как и рекламные форматы, таргетинг в OpenX реализован с использованием расширяемой архитектуры плагинов, поэтому для разработчика не составит труда написать собственные типы ограничений, которые, например, будут принимать решение, используя данные из различных внешних источников или баз данных по специфичным именно для вашего сайта особенностям и контекстам. Так на видео-портале в качестве контекста может выступать просматриваемый контент, его жанр, тип, правообладатель.

Статистика

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

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

Каким образом статистика хранится в базе данных OpenX? Решение по хранению логов, которое в первую очередь приходит в голову — это хранить запись о каждом рекламном показе/клике в отдельной строке БД. Это было бы очень удобно с точки зрения неограниченных возможностей по построению запросов к статистике, если бы не одно «но». Очевидно, что даже сайт средней популярности может обслужить очень большое количество показов за время своей работы, поэтому остро встает проблема разрастания размеров БД статистики. Для решения задачи эффективного хранения информации о показах так, чтобы она быстро записывалась в БД, не занимала много места и ее можно было быстро обработать при построении отчета, данные в OpenX хранятся не по одной строке на каждый показ а в виде наборов полей «время с точностью до часа», «баннер», «место», «количество показов/кликов», что позволяет централизовано хранить статистику для неограниченного количества рекламных серверов и рекламных показов, без увеличения объема бд при возрастании трафика.

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

Интеграция с внешними системами

Существуют различные варианты и аспекты интеграции OpenX с внешними системами в зависимости от потребностей конкретного заказчика. Перечислим некоторые из них:

  • Интеграция с биллинговой системой (например, 1С) для формирования счетов и бухгалтерской отчетности для рекламодателей и владельцев рекламного пространства. По сути представляет собой передачу данных, хранящихся в БД статистики OpenX во внешнюю систему. Передача может осуществляться различными способами: внешняя система может непосредственно соединяться с БД, а может использовать прослойку в виде скрипта, формирующего необходимые данные в нужном для внешней системы формате.
  • Интеграция с внешней системой управления рекламой может быть реализована с использованием программного интерфейса OpenX для управления сущностями системы. Рекламные материалы могут создаваться не только через интерфейс администрирования, но и через API для внешних систем.
  • Интеграция с внешней системой аутентификации, для аутентификации пользователей интерфейса управления. Осуществляется путем написания плагина аутентификации.
  • Интеграция с системой управления контентом сайта. Может потребоваться для получения данных, необходимых для таргетинга рекламных материалов и для построения отчетов. Осуществляется в собственных плагинах, реализующих нестандартные типы таргетинга и отчеты. Требуемые данные получаются через любые интерфейсы, предоставляемые системой управления контентом, или непосредственно из ее базы данных.

Заключение

В базовой бесплатной и открытой версии системы OpenX реализованы все основные возможности по управлению показами рекламы в Интернет. А благодаря своей открытости и модульной архитектуре, OpenX предоставляет практически неограниченные возможности для расширения и модификации под самые разные требования. По сравнению с альтернативой в виде баннерных сетей и hosted решений, это является ее неоспоримым преимуществом.