В видео ниже мы разберем общие принципы работы рекламной платформы.
Базовые элементы рекламной платформы #
Под термином рекламная платформа мы подразумеваем набор сервисов, которые предоставляют основной функционал для показа digital-рекламы. Платформа включает в себя рекламный сервер, алгоритм биддинга, веб-интерфейс и другие составные части.
Реализации рекламных платформ у компаний могут отличаться по ряду признаков. Но в основе большинства лежат три схожих функциональных блока:
- Веб-интерфейс для взаимодействия с базами данных. В нем рекламодатели и издатели могут запускать кампании, настраивать площадки и получать статистику через графический интерфейс.
- Система обработки запросов и выбора рекламы. Реклама подбирается после того, как платформа получает запрос. Он может быть создан рекламным тегом, размещенным на сайте издателя. В случае RTB — это запрос ставки от SSP или биржи рекламных мест. Примеры сервисов обработки — рекламные серверы и алгоритмы биддинга.
- Система обработки событий и данных. Основа блока — сбор и обработка статистики. На данном этапе ведется учет показов рекламы, конверсий, дохода и иных событий, связанных с демонстрированием рекламы. Полученные сведения передаются в систему обработки запросов и подбора рекламы. В системе широко распространено использование postback. О нем можно прочитать в статье «Интеграция MANAGED рекламодателя через postback».

Сейчас сфокусируемся на сервисе выбора рекламы на платформе Salematics.
Важно: алгоритм биддинга постоянно дорабатывается. Поэтому в материале могут быть неточные данные. Мы постарались объяснить основные принципы работы платформы без углубления в детали и формулы. Если вы хотите узнать больше о формулах, коэффициентах и расчетах, обратитесь к нашему менеджеру, который закреплен за вами, с соответствующей просьбой.
Система обработки запросов и выбора рекламы #
Шаг 0: Получение запроса #
Работа системы обработки запросов и выбора рекламы начинается с запроса на показ рекламы. Когда пользователь попадает на страницу с рекламным тегом, начинается сбор информации о посетителе, которая будет передана на сервер. Также становится известным, из какой страны пришел пользователь, каким устройством (мобильное/десктопное) и браузером он пользуется и тому подобное.
Рассмотрим пример такого запроса.
Сперва перейдем на страницу, где установлен рекламный javascript тег. Нажимаем правой кнопкой мыши по любому полю и выбираем опцию «Посмотреть код».

Открываем вкладку «Network», находящуюся в верхней части консоли, и обновляем страницу сайта.

Находим запрос от рекламного javascript тега и кликаем по нему. Он начинается с «? token=…».

В новом окне переходим в раздел «Headers».

В блоке «Request Headers» можно увидеть различные данные. Например, языки, которые поддерживает устройство пользователя, и информацию о User Agent.
Часть сведений передается в «Query String Parameters»: ключевые слова, HTTP referer, токен и другие.

Из «Request Headers» и «Query String Parameters» происходит сбор информации для дальнейшего этапа подбора рекламы.
Работая с RTB, формат запроса от SSP выглядит иначе. Все зависит от типа SSP. Вот один из возможных вариантов запроса на показ рекламы:
{"id":"AFXItl3FdQAAAAAAAEFFMwAZAHnmm9kA",
"imp":[{
"id":"AFXItl3FdQAArBsCAEFFMwAZAA85SwkA",
"banner":{"w":728,"h":90,"format":[{"w":728,"h":90}]},
"bidfloor":0.01,
"bidfloorcur":"USD",
"secure":1,
"ext":{
"click_id":"AFXItl3FdQAArBsCAEFFMwAZAA85SwkA",
"short_click_id":"xXUAAKwbAgBBRTMAGQA",
"pr_id":138156,
"promo_type":"html",
"pr_type_id":2}}],
"site":{
"id":"30149",
"name":"pelishd.us",
"domain":"pelishd.us",
"publisher":{"id":"65603"},
"page":"https://pelishd.us/pl4y.php?q=Greenhouse%20Academy%20-%20Season%202%20Episode%208\u0026id=MTYyNTk2\u0026typesub=SUB\u0026sub=L2dyZWVuaG91c2UtYWNhZGVteS1zZWFzb24tMi1lcGlzb2RlLTgvZ3JlZW5ob3VzZS1hY2FkZW15LXNlYXNvbi0yLWVwaXNvZGUtOC52dHQ=\u0026cover=Y292ZXIvZ3JlZW5ob3VzZS1hY2FkZW1"},
"device":{
"ua":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.2 Safari/605.1.15",
"geo":{"lat":25.2633,"lon":55.3087,"type":2,"ipservice":3,"country":"AE"},
"ip":"5.107.132.159",
"os":"OS X",
"language":"en",
"carrier":"Etisalat"},
"user":{"id":"3bc61f1fbce4e0353f24a5442e1764f730139245"},
"at":1,
"tmax":829,
"cur":["USD"],
"ext":{
"wm_id":65603,
"pl_id":30149,
"os_id":51,
"lang":"en-us",
"lang_id":12,
"pl_type_id":108,
"city_id":292223,
"br_id":25,
"isp":"Etisalat"}}
Такой запрос нельзя увидеть в своем браузере, поскольку он отправляется с сервера издателя.
Шаг 1: Подбор кампаний #
Когда запрос получен, определяется перечень кампаний, которые можно показать пользователю, перешедшему на страницу с тегом. Этот процесс называется матчингом (matching).
У каждой кампании установлены индивидуальные настройки таргетинга и фильтрации.

