AdMob Mediation in 2026: Bidding, Waterfall and Mediation Groups
AdMob Mediation is the layer that turns a single ad unit into a competition. Instead of letting one network decide what an impression is worth, mediation sends each ad request to several ad sources — the AdMob Network included — and lets them fight for it. Google's own wording is direct: mediation "helps maximize your fill rate and increase your monetization by sending ad requests to multiple networks". This tutorial walks the full path in 2026: the two kinds of mediation, the five console steps, the adapters and the code, and the failures that quietly cap revenue.
Bidding versus waterfall: the only distinction that matters
AdMob splits mediation into two types, and every other setting is downstream of this choice:
- Bidding. Ad sources compete in a real-time auction and are called simultaneously. The ad source that serves the ad is the highest-paying advertiser.
- Waterfall. Ad sources are called one by one based on the average eCPM you set — not what the source is willing to pay.
You can run both at once. AdMob calls that a hybrid setup, and the same source may appear as both a bidding and a waterfall source (Overview of bidding). That hybrid is the normal 2026 configuration: bidders establish what an impression is worth, and waterfall entries catch the traffic the auction does not fill.
How a request is filled, in four moves: 1) the ad unit sends a request with targeting such as platform and format; 2) AdMob matches it to a mediation group by targeting, and by priority if more than one matches; 3) the bidding sources in that group hold an auction, and the winning bid is placed into the waterfall according to its eCPM value; 4) the waterfall then runs top-down — if the bidder is not the highest entry, waterfall sources are called first.
Mediation groups, not per-ad-unit settings
Mediation groups are the unit of configuration. They are combinations of targeting that segment your traffic by format, platform, app, ad unit and country, and you set ad sources once on the group instead of repeating the setup for every unit. Two rules decide what happens at request time (About AdMob mediation groups):
- If several groups match, group priority decides which one fills the request, and conflicts between groups should be avoided.
- If none match, the request is filled by the AdMob (default) group instead.
Mediation groups do not daisy-chain. You also need a separate group for each ad format, and separate groups for Android and iOS.
The five-step setup
- Create an ad unit in AdMob and assign it a format — the container that sends the request and displays the ad.
- Set up ad sources, both bidding and waterfall. The type fixes how it bids: bidders bid in real time in one auction, waterfall entries are called in the eCPM order you assign.
- Map your ad units. Add the third-party source's own identifiers in AdMob so it can be addressed per ad unit. The details vary by source and live in the partner's account.
- Create a mediation group for the format and platform, then attach the ad units and sources. Sources and mappings can also be added while editing the group.
- Set up mediation in the app using the SDK plus the network adapters.
Two prerequisites: the ad format must already be implemented in the app (banner, interstitial, native, rewarded or rewarded interstitial), and mediation is not available for every ad source — unsupported ones have to go through custom events.
Adapters and code
Third-party networks reach your app through an adapter. AdMob distinguishes open-source and versioned adapters, both integrated with a single line change in your build file, and the console generates the exact statement for the adapters you tick. Two rules from the developer guide matter more than they look:
- Wait for SDK initialization before loading any ad. Mediation adapters initialize inside that call; load too early and networks simply do not participate.
- Pass an Activity instance when initializing ad objects. It is recommended, and some mediated networks require it for a consistent experience.
Bidding on Android requires Google Mobile Ads SDK (Legacy) 18.3.0 or higher, and the 2026 documentation now carries a parallel set of guides for the GMA Next-Gen SDK. The same three steps — create ad sources, map ad units, build a group — exist for iOS, so plan one mediation group per format per platform.
What breaks, and how it looks
Mediation failures are usually silent. Google names the signature symptom of a bad bidding integration: significantly fewer ad requests reaching that partner than expected, together with a missing a3p parameter on requests after the first (Troubleshoot bidding). Work through this list before blaming the network:
- The app ID in your manifest matches the AdMob account.
- Every ad unit ID in code exists in the AdMob UI, and each creative format has an ad unit mapping.
- The SDK initialized with a READY adapter status.
- You are on the latest adapter and SDK binaries — stale adapters are a recurring cause of zero-fill partners.
Four details developers find after launch
- Bidding does not serve child-directed traffic. Bidding ad sources do not support ad serving for child-directed apps or ad requests, per COPPA. Families apps should plan around waterfall.
- Bidders must be declared as ad technology providers. Bidding sources have to be included in your privacy and messaging configuration, alongside the GDPR and US state-law disclosures.
- Some bidding sources need a contract first. Networks such as AppLovin, Adagio and Ad Generation require a partnership before they accept bidding requests, while others are added to the account automatically.
- eCPM floors apply to every bidder. A bidding eCPM floor set on a mediation group overrides the ad unit floor for all bidding traffic in that group, and can also be tested with A/B tests (bidding eCPM floors).
On iOS there is one more instrument: the adNetworkClassName property of the response info tells you which network actually served a loaded ad — the fastest way to confirm a partner is participating at all.
app-ads.txt: optional, and still worth ten minutes
Authorized Sellers for Apps (app-ads.txt) is an IAB initiative to protect app inventory from ad fraud and app spoofing. It is not mandatory — Google calls it highly recommended — and it is a plain text file listing your authorized sellers, published at the root domain of your app's developer website (Firebase Hosting is a supported alternative if you cannot publish at root). The crawler then verifies it and the status shows in the AdMob console. If your developer site already exists for store requirements, this is a ten-minute task with a direct effect on how much legitimate demand you can receive.
Sources
- Google AdMob Help — Guide to AdMob Mediation (bidding & waterfall): support.google.com/admob/answer/3063564
- Google AdMob Help — Overview of bidding: support.google.com/admob/answer/9234488
- Google AdMob Help — About AdMob mediation groups: support.google.com/admob/answer/13411971
- Google for Developers — Set up AdMob Mediation (Android): developers.google.com/admob/android/mediation
- Google for Developers — Choose ad sources: developers.google.com/admob/android/choose-networks
- Google for Developers — Troubleshoot bidding: developers.google.com/admob/android/troubleshoot-bidding
- Google for Developers — Authorized Sellers for Apps (app-ads.txt): developers.google.com/admob/android/app-ads
Running developer accounts at scale? We handle the operational side.
We received your message and will reply within 24 hours.
Or email expert@kapps.store← Back to edit