Ad Network Mediation Setup in Mobile Application
Mediation is a layer that in real time selects which advertising network will show advertisement with maximum bid. Without it you are limited to fill rate and eCPM of single network. With properly configured mediation, same traffic brings 30–60% more income — not through magic, but through competition between networks for each impression.
Main choice: waterfall or bidding. Most startups begin with waterfall (manual network ordering by eCPM), then transition to in-app bidding, where networks make real-time bids. Bidding is technically more complex, but waterfall in 2025 is income ceiling that bidding breaks through.
Mediation Architecture: How It Works Inside
With waterfall auction SDK polls networks sequentially by descending your floor price. AdMob with floor $3 → Meta with floor $2 → myTarget with floor $1. First one answered with filled ad — wins. If nobody answered by timeout (usually 3–5 sec) — house ad or nothing shown.
Bidding works differently: all networks bid simultaneously, SDK collects tokens, sends to auction server and gets winner in ~200 ms. Lower delay, higher competition, better fill rate — but requires bidding-adapter support from each network.
Most painful part of mediation — dependency conflicts. Each adapter (e.g., com.google.ads.mediation:meta:6.18.0.0) pulls its own version of Meta Audience Network SDK. IronSource pulls its own. If versions diverge, Gradle chooses newer — but adapter was tested with older. Result: ClassNotFoundException at runtime on specific devices or silent absence of ads from one network.
Adapter Compatibility Matrix (Example for AdMob as Main Platform)
| Advertising Network | Android Adapter | Auction Type | Average eCPM (RU, 2025) |
|---|---|---|---|
| Meta Audience Network | com.google.ads.mediation:facebook |
Bidding + Waterfall | $0.8–2.5 |
| AppLovin MAX | com.google.ads.mediation:applovin |
Bidding | $1.2–3.0 |
| Unity Ads | com.google.ads.mediation:unity |
Bidding | $0.5–1.8 |
| IronSource | com.google.ads.mediation:ironsource |
Bidding + Waterfall | $0.7–2.0 |
| Yandex | com.yandex.ads.adapters:admob |
Waterfall | $0.9–2.8 (RU traffic) |
eCPM figures are approximate and heavily depend on app genre, country, and format.
How We Configure Mediation
Step 1 — Audit current stack. See which networks already exist, their versions, any conflicts. Often see: AdMob connected via old tutorial, version 20.x, actual — 23.x; adapters incompatible with new GMA SDK.
Step 2 — Choose mediation platform. Three main options:
- Google AdMob Mediation — simple integration, good support, limited network set
- AppLovin MAX — best bidding, active development, wide partner network
- IronSource LevelPlay — strong position in games, good documentation
For apps with Russian audience also consider Yandex Adfox as direct campaign source over mediation.
Step 3 — Ad units and waterfall setup. For each format (banner, interstitial, rewarded) create separate ad unit. Waterfall strategy: start with eCPM data from last 30 days, set floor prices, configure order. First 2 weeks after launch — active manual optimization.
Step 4 — Bidding transition. When sufficient data (~10k–50k daily impressions), move networks supporting bidding to open auction. Keep waterfall as fallback.
Step 5 — Analytics and monitoring. Connect ImpressionDataListener (AdMob) or ISImpressionDataDelegate (IronSource) for impression-level revenue. Pass to Firebase/Amplitude for monetization attribution by user segments.
Typical Self-Setup Mistakes
Too many networks in waterfall. 8–10 networks with low floor price give high total timeout and worsen UX. Optimal — 3–5 networks with correct floor prices.
No geo-segmentation. Yandex works great in RU/BY/KZ, but gives $0 in USA. AdMob in USA gives $2–5 eCPM, in Russia — $0.3. Mediation without geo-segmentation useless.
No A/B testing. Mediation platforms support split tests of different waterfall configurations. Without tests you work blind.
Timelines
Basic mediation (2–3 networks, one format) — 3–4 days including testing. Full setup with multiple formats, bidding, analytics and geo-segmentation — 5–7 days. Cost calculated individually.







