Adding a demand source to AdMob mediation is one of the most reliable ways to lift eCPM — more bidders competing usually means higher clearing prices. But the steps trip people up, and a half-finished integration silently earns nothing. Here is the full path and the places it commonly breaks.
The steps, end to end
- Create an account on the network (Meta Audience Network, AppLovin, Mintegral, Pangle, Unity, etc.) and register your app there. You'll get an app ID and placement/ad-unit IDs from their dashboard — you need these later.
- Add the mediation adapter SDK to your app for that network. In AdMob this is a Gradle/CocoaPods dependency (the "adapter") on top of the network's own SDK. Version-match the adapter to your Google Mobile Ads SDK — mismatches are the number one cause of a dead integration.
- In the AdMob console, open Mediation → create or edit a mediation group for the ad format and platform → add the network as an ad source → paste the IDs/keys from step 1.
- Decide bidding vs waterfall. If the network supports bidding in AdMob, add it as a bidding source — it competes in real time, no manual eCPM needed. Otherwise it's a waterfall line and you set a manual eCPM/position.
- Map the ad unit so the mediation group targets the right AdMob ad unit(s), and save.
- Test before you trust it. Use the network's test mode / ad inspector to confirm it actually serves a test ad on a device. "Saved in the console" is not the same as "serving."
Where it commonly breaks
- Adapter / SDK version mismatch — the integration loads but never fills. Always check the adapter changelog against your GMA SDK version.
- App not approved on the network yet — many networks won't serve real ads until they review your app. The line shows configured but earns zero until approved.
- Wrong IDs — pasting the app ID where a placement ID belongs (or test vs production keys) gives a silent no-fill.
- payments/account not set up on the network side — no payout details configured can suppress serving.
- Forgetting consent/privacy wiring — without the consent signals the network expects (ATT on iOS, GDPR/US-state strings), it may serve low-value ads or none in certain geos.
After it's live: confirm it's actually contributing
A new source isn't a win until the numbers say so. After a few days, break revenue down by ad source and check: is the new network getting fill? at a reasonable eCPM? and — the part people miss — is total net revenue up, or did it just steal impressions from an existing source at a lower price? Adding a network that cannibalizes a better one is a real and common outcome. Judge it on incremental net revenue, not on the new line's eCPM in isolation.
Checking whether a newly added source actually lifted net revenue — versus just shuffling impressions between sources — is exactly the before/after decomposition Mediation One does: upload your CSV and it shows each source's real contribution. The free audit is one CSV upload — no SDK, no signup, nothing stored.