If you are running a mobile app and want to maximize ARPDAU, eCPM, and overall ad revenue, the choice between waterfall ad mediation and in-app bidding (sometimes called header bidding for mobile) is the single most consequential configuration decision you will make this year. Almost every ad monetization SDK supports both, and almost every account we audit is using exactly one of them — usually the wrong one for their stage.
This is the practical guide we hand to publishers in their first thirty days on Apps Kit SDK. It assumes you already understand what ad mediation is — a layer that requests bids from multiple ad networks and serves the highest-paying impression — and want to know how to configure it. We will walk through the mechanics of each model, a worked auction example, the latency budget that constrains every decision, and a 30-day rollout checklist you can take to your standup tomorrow.
Waterfall mediation: the original ad monetization model
Waterfall mediation orders your demand sources by historical eCPM and offers each impression to them in sequence. The first network to fill at or above its assigned price floor wins. It is simple, debuggable, and predictable — which is why it powered the first decade of mobile app monetization.
The cost is auction efficiency. A network at position three may have been willing to pay more for this specific user than the network at position one — but it never got the chance. You leave money on the table on every impression, and the gap widens as your audience becomes more heterogeneous. The other hidden cost is operational: every floor you change in a waterfall is a manual decision, and the half-life of a hand-tuned waterfall is roughly two weeks before the eCPM curves drift and your priorities are wrong again.
In-app bidding: real-time price discovery
In-app bidding runs a unified, real-time auction across every demand source for each individual impression. There is no static order; the highest live bid wins. It is the same mechanism that transformed web display advertising into header bidding, ported to mobile.
For most app monetization stacks, switching the top of the stack from waterfall to in-app bidding lifts eCPM 10–30%. The lift is highest on premium rewarded video inventory in Tier 1 countries, where bidders genuinely compete; lowest on banner inventory in price-insensitive segments, where the auction has nothing to discover.
The trade-off is latency. A bidding auction has to wait for the slowest bidder it cares about — or time out and lose that bidder's contribution. Set the timeout too low and you cap eCPM; too high and you cap impressions per session. Most teams discover this the hard way after their first week on bidding, when ARPDAU is up but session length is down.
A worked example: where the extra cents come from
Imagine a single rewarded impression with four interested networks. In a waterfall sorted by last week's eCPM, network A is on top at a $9 floor, B at $7, C at $5, D at $3. Network A fills at $9. You earn $9.
Now run the same impression as a live auction. Network A bids $8.40 because this specific user looks weaker than last week's cohort. Network C, which has a campaign targeting exactly this geo and OS, bids $11.20. The auction clears at $11.20 — a 24% lift on one impression, with the same four networks and zero new integrations. Multiply by a few million impressions a day and the picture becomes obvious.
The same example also explains why bidding is not free money. If network C's adapter takes 1100ms to respond and your timeout is 900ms, network C never bids, network A wins at $9, and you have paid the latency cost of bidding for none of the upside.
Why hybrid wins for almost every publisher
The configuration that consistently maximizes ARPDAU is hybrid: in-app bidding for the top of the stack, where bidder competition is real and the latency cost is justified, plus a short capped waterfall for backfill. The waterfall catches the impressions that no live bidder wanted, so fill rate stays close to 100% without the latency overhead of running every line item through the auction.
On Apps Kit SDK the default hybrid configuration is: in-app bidding across every bidder that supports it (AdMob, AppLovin MAX, Meta Audience Network, Unity LevelPlay, Mintegral and Pangle), then a two-line backfill waterfall to non-bidding networks at a conservative floor. Out-of-the-box this matches or beats hand-tuned configurations we have seen at studios with dedicated ad ops teams.
The latency budget nobody writes down
Every ad request has a budget measured in milliseconds, and you should write yours down. A reasonable starting point for rewarded video is 1500ms end-to-end: 200ms for the SDK to assemble the request, 900ms for the bidding auction, 300ms for creative download, 100ms for render. Anything beyond that and the user has already moved on.
When you add a new bidder, measure its p95 response time on real devices in your top three countries. If p95 sits above your auction timeout in any of them, that bidder will silently lose every auction in that geo. Cap timeouts per-bidder, not globally, and you reclaim revenue without lengthening the wait for the median impression.
A decision matrix you can ship today
Use this matrix as a starting point and override only when you have data that contradicts it:
- Pre-launch / under 50k DAU — waterfall only, three networks, focus on retention not ARPDAU
- 50k–500k DAU, rewarded-heavy — hybrid: bidding on rewarded, waterfall on interstitial
- 500k–5M DAU, mixed inventory — full hybrid: bidding everywhere it is supported, two-line backfill
- 5M+ DAU, multi-region — full hybrid plus per-country auction timeouts and per-format floor matrices
- Utility / single-session apps under 5 min — waterfall only, the auction overhead never pays back
Display configuration techniques that compound the gain
Mediation type sets the ceiling on what you can earn per impression. Display configuration decides how many impressions you actually serve, and how much each one is worth. These four levers compound on top of any mediation setup:
- Country-and-format-aware price floors, recomputed weekly from the previous fourteen days of bid data — a single matrix per ad unit, not one number
- Capped waterfall length — top six bidders plus two backfill networks; everything below adds latency without adding revenue
- Daypart-aware frequency caps — what works at 8pm on Wi-Fi destroys retention at 3am on a Tier-3 device
- Impressions-per-DAU as the leading KPI — it moves before ARPDAU does, by about a week, so you can fix problems before finance notices
When pure waterfall is still the right answer
Pure waterfall mediation still beats hybrid in two cases. First, apps with average sessions under five minutes — the latency cost of any real-time auction eats the auction lift. Second, apps in markets where fewer than three bidders compete meaningfully; the auction has no price to discover, and the overhead is pure cost.
Outside those two cases, hybrid wins. If you are unsure, run a two-week A/B test on a single rewarded placement and compare cohort ARPDAU. The right answer for your app will show up clearly inside ten days.
The publishers who maximize ad revenue are not the ones with the most networks or the fanciest mediation contract. They are the ones who match mediation type to inventory and run the display configuration like an operations function.
A 30-day rollout checklist
If your team is migrating from pure waterfall to hybrid, this is the sequence we run on Apps Kit SDK deployments. Each step is reversible from remote config — no app release required.
- Days 1–3: instrument impressions-per-DAU, p95 ad-request latency, and timeout rate per bidder
- Days 4–7: turn bidding on for one rewarded placement in your top country only, hold everything else constant
- Days 8–14: compare cohort ARPDAU and Day 7 retention against the holdout — if both green, expand to all rewarded
- Days 15–21: extend bidding to interstitial in the same country, watch session-length impact closely
- Days 22–30: roll out globally with per-country auction timeouts, retire the long tail of your waterfall
What to do this week
If you take one thing from this post, audit your current ad mediation setup against the hybrid default above and instrument impressions-per-DAU at the cohort level. Those two changes together typically lift ARPDAU 20–40% inside two weeks — without adding a single new ad network or changing a line of app code. Everything else in this post is an optimization on top of those two foundations.