Если настройки таргетинга и фильтров кампании не соответствуют информации о пользователе, полученной в запросе, такие кампании не будут показаны.
Шаг 2: Расчет ставок #
Далее происходит расчет ставок — это можно считать предварительным этапом аукциона.
Важно: в аукционе участвуют промоматериалы, а не кампании. Однако в статье, используя термин «кампания», подразумевается, что для вашей условной кампании заведен только один промоматериал. Если у кампании несколько промоматериалов, они будут соревноваться между собой и промоматериалами других кампаний.
Работая с различными моделями оплаты за показ рекламы, их необходимо привести к общему стандарту. Он равен стоимости показа рекламы за 1000 ротаций (CPM).
Важно: ротация — это выигрыш права на демонстрацию промоматериала. Но не всякая ротация может привести к показу. Для каждого типа промо существует своя вероятность быть показанным.
В зависимости от модели оплаты рекламные кампании подразделяются на две группы: с фиксированной и динамической стоимостью показа.
Фиксированная стоимость показа #
К группе с фиксированной стоимостью относятся CPM-кампании. Для них берется ставка, указанная в настройках кампании.
При работе с RTB рекламодателями осуществляется отправка запроса на показ рекламы. В результате приходит информация о размере ставки, которую рекламодатели готовы выплачивать за пришедшего пользователя. Для соответствия суммы общему стандарту, она умножается на 1000.
Важно: если в настройках CPA-кампании установлена опция «Использовать ставки CPM», информация о конверсиях будет игнорироваться. Эта кампания поведет себя тем же образом, что и кампания из группы с фиксированной стоимостью показа.

Динамическая стоимость показа #
Динамическая стоимость показа — группа CPA-кампаний. Для них расчет ставки зависит от количества и стоимости конверсий.
Чтобы определить ставку за показ кампании, необходимо оценить ее эффективность за последние 500 показов и узнать, получала ли кампания конверсии от трафика с однородными характеристиками.
Трафик с однородными характеристиками называется кластером. Он формируется на различных признаках. На платформе используются следующие черты:
- источник трафика;
- страна;
- язык;
- тип устройства;
- операционная система.
Также в работе применяется три уровня кластеров. Их использование напрямую зависит от перечисленных свойств.
Первый уровень
На данном этапе производится проверка наличия информации о показе кампании на самом маленьком и однородном кластере. Такой кластер является связью источника трафика, страны, языка, типа устройства и операционной системы.
Кластер может выглядеть так: посетители сайта android-apps.com из Франции, говорящие на английском языке и использующие мобильные устройства на базе Android 9.
После формирования кластера происходит поиск сведений о работе кампании внутри него. Анализируются два условия:
- Есть ли хотя бы две конверсии для кампании c кластера.
- Получила ли кампания более 500 показов с кластера.
Когда одно из условий является истинным, связка «кампания + кластер» считается обученной. Под термином «обученная» стоит понимать наличие данных, на основе которых можно спрогнозировать ставки.
Именно так предугадывается CPM для кампании. Если кампания была показана 500 раз и получила три конверсии по $1, CPM внутри кластера составит $6.

Второй уровень
Если данных для построения прогноза недостаточно, требования к кластеру смягчаются. Он будет состоять из источника трафика, страны и языка. Типы устройства и операционная система используются опосредованно.
Когда на уровне этого кластера выполнится одно из условий: наличие минимум двух конверсий или 500 показов, связка «кампания + источник» также считается обученной.
Но к заключительному прогнозу CPM будет применен коэффициент, рассчитанный на основе типа устройства и операционной системы. Это позволит уточнить расчет возможного CPM.
Третий уровень
Если информации не будет хватать и при такой выборке, будет использован кластер, построенный только на языке и странах. Связка «кампания + кластер» определяется как необученная. Это означает, что сведения о поведении кампании и полученных конверсиях не удалось найти. Подобные кампании попадают в группу «Обучаемые».

Прогноз цены для них рассчитывается в зависимости от настроек кампании.
При установленной настройке «Стандартный биддинг» для кампании из группы «Обучаемые» применяется фиксированный CPM. Он равен $1.

Если в кампании из группы «Обучаемые» выставлена настройка «Использовать при обучении ставки CPM», будут использованы разные ставки CPM. Для установки ставок необходимо перейти по соответствующей ссылке раздела.

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

