Как работает рекламная монетизация, часть I

Зачем читать этот текст?

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

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

Рекламная монетизация может оказывать стопроцентное влияние на рост продукта разработчика. Работать с сетями можно напрямую или через медиатор, позволяющий взаимодействовать с несколькими сетями одновременно, оптимизируя процесс размещения рекламы. Этот процесс называется медиацией. И если закупка с целью роста — изученный, понятный процесс, то о том, как качественно продавать рекламу, AppQuantum, издатель мобильных игр, расскажет в подробном материале из двух частей.

Работа рекламной сети

Представьте девелопера. Он разработал мобильную игру и желает заработать на рекламе. Он встраивает в свое приложение некую рекламную сеть Х и получает с показов небольшой доход.

Откуда берется этот доход? В схеме работы рекламной монетизации участвуют четыре стороны: разработчик, рекламная сетка, рекламодатели и пользователи. Рекламодатели отдают сети рекламные объявления и платят, чтобы она их разместила. Со своей стороны разработчик отсылает в сеть запрос на показ. Сеть отдает разработчику какое-то из объявлений и процент от дохода, который она получила с рекламодателя.

AppQuantum
AppQuantum

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

Таким образом, разработчик видит только оплату за показ, но не знает, какую маржу забирает сеть.

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

Самая прибыльная реклама — таргетированная. Рекламодатель настраивает нужный таргет в запросе к рекламной сетке, разработчик делится с сеткой данными своих пользователей. Если у сети есть реклама, подходящая под имеющегося юзера, она готова покупать его дороже. У каждой рекламной сети есть ограниченное количество рекламодателей, поэтому чем больше рекламных сетей — тем больше шансов, что такая реклама будет показана пользователю. Несложно догадаться, что разработчик теряет большой объем денег при наличии только одной рекламной сети.

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

Конкуренция

Допустим, девелопер дочитал нашу статью до этого места и решил встроить в игру вторую сеть. Достаточно ли будет просто встроить ее SDK? Технически это можно сделать если SDK сетей не конфликтуют друг с другом, но это не будет эффективно, потому что без сравнения дохода показа от каждой сети разработчик не узнает, какая сеть в данный момент выгоднее. Получится, что уйти может любой показ, не обязательно самый дорогой.

Чтобы обеспечить конкуренцию нужен медиатор — сервис для монетизации приложения, который устанавливается при помощи SDK. К нему добавляются адаптеры разных сетей, и медиатор распределяет показы между ними, что и обеспечивает конкуренцию.

Логику распределения показов между сетями можно написать и самому (получится свой медиатор), но это занимает много времени, нужно глубокое понимание медиации, самостоятельная поддержка SDK разных сетей в актуальном состоянии. К тому же на рынке много уже готовых и проверенный решений, работающих ощутимо лучше чем самописное решение, например Google AdMob, IronSource, AppLovin Max, MoPub.

Сами сети напрямую не знают, что они вступили в конкуренцию (кроме сети, чьим медиатором вы пользуетесь), но могут догадаться по косвенным данным: снижение SOV (share of voice — доля сетки в показах), наличие медиатора в числе SDK, которые отслеживаются сервисами Market Intelligence и др.

Можно не полагаться на внутреннюю разведку сети и сказать менеджерам напрямую: "Вот столько вы закупаете у нас, а вот такой у нас реальный объем. Хотите больше? Делитесь”. Конечно, этот подход сработает только при наличии у вас объема :)

Всем сетям важны объемы, чтобы они могли откручивать рекламу и давать рекламодателям установки. Поэтому они готовы жертвовать своей комиссией ради увеличения объема показов. Получается ситуация, при которой мы:

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

Какой можно сделать вывод? Конкуренция самоценна.

Медиация

Как мы уже упоминали выше, медиатор распределяет показы между рекламными сетями. Происходит это через waterfall или водопад. Водопад — это список из рекламных сетей, которые по очереди опрашиваются на предмет наличия подходящей рекламы.

Опросы рекламных сетей называются коллами. Помимо этого их еще называют инстансами, плейсментами, ад-юнитами и так далее, но нам терминология «коллов» (call) видится самой понятной. Количество коллов к водопаду зависит от сервера медиатора. Стандарт — это около 20. Некоторые создают свою инфраструктуру таким образом, чтобы поддерживать по 100 коллов.

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

Настройка

Как это происходит: вы указываете желаемый CPM для каждой из сетей и располагаете их в порядке, в котором медиатор будет их опрашивать. CPM - cost per mille - это доход, который вы получите от сети за 1000 показов рекламы в своем приложении. Почему 1000? Оценивать доход в долларах куда проще, нежели чем в сотых цента. К тому же, устанавливая цену за 1000 показов, вы даете возможность сети выкупать отдельных пользователей за разную стоимость в среднем получая установленное значение, кроме случаев с hard floor.

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

Стоимость каждого колла к сети бывает трех видов:

  • Hard floor (дальше будем называть их “флоры”) — реклама отдается четко по указанному разработчиком CPM или выше. Самый нелюбимый флор у сетей, часто согласовывается неделями на уровне HQ компании.
  • Soft floor — CPM в разбросе от указанного разработчиком: может быть как выше, так и ниже. Но, в среднем, результат будет ниже. Чаще всего сети работают именно по софт флорам.
  • Target floor — рекламная сеть может отдать рекламу и выше, и ниже указанного CPM, но на больших объемах средняя цена должна будет попадать в заданные значения.

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

