[{"data":1,"prerenderedAt":702},["ShallowReactive",2],{"blog-/ru/blog/how-ad-mediation-works":3},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"date":10,"author":11,"cover":12,"ogImage":12,"tags":13,"draft":6,"faq":19,"body":35,"_type":696,"_id":697,"_source":698,"_file":699,"_stem":700,"_extension":701},"/ru/blog/how-ad-mediation-works","blog",false,"","Как работает медиация рекламы в Telegram Mini Apps: почему одна сеть — потолок дохода","Медиация рекламы отдаёт каждый показ нескольким сетям и RTB-биддерам вместо одной сети. Как это устроено в Telegram Mini App и почему одна сеть ограничивает доход.","2026-09-20","Команда GigaPub","/og-image.png",[14,15,16,17,18],"медиация-рекламы","telegram-mini-apps","cpm","fill-rate","rtb",[20,23,26,29,32],{"q":21,"a":22},"Что такое медиация рекламы?","Медиация рекламы — слой между приложением и несколькими источниками рекламного спроса: рекламными сетями и биддерами реального времени. Приложение делает один запрос, а слой медиации решает, какому источнику уйдёт каждый показ — по живым ставкам и по тому, как каждый источник отработал на этом плейсменте и в этой стране. Разработчик подключает один SDK вместо SDK каждой сети.",{"q":24,"a":25},"Медиация рекламы — это то же самое, что рекламная сеть?","Нет. Рекламная сеть — один источник спроса со своими рекламодателями. Медиация соединяет несколько таких источников и заставляет их конкурировать за каждый показ. GigaPub — и то и другое: приводит собственных рекламодателей через слой RTB и медиирует другие рекламные сети за тем же SDK.",{"q":27,"a":28},"Замедляет ли медиация показ рекламы?","Нет. SDK сетей инициализируются при загрузке приложения, а не при вызове showGiga(), а решение RTB-аукциона принимается за миллисекунды. Если сеть не смогла показать рекламу, слой медиации переходит к следующей внутри того же вызова.",{"q":30,"a":31},"Нужно ли менять код, когда добавляются сети или меняются приоритеты?","Нет. Порядок, в котором опрашиваются источники спроса, настраивается на сервере GigaPub для каждого плейсмента и страны и загружается SDK при старте приложения. Добавление сети или смена приоритетов никогда не требует новой сборки вашего Telegram Mini App.",{"q":33,"a":34},"Что происходит, когда ни у одной сети нет рекламы?","Если приложение определило window.AdGigaFallback — например, функцию показа предыдущего SDK, — слой медиации вызывает её последней. Иначе промис window.showGiga() отклоняется, и ваш код просто не выдаёт награду.",{"type":36,"children":37,"toc":686},"root",[38,46,61,70,102,109,114,156,161,167,180,186,191,203,213,218,277,282,288,293,326,338,344,482,488,493,505,516,521,577,589,595,604,613,629,638,662,666],{"type":39,"tag":40,"props":41,"children":43},"element","h1",{"id":42},"как-работает-медиация-рекламы-в-telegram-mini-apps-почему-одна-сеть-потолок-дохода",[44],{"type":45,"value":8},"text",{"type":39,"tag":47,"props":48,"children":49},"p",{},[50,52,59],{"type":45,"value":51},"Медиация рекламы — это слой между вашим приложением и несколькими источниками рекламного\nспроса. Telegram Mini App делает один запрос, а слой медиации решает, какой рекламной сети\nили биддеру реального времени достанется этот показ и по какой цене. С одной рекламной сетью\nрешать нечего — и конкурировать некому, поэтому одна сеть и есть потолок дохода. GigaPub —\nрекламная сеть и платформа медиации рекламы для Telegram Mini Apps, и в этой статье мы\nразбираем, что происходит между вызовом ",{"type":39,"tag":53,"props":54,"children":56},"code",{"className":55},[],[57],{"type":45,"value":58},"showGiga()",{"type":45,"value":60}," и появлением рекламы на экране.",{"type":39,"tag":47,"props":62,"children":63},{},[64],{"type":39,"tag":65,"props":66,"children":67},"strong",{},[68],{"type":45,"value":69},"Коротко",{"type":39,"tag":71,"props":72,"children":73},"ul",{},[74,80,85,90],{"type":39,"tag":75,"props":76,"children":77},"li",{},[78],{"type":45,"value":79},"Одна рекламная сеть ограничивает сразу три вещи: fill rate (у неё нет спроса на часть\nстран и моментов), цену (никто не торгуется против неё) и надёжность (её сбой — ваш сбой).",{"type":39,"tag":75,"props":81,"children":82},{},[83],{"type":45,"value":84},"Медиация ставит за одним вызовом SDK несколько источников спроса и заставляет их\nконкурировать за каждый показ: сначала биддеры реального времени, затем рекламные сети в\nпорядке по эффективности, затем ваш собственный fallback.",{"type":39,"tag":75,"props":86,"children":87},{},[88],{"type":45,"value":89},"Порядок настраивается на сервере для каждого плейсмента и страны — приоритеты меняются\nбез новой сборки приложения.",{"type":39,"tag":75,"props":91,"children":92},{},[93,95,100],{"type":45,"value":94},"Интеграция одна — тег скрипта и вызов ",{"type":39,"tag":53,"props":96,"children":98},{"className":97},[],[99],{"type":45,"value":58},{"type":45,"value":101}," — сколько бы сетей ни стояло за ней.",{"type":39,"tag":103,"props":104,"children":106},"h2",{"id":105},"почему-одна-рекламная-сеть-потолок-дохода",[107],{"type":45,"value":108},"Почему одна рекламная сеть — потолок дохода?",{"type":39,"tag":47,"props":110,"children":111},{},[112],{"type":45,"value":113},"Потому что одна сеть продаёт только то, на что у неё есть спрос, и по той цене, которую сама\nназначает. Отсюда три ограничения:",{"type":39,"tag":71,"props":115,"children":116},{},[117,136,146],{"type":39,"tag":75,"props":118,"children":119},{},[120,125,127,134],{"type":39,"tag":65,"props":121,"children":122},{},[123],{"type":45,"value":124},"Fill rate.",{"type":45,"value":126}," Ни у одной сети нет рекламодателей на каждую страну и каждый час. Когда ей\nнечего показать, ваш пользователь попросил бонус и не получил ничего — см.\n",{"type":39,"tag":128,"props":129,"children":131},"a",{"href":130},"/ru/blog/monetization-metrics-ecpm-fill-rate-arpdau",[132],{"type":45,"value":133},"что такое fill rate и как его измерить",{"type":45,"value":135},".",{"type":39,"tag":75,"props":137,"children":138},{},[139,144],{"type":39,"tag":65,"props":140,"children":141},{},[142],{"type":45,"value":143},"Цена.",{"type":45,"value":145}," Без конкурента, который торгуется за тот же показ, цена сети и есть цена. Ваш\neCPM — ровно столько, сколько она решила заплатить.",{"type":39,"tag":75,"props":147,"children":148},{},[149,154],{"type":39,"tag":65,"props":150,"children":151},{},[152],{"type":45,"value":153},"Надёжность.",{"type":45,"value":155}," Если у SDK или серверов сети плохой день, плохой день у вашей монетизации.\nВторого варианта нет.",{"type":39,"tag":47,"props":157,"children":158},{},[159],{"type":45,"value":160},"Подключить вторую сеть вручную проблему толком не решает: теперь вы поддерживаете два SDK, а\nваш код должен решать, какой из них вызвать, — без данных, на которых это решение строить.",{"type":39,"tag":103,"props":162,"children":164},{"id":163},"что-на-самом-деле-делает-слой-медиации",[165],{"type":45,"value":166},"Что на самом деле делает слой медиации?",{"type":39,"tag":47,"props":168,"children":169},{},[170,172,178],{"type":45,"value":171},"Отвечает на один вопрос для каждого показа: ",{"type":39,"tag":173,"props":174,"children":175},"em",{},[176],{"type":45,"value":177},"кому достанется этот?",{"type":45,"value":179}," Для ответа нужны три\nвещи — несколько источников спроса за одним SDK, живые данные о том, как каждый источник\nотрабатывает на плейсменте и в стране, и правило, в каком порядке их опрашивать. Разработчик\nничего из этого не видит: приложение делает один вызов, слой проводит конкурс, показывается\nодна реклама.",{"type":39,"tag":103,"props":181,"children":183},{"id":182},"waterfall-или-конкуренция-в-реальном-времени-как-gigapub-решает-кому-отдать-показ",[184],{"type":45,"value":185},"Waterfall или конкуренция в реальном времени — как GigaPub решает, кому отдать показ?",{"type":39,"tag":47,"props":187,"children":188},{},[189],{"type":45,"value":190},"И то и другое — в фиксированном порядке, где живая цена идёт первой.",{"type":39,"tag":47,"props":192,"children":193},{},[194,196,201],{"type":45,"value":195},"Классический ",{"type":39,"tag":65,"props":197,"children":198},{},[199],{"type":45,"value":200},"waterfall",{"type":45,"value":202}," опрашивает сети одну за другой в заранее заданном порядке по\nисторическому eCPM, пока одна из них не заполнит запрос. Это просто, но медленно (каждый\nшаг ждёт таймаута) и опирается на вчерашние цены: первая сеть с рекламой побеждает, даже\nесли следующая заплатила бы за этого конкретного пользователя больше.",{"type":39,"tag":47,"props":204,"children":205},{},[206,211],{"type":39,"tag":65,"props":207,"children":208},{},[209],{"type":45,"value":210},"Real-time bidding (RTB)",{"type":45,"value":212}," заменяет историю живым аукционом: биддеры видят показ\nодновременно и называют цену; побеждает максимальная ставка. Цена — это то, сколько показ\nстоит прямо сейчас.",{"type":39,"tag":47,"props":214,"children":215},{},[216],{"type":45,"value":217},"GigaPub объединяет оба подхода:",{"type":39,"tag":219,"props":220,"children":221},"ol",{},[222,232,242,259],{"type":39,"tag":75,"props":223,"children":224},{},[225,230],{"type":39,"tag":65,"props":226,"children":227},{},[228],{"type":45,"value":229},"Первым показ видит RTB-слой.",{"type":45,"value":231}," Рекламодатели, ведущие кампании на платформе GigaPub, и\nподключённые RTB-партнёры торгуются за показ в реальном времени. Если есть победившая\nставка — показывается она.",{"type":39,"tag":75,"props":233,"children":234},{},[235,240],{"type":39,"tag":65,"props":236,"children":237},{},[238],{"type":45,"value":239},"Затем заполняют рекламные сети",{"type":45,"value":241}," — в порядке, настроенном для плейсмента и страны по\nтому, как каждая сеть там отработала. Порядок не статичен: в зависимости от плейсмента это\nстрогий список приоритетов, взвешенная ротация или круговая очередь; в режиме приоритетов\nсеть, которая только что показала рекламу, на короткое время опускается ниже, чтобы\nпользователь не видел креативы одного источника дважды подряд.",{"type":39,"tag":75,"props":243,"children":244},{},[245,250,252,257],{"type":39,"tag":65,"props":246,"children":247},{},[248],{"type":45,"value":249},"Если сеть не смогла показать",{"type":45,"value":251}," — нет рекламы, ошибка, SDK не готов — слой переходит к\nследующей внутри того же вызова ",{"type":39,"tag":53,"props":253,"children":255},{"className":254},[],[256],{"type":45,"value":58},{"type":45,"value":258},". Отказ одной сети никогда не завершает запрос.",{"type":39,"tag":75,"props":260,"children":261},{},[262,267,269,275],{"type":39,"tag":65,"props":263,"children":264},{},[265],{"type":45,"value":266},"Последним идёт ваш fallback.",{"type":45,"value":268}," Если приложение определило ",{"type":39,"tag":53,"props":270,"children":272},{"className":271},[],[273],{"type":45,"value":274},"window.AdGigaFallback",{"type":45,"value":276},", слой\nмедиации вызывает его, когда все источники выше вернулись пустыми.",{"type":39,"tag":47,"props":278,"children":279},{},[280],{"type":45,"value":281},"Вся цепочка — один промис: он резолвится, когда реклама показана, и отклоняется, когда\nпоказать было нечего.",{"type":39,"tag":103,"props":283,"children":285},{"id":284},"что-медиация-меняет-в-цифрах",[286],{"type":45,"value":287},"Что медиация меняет в цифрах?",{"type":39,"tag":47,"props":289,"children":290},{},[291],{"type":45,"value":292},"Три вещи — в том же порядке, что и три ограничения выше:",{"type":39,"tag":71,"props":294,"children":295},{},[296,306,316],{"type":39,"tag":75,"props":297,"children":298},{},[299,304],{"type":39,"tag":65,"props":300,"children":301},{},[302],{"type":45,"value":303},"Растёт fill rate",{"type":45,"value":305},", потому что несколько источников покрывают больше стран и моментов,\nчем любой из них по отдельности, а незаполненный запрос одной сети уходит в следующую.",{"type":39,"tag":75,"props":307,"children":308},{},[309,314],{"type":39,"tag":65,"props":310,"children":311},{},[312],{"type":45,"value":313},"Растёт eCPM",{"type":45,"value":315},", потому что биддеры конкурируют за показ, а среди сетей первой идёт та,\nчто лучше всего работает в этой стране.",{"type":39,"tag":75,"props":317,"children":318},{},[319,324],{"type":39,"tag":65,"props":320,"children":321},{},[322],{"type":45,"value":323},"Доход перестаёт зависеть от аптайма одного поставщика.",{"type":45,"value":325}," Лежащая сеть просто\nпропускается, пока лежит.",{"type":39,"tag":47,"props":327,"children":328},{},[329,331,337],{"type":45,"value":330},"Насколько сдвинется каждое число, зависит от ваших стран, форматов и аудитории — у каждого\nприложения по-своему, поэтому кабинет и группирует всё по странам. Rewarded- и\ninterstitial-плейсменты идут через один и тот же слой; когда какой уместен — в статье\n",{"type":39,"tag":128,"props":332,"children":334},{"href":333},"/ru/blog/rewarded-vs-interstitial-ads",[335],{"type":45,"value":336},"rewarded-видео против межстраничной рекламы",{"type":45,"value":135},{"type":39,"tag":103,"props":339,"children":341},{"id":340},"одна-рекламная-сеть-против-медиации",[342],{"type":45,"value":343},"Одна рекламная сеть против медиации",{"type":39,"tag":345,"props":346,"children":347},"table",{},[348,370],{"type":39,"tag":349,"props":350,"children":351},"thead",{},[352],{"type":39,"tag":353,"props":354,"children":355},"tr",{},[356,360,365],{"type":39,"tag":357,"props":358,"children":359},"th",{},[],{"type":39,"tag":357,"props":361,"children":362},{},[363],{"type":45,"value":364},"Одна рекламная сеть",{"type":39,"tag":357,"props":366,"children":367},{},[368],{"type":45,"value":369},"Медиация рекламы",{"type":39,"tag":371,"props":372,"children":373},"tbody",{},[374,393,411,429,447,464],{"type":39,"tag":353,"props":375,"children":376},{},[377,383,388],{"type":39,"tag":378,"props":379,"children":380},"td",{},[381],{"type":45,"value":382},"Fill rate",{"type":39,"tag":378,"props":384,"children":385},{},[386],{"type":45,"value":387},"ограничен спросом одной сети",{"type":39,"tag":378,"props":389,"children":390},{},[391],{"type":45,"value":392},"несколько источников покрывают больше стран и моментов",{"type":39,"tag":353,"props":394,"children":395},{},[396,401,406],{"type":39,"tag":378,"props":397,"children":398},{},[399],{"type":45,"value":400},"Цена показа",{"type":39,"tag":378,"props":402,"children":403},{},[404],{"type":45,"value":405},"назначает сеть",{"type":39,"tag":378,"props":407,"children":408},{},[409],{"type":45,"value":410},"определяет конкуренция биддеров и сетей",{"type":39,"tag":353,"props":412,"children":413},{},[414,419,424],{"type":39,"tag":378,"props":415,"children":416},{},[417],{"type":45,"value":418},"Покрытие стран",{"type":39,"tag":378,"props":420,"children":421},{},[422],{"type":45,"value":423},"сильна в одних гео, пуста в других",{"type":39,"tag":378,"props":425,"children":426},{},[427],{"type":45,"value":428},"в каждой стране первым идёт лучший источник",{"type":39,"tag":353,"props":430,"children":431},{},[432,437,442],{"type":39,"tag":378,"props":433,"children":434},{},[435],{"type":45,"value":436},"Надёжность",{"type":39,"tag":378,"props":438,"children":439},{},[440],{"type":45,"value":441},"сбой сети = сбой монетизации",{"type":39,"tag":378,"props":443,"children":444},{},[445],{"type":45,"value":446},"отказавший источник пропускается, заполняет следующий",{"type":39,"tag":353,"props":448,"children":449},{},[450,455,460],{"type":39,"tag":378,"props":451,"children":452},{},[453],{"type":45,"value":454},"Работа разработчика",{"type":39,"tag":378,"props":456,"children":457},{},[458],{"type":45,"value":459},"один SDK, один вызов",{"type":39,"tag":378,"props":461,"children":462},{},[463],{"type":45,"value":459},{"type":39,"tag":353,"props":465,"children":466},{},[467,472,477],{"type":39,"tag":378,"props":468,"children":469},{},[470],{"type":45,"value":471},"Смена приоритетов",{"type":39,"tag":378,"props":473,"children":474},{},[475],{"type":45,"value":476},"новая сборка приложения",{"type":39,"tag":378,"props":478,"children":479},{},[480],{"type":45,"value":481},"серверная настройка, без релиза",{"type":39,"tag":103,"props":483,"children":485},{"id":484},"что-нужно-от-паблишера",[486],{"type":45,"value":487},"Что нужно от паблишера?",{"type":39,"tag":47,"props":489,"children":490},{},[491],{"type":45,"value":492},"Почти ничего — в этом и смысл. Интеграция — тег скрипта и один вызов:",{"type":39,"tag":494,"props":495,"children":500},"pre",{"className":496,"code":498,"language":499,"meta":7},[497],"language-html","\u003Cscript src=\"https://ad.gigapub.tech/script?id=YOUR_PROJECT_ID\">\u003C/script>\n","html",[501],{"type":39,"tag":53,"props":502,"children":503},{"__ignoreMap":7},[504],{"type":45,"value":498},{"type":39,"tag":494,"props":506,"children":511},{"className":507,"code":509,"language":510,"meta":7},[508],"language-js","try {\n  await window.showGiga() // слой медиации проходит всю цепочку сам\n  grantReward()\n} catch (e) {\n  // показать было нечего — награды нет\n}\n","js",[512],{"type":39,"tag":53,"props":513,"children":514},{"__ignoreMap":7},[515],{"type":45,"value":509},{"type":39,"tag":47,"props":517,"children":518},{},[519],{"type":45,"value":520},"Три практические детали:",{"type":39,"tag":71,"props":522,"children":523},{},[524,534,551],{"type":39,"tag":75,"props":525,"children":526},{},[527,532],{"type":39,"tag":65,"props":528,"children":529},{},[530],{"type":45,"value":531},"Приоритеты живут на сервере.",{"type":45,"value":533}," SDK загружает конфигурацию плейсментов при старте\nприложения. Добавить сеть или поменять порядок — без новой сборки.",{"type":39,"tag":75,"props":535,"children":536},{},[537,542,544,549],{"type":39,"tag":65,"props":538,"children":539},{},[540],{"type":45,"value":541},"Сети инициализируются при загрузке, а не при показе.",{"type":45,"value":543}," Если вызвать ",{"type":39,"tag":53,"props":545,"children":547},{"className":546},[],[548],{"type":45,"value":58},{"type":45,"value":550}," сразу\nпосле загрузки страницы, SDK коротко подождёт готовности сетей, а не вернёт отказ.",{"type":39,"tag":75,"props":552,"children":553},{},[554,559,561,566,568,576],{"type":39,"tag":65,"props":555,"children":556},{},[557],{"type":45,"value":558},"Оставьте прежний SDK как fallback.",{"type":45,"value":560}," Присвойте его функцию показа\n",{"type":39,"tag":53,"props":562,"children":564},{"className":563},[],[565],{"type":45,"value":274},{"type":45,"value":567}," — и она станет последним шагом цепочки. В доках есть и загрузчик,\nкоторый переключается на резервный домен, если основной недоступен, — см.\n",{"type":39,"tag":128,"props":569,"children":573},{"href":570,"rel":571},"https://docs.giga.pub/integration-guide.html",[572],"nofollow",[574],{"type":45,"value":575},"гайд по интеграции",{"type":45,"value":135},{"type":39,"tag":47,"props":578,"children":579},{},[580,582,588],{"type":45,"value":581},"Пятиминутная версия подключения — в статье\n",{"type":39,"tag":128,"props":583,"children":585},{"href":584},"/ru/blog/integrate-sdk-in-5-minutes",[586],{"type":45,"value":587},"как подключить рекламный SDK GigaPub",{"type":45,"value":135},{"type":39,"tag":103,"props":590,"children":592},{"id":591},"faq",[593],{"type":45,"value":594},"FAQ",{"type":39,"tag":47,"props":596,"children":597},{},[598,602],{"type":39,"tag":65,"props":599,"children":600},{},[601],{"type":45,"value":21},{"type":45,"value":603},"\nСлой между приложением и несколькими источниками рекламного спроса — рекламными сетями и\nбиддерами реального времени. Приложение делает один запрос, а слой медиации решает, какому\nисточнику уйдёт каждый показ — по живым ставкам и по тому, как каждый источник отработал на\nэтом плейсменте и в этой стране.",{"type":39,"tag":47,"props":605,"children":606},{},[607,611],{"type":39,"tag":65,"props":608,"children":609},{},[610],{"type":45,"value":24},{"type":45,"value":612},"\nНет. Рекламная сеть — один источник спроса со своими рекламодателями. Медиация соединяет\nнесколько таких источников и заставляет их конкурировать. GigaPub — и то и другое: приводит\nсобственных рекламодателей через слой RTB и медиирует другие сети за тем же SDK.",{"type":39,"tag":47,"props":614,"children":615},{},[616,620,622,627],{"type":39,"tag":65,"props":617,"children":618},{},[619],{"type":45,"value":27},{"type":45,"value":621},"\nНет. SDK сетей инициализируются при загрузке приложения, а не при вызове ",{"type":39,"tag":53,"props":623,"children":625},{"className":624},[],[626],{"type":45,"value":58},{"type":45,"value":628},", а\nрешение аукциона принимается за миллисекунды. Сеть, не сумевшая показать рекламу,\nпропускается внутри того же вызова.",{"type":39,"tag":47,"props":630,"children":631},{},[632,636],{"type":39,"tag":65,"props":633,"children":634},{},[635],{"type":45,"value":30},{"type":45,"value":637},"\nНет. Порядок источников спроса настраивается на сервере для каждого плейсмента и страны и\nзагружается при старте приложения.",{"type":39,"tag":47,"props":639,"children":640},{},[641,645,647,652,654,660],{"type":39,"tag":65,"props":642,"children":643},{},[644],{"type":45,"value":33},{"type":45,"value":646},"\nЕсли вы определили ",{"type":39,"tag":53,"props":648,"children":650},{"className":649},[],[651],{"type":45,"value":274},{"type":45,"value":653},", он вызывается последним. Иначе промис\n",{"type":39,"tag":53,"props":655,"children":657},{"className":656},[],[658],{"type":45,"value":659},"window.showGiga()",{"type":45,"value":661}," отклоняется, и ваш код не выдаёт награду.",{"type":39,"tag":663,"props":664,"children":665},"hr",{},[],{"type":39,"tag":47,"props":667,"children":668},{},[669,671,678,680,685],{"type":45,"value":670},"Поставьте слой медиации на работу: зарегистрируйте приложение на ",{"type":39,"tag":128,"props":672,"children":675},{"href":673,"rel":674},"https://giga.pub",[572],[676],{"type":45,"value":677},"giga.pub",{"type":45,"value":679},"\nи пройдите ",{"type":39,"tag":128,"props":681,"children":683},{"href":570,"rel":682},[572],[684],{"type":45,"value":575},{"type":45,"value":135},{"title":7,"searchDepth":687,"depth":687,"links":688},2,[689,690,691,692,693,694,695],{"id":105,"depth":687,"text":108},{"id":163,"depth":687,"text":166},{"id":182,"depth":687,"text":185},{"id":284,"depth":687,"text":287},{"id":340,"depth":687,"text":343},{"id":484,"depth":687,"text":487},{"id":591,"depth":687,"text":594},"markdown","content:ru:blog:how-ad-mediation-works.md","content","ru/blog/how-ad-mediation-works.md","ru/blog/how-ad-mediation-works","md",1790073279661]