Важно: рекомендуется применять настройку «Использовать при обучении ставки CPM», поскольку она позволяет не тратить лишние средства на обучение связки «кампания + кластер». На скриншоте выше видно, что ставки за трафик из разных стран составляет 1 цент. Воспользовавшись настройкой «Стандартный биддинг», вы будете платить $1 за тот же трафик. «Стандартный биддинг» может ускорить процесс обучения, но, с точки зрения финансовой эффективности, это будет нецелесообразно.
Прогнозируя цены, независимо от выбранной настройки к установленному CPM применяется коэффициент, рассчитанный на основе типа устройства и операционной системы. Это позволяет сделать прогноз более точным.
Шаг 3: Вычет страховок #
Для каждой кампании на платформе предусмотрена настройка «Размер страховки». Она необходима, когда рекламодатель сообщает вам о доходе, превышающем реальный. Подробнее об этом читайте в материале «Создание MANAGED рекламодателя».
Если для аккаунта рекламодателя или кампании указана высокая страховка, то ее шанс на показы будет снижаться.
Финальная ставка рассчитывается по формуле «ставка * страховка».

Шаг 4: Применение ограничений #
На данном этапе кампания может быть исключена из аукциона по причинам, которые зависят от конкретных настроек:
Настройки кампании
- Установлена настройка «Не закупать трафик дороже ставки». Это означает, что реклама не будет отображаться, если указанная на площадке стоимость выше оценочной стоимости показа.
Настройки площадки
- Выставлена настройка «Не выполнять невыгодную ротацию». У каждого оффера в аукционе есть «win_cpm» — прогнозируемый заработок за 1000 показов. У площадки с фиксированной моделью оплаты — CPM, CPC или CPA — имеется «traffic_cost». Когда «win_cpm» ниже «traffic_cost», реклама на площадке не будет показана.
- Отмечена опция «Acc Bid Floor». Она позволяет указать наименьшую ставку, при которой сработает рекламный тег. Из-за этого кампания также может выбыть из аукциона.
Настройки партнерской программы
- Установлена минимальная ставка на показ рекламы. Ее выставляют администраторы Salematics. Сейчас для ряда партнерских программ она равняется одному центу за 1000 показов. Информацию о минимальной ставке для вашей партнерской программы уточняйте у нашего менеджера, который закреплен за вами.

Шаг 5: Определение победителя #
Для того чтобы определить победителя, составляется общий список финалистов по трем группам: «Обученные», «Обучаемые» и «Фиксированные».

В группе с фиксированной стоимостью показа победитель выделяется сразу.

Сформированный список кампаний группируется и сортируется по убыванию ставки.
Перейдем к распределению «веса» между кампаниями. Вес — это шанс кампании выиграть в финальной стадии аукциона. Кампания, предлагающая максимальную ставку, получает 90%. Остальные 10% шанса на победу разделяются пропорционально среди оставшихся участников в зависимости от ставки и доли.

С наибольшей вероятностью будет показана кампания с самой высокой ставкой. Однако остается шанс на выигрыш CPA-кампаниям, у которых ставка ниже.
Окончательно победитель определяется выбором случайного числа от 0 до 1. За каждой кампанией закреплен диапазон чисел, зависимый от вероятности на показ рекламы.

Если выпадет число 0,583 — победу одерживает первая кампания.
Распределение возможного выигрыша позволяет решать проблемы следующего рода. Допустим, что CPA-кампания в одно время получала много конверсий и приносила хороший доход. Ее оценочная ставка росла, она побеждала во многих аукционах. В какой-то момент конверсии исчезли, так как на стороне рекламодателя произошел сбой. Оценочная стоимость начала снижаться. Постепенно кампания перестала побеждать в аукционах. Но трафик в небольших объемах все равно продолжает поступать на нее. Это возможно, когда:
- кампания побеждает с минимальным шансом на выигрыш;
- появляется новый источник трафика, который еще не поступал на CPA-кампанию.
В определенный момент рекламодатель может исправить техническую проблему на своей стороне. Снова будут поступать данные о конверсиях и доходе. Оценочная стоимость показа кампании начнет расти, и на нее будет приходить больше трафика.
Если бы у кампаний с оценочной стоимостью показа ниже, чем у победителя, отсутствовал шанс на победу, не происходила бы саморегуляция системы.
Обозначим основные моменты, которые стоит запомнить:
- Рекламная платформа позволяет издателям и рекламодателям запускать кампании, настраивать площадки, отслеживать обрабатываемую статистику. Также благодаря платформе происходит подбор рекламы.
- Процесс обработки запросов и выбора рекламы состоит из шести этапов — это получение запроса, подбор рекламы, расчет ставок, вычет страховок, применение ограничений и определение победителя.
- Каждый шаг имеет свои нюансы, которые необходимо знать и понимать. Это поможет вам в дальнейшей работе с использованием Salematics.