Коллы в водопаде вы настраиваете сами, а медиатор просто проходит по сетям в порядке очереди в водопаде и опрашивает, готовы ли они отдать рекламу за установленную вами цену. Работать это будет так: медиатор говорит рекламной сети в водопаде «Дай мне рекламу за CPM $150, rewarded video, я из США». Есть такая — хорошо, нет — тогда медиатор идет ко второму коллу в водопаде, для которого цена стоит уже $140. И за столько нет? Идем дальше по уменьшению стоимости пока какая-то сеть не отдаст показ.

Какую разницу устанавливать между коллами — $10 или $1 — решение разработчика. В первом случае, если сделать разницу между коллами в $10, можно упустить какой-то ролик за $148. Однако, во втором случае, если разница слишком маленькая, на опрос всех сетей уйдет слишком много времени и пользователь после долгого ожидания просто закроет приложение, и вы не получите ничего.

Пример водопада AppQuantum
Пример водопада AppQuantum

Хитрость в том, чтобы настроить водопад с максимальным количеством коллов к разным сетям в том диапазоне, где с наибольшей вероятностью пользователю отдастся показ, но не потерять в его эффективности. Для этого водопады настраиваются с учетом многих факторов: OS, GEO и других.

При этом, если вы поставите слишком высокую цену, есть риск, что ни одна сеть не выкупит показ. Слишком низкую — упустите прибыль. Какая цена оптимальна — вопрос, ответ на который таится в постоянных экспериментах и кулуарных разговорах на игровых конференциях.

Биддинг

Выше мы описали, как работает опрос сетей в медиаторе. По факту это брутфорс (метод подбора пароля простым перебором), сетей до тех пор, пока не найдется подходящая реклама. Альтернатива такому подходу **— это один колл на сетку. Он бывает двух видов - с известной и неизвестной ценой. Работает это так: медиатор делает колл к сети, а она в ответ: "сначала покажи мою рекламу у себя, а потом я скажу, сколько ты получишь". Это если цена неизвестна. **Если известна, то сеть сначала говорит, сколько ты получишь, а потом уже отдает показ. Второй вариант называется RTB (real-time bidding) и именно за это его все любят: только один колл с самой высокой ценой от этой сети с минимумом действий со стороны паблишера/разработчика.

Медиация может состоять или только из одного водопада, или только из биддеров, или из того и другого сразу (тогда такой водопад называется гибридным).

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

Это примерная схема работы, для наглядности  здесь описан последовательный процесс опроса AppQuantum
Это примерная схема работы, для наглядности здесь описан последовательный процесс опроса AppQuantum

Оптимизация

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

Сплит-тесты стоит проводить не только на новых играх, но и на уже давно оптимизированных водопадах. Например, на Idle Evil Clicker мы запускали тест на US и сравнивали текущий водопад и более длинный, в который мы добавили 9 новых позиций. Эти позиции подбирались основываясь на производительности контрольного водопада. Нам нужно было убедиться, что новые позиции будут работать с той эффективностью, которую мы от них ожидаем, и не вызовут сильного увеличения времени задержки показов.

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

Будущее

Ежедневная настройка и оптимизация медиации может быть очень утомительна и отнимать кучу времени.

Мы внутри AppQuantum решаем эту проблему пресетами — наборами определенных коллов к определенным сетям с запросами, которые наиболее подойдут именно этим сетям. Это позволяет приоритезировать свои запросы внутри сети и получать на 15-20% дохода больше.

Итог

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

Что дальше?

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

Термины

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

Call (или колл) — опрос рекламных сетей на предмет наличия рекламы по установленной цене до момента, когда кто-то ее отдаст.

Биддинг — это один колл к сети с данными по пользователю, относительно которого предполагается, что сеть отдаст обратно максимально дорогой показ.

Waterfall (или водопад) — это список из рекламных сетей, которые постепенно опрашиваются медиатором на предмет наличия рекламы по запрашиваемой цене.

Hard floor — реклама отдается по указанному разработчиком CPM или выше.

Soft floor — CPM в разбросе от указанного разработчиком: может быть как выше, так и ниже.

Target floor — рекламная сеть может отдать рекламу и выше, и ниже указанного CPM, но на больших объемах средняя цена должна будет попадать в заданные значения.

Сетапы (или пресеты) — наборы из коллов к биддерам и водопада, в котором и опрашиваются сети.

CPM (cost per mile) — доход, который вы получите от сети за 1000 показов рекламы в своем приложении.

2222
9 комментариев

Крутой материал, спасибо! Жду следующую часть.

Только cost per mille, а не mile 

3
Ответить

Разложили по полочкам!

2
Ответить

Ого, в кои-то веки статья про мобилки, но не про то, как обдурить пользователя!

1
Ответить

@Nikita Novokreshchenov а чего не под своим акком? (¬‿¬ )

Ответить

Комментарий недоступен

2
Ответить

Эта статья опубликована и написана не Никитой, Андрей. Но спасибо за комментарий! :)

1
Ответить