Как работает медиация рекламы в Telegram Mini Apps: почему одна сеть — потолок дохода
Медиация рекламы — это слой между вашим приложением и несколькими источниками рекламного
спроса. Telegram Mini App делает один запрос, а слой медиации решает, какой рекламной сети
или биддеру реального времени достанется этот показ и по какой цене. С одной рекламной сетью
решать нечего — и конкурировать некому, поэтому одна сеть и есть потолок дохода. GigaPub —
рекламная сеть и платформа медиации рекламы для Telegram Mini Apps, и в этой статье мы
разбираем, что происходит между вызовом showGiga() и появлением рекламы на экране.
Коротко
- Одна рекламная сеть ограничивает сразу три вещи: fill rate (у неё нет спроса на часть стран и моментов), цену (никто не торгуется против неё) и надёжность (её сбой — ваш сбой).
- Медиация ставит за одним вызовом SDK несколько источников спроса и заставляет их конкурировать за каждый показ: сначала биддеры реального времени, затем рекламные сети в порядке по эффективности, затем ваш собственный fallback.
- Порядок настраивается на сервере для каждого плейсмента и страны — приоритеты меняются без новой сборки приложения.
- Интеграция одна — тег скрипта и вызов
showGiga()— сколько бы сетей ни стояло за ней.
Почему одна рекламная сеть — потолок дохода?
Потому что одна сеть продаёт только то, на что у неё есть спрос, и по той цене, которую сама назначает. Отсюда три ограничения:
- Fill rate. Ни у одной сети нет рекламодателей на каждую страну и каждый час. Когда ей нечего показать, ваш пользователь попросил бонус и не получил ничего — см. что такое fill rate и как его измерить.
- Цена. Без конкурента, который торгуется за тот же показ, цена сети и есть цена. Ваш eCPM — ровно столько, сколько она решила заплатить.
- Надёжность. Если у SDK или серверов сети плохой день, плохой день у вашей монетизации. Второго варианта нет.
Подключить вторую сеть вручную проблему толком не решает: теперь вы поддерживаете два SDK, а ваш код должен решать, какой из них вызвать, — без данных, на которых это решение строить.
Что на самом деле делает слой медиации?
Отвечает на один вопрос для каждого показа: кому достанется этот? Для ответа нужны три вещи — несколько источников спроса за одним SDK, живые данные о том, как каждый источник отрабатывает на плейсменте и в стране, и правило, в каком порядке их опрашивать. Разработчик ничего из этого не видит: приложение делает один вызов, слой проводит конкурс, показывается одна реклама.
Waterfall или конкуренция в реальном времени — как GigaPub решает, кому отдать показ?
И то и другое — в фиксированном порядке, где живая цена идёт первой.
Классический waterfall опрашивает сети одну за другой в заранее заданном порядке по историческому eCPM, пока одна из них не заполнит запрос. Это просто, но медленно (каждый шаг ждёт таймаута) и опирается на вчерашние цены: первая сеть с рекламой побеждает, даже если следующая заплатила бы за этого конкретного пользователя больше.
Real-time bidding (RTB) заменяет историю живым аукционом: биддеры видят показ одновременно и называют цену; побеждает максимальная ставка. Цена — это то, сколько показ стоит прямо сейчас.
GigaPub объединяет оба подхода:
- Первым показ видит RTB-слой. Рекламодатели, ведущие кампании на платформе GigaPub, и подключённые RTB-партнёры торгуются за показ в реальном времени. Если есть победившая ставка — показывается она.
- Затем заполняют рекламные сети — в порядке, настроенном для плейсмента и страны по тому, как каждая сеть там отработала. Порядок не статичен: в зависимости от плейсмента это строгий список приоритетов, взвешенная ротация или круговая очередь; в режиме приоритетов сеть, которая только что показала рекламу, на короткое время опускается ниже, чтобы пользователь не видел креативы одного источника дважды подряд.
- Если сеть не смогла показать — нет рекламы, ошибка, SDK не готов — слой переходит к
следующей внутри того же вызова
showGiga(). Отказ одной сети никогда не завершает запрос. - Последним идёт ваш fallback. Если приложение определило
window.AdGigaFallback, слой медиации вызывает его, когда все источники выше вернулись пустыми.
Вся цепочка — один промис: он резолвится, когда реклама показана, и отклоняется, когда показать было нечего.
Что медиация меняет в цифрах?
Три вещи — в том же порядке, что и три ограничения выше:
- Растёт fill rate, потому что несколько источников покрывают больше стран и моментов, чем любой из них по отдельности, а незаполненный запрос одной сети уходит в следующую.
- Растёт eCPM, потому что биддеры конкурируют за показ, а среди сетей первой идёт та, что лучше всего работает в этой стране.
- Доход перестаёт зависеть от аптайма одного поставщика. Лежащая сеть просто пропускается, пока лежит.
Насколько сдвинется каждое число, зависит от ваших стран, форматов и аудитории — у каждого приложения по-своему, поэтому кабинет и группирует всё по странам. Rewarded- и interstitial-плейсменты идут через один и тот же слой; когда какой уместен — в статье rewarded-видео против межстраничной рекламы.
Одна рекламная сеть против медиации
| Одна рекламная сеть | Медиация рекламы | |
|---|---|---|
| Fill rate | ограничен спросом одной сети | несколько источников покрывают больше стран и моментов |
| Цена показа | назначает сеть | определяет конкуренция биддеров и сетей |
| Покрытие стран | сильна в одних гео, пуста в других | в каждой стране первым идёт лучший источник |
| Надёжность | сбой сети = сбой монетизации | отказавший источник пропускается, заполняет следующий |
| Работа разработчика | один SDK, один вызов | один SDK, один вызов |
| Смена приоритетов | новая сборка приложения | серверная настройка, без релиза |
Что нужно от паблишера?
Почти ничего — в этом и смысл. Интеграция — тег скрипта и один вызов:
<script src="https://ad.gigapub.tech/script?id=YOUR_PROJECT_ID"></script>
try {
await window.showGiga() // слой медиации проходит всю цепочку сам
grantReward()
} catch (e) {
// показать было нечего — награды нет
}
Три практические детали:
- Приоритеты живут на сервере. SDK загружает конфигурацию плейсментов при старте приложения. Добавить сеть или поменять порядок — без новой сборки.
- Сети инициализируются при загрузке, а не при показе. Если вызвать
showGiga()сразу после загрузки страницы, SDK коротко подождёт готовности сетей, а не вернёт отказ. - Оставьте прежний SDK как fallback. Присвойте его функцию показа
window.AdGigaFallback— и она станет последним шагом цепочки. В доках есть и загрузчик, который переключается на резервный домен, если основной недоступен, — см. гайд по интеграции.
Пятиминутная версия подключения — в статье как подключить рекламный SDK GigaPub.
FAQ
Что такое медиация рекламы? Слой между приложением и несколькими источниками рекламного спроса — рекламными сетями и биддерами реального времени. Приложение делает один запрос, а слой медиации решает, какому источнику уйдёт каждый показ — по живым ставкам и по тому, как каждый источник отработал на этом плейсменте и в этой стране.
Медиация рекламы — это то же самое, что рекламная сеть? Нет. Рекламная сеть — один источник спроса со своими рекламодателями. Медиация соединяет несколько таких источников и заставляет их конкурировать. GigaPub — и то и другое: приводит собственных рекламодателей через слой RTB и медиирует другие сети за тем же SDK.
Замедляет ли медиация показ рекламы?
Нет. SDK сетей инициализируются при загрузке приложения, а не при вызове showGiga(), а
решение аукциона принимается за миллисекунды. Сеть, не сумевшая показать рекламу,
пропускается внутри того же вызова.
Нужно ли менять код, когда добавляются сети или меняются приоритеты? Нет. Порядок источников спроса настраивается на сервере для каждого плейсмента и страны и загружается при старте приложения.
Что происходит, когда ни у одной сети нет рекламы?
Если вы определили window.AdGigaFallback, он вызывается последним. Иначе промис
window.showGiga() отклоняется, и ваш код не выдаёт награду.
Поставьте слой медиации на работу: зарегистрируйте приложение на giga.pub и пройдите гайд по интеграции.
