RORK LABJP
TOOLING — Rork's developer repos keep moving: rork-xcode was updated on July 16, rork-device on July 15, and rork-plist on July 13OPUS46 — Claude Opus 4.6 is live in Rork, and Rork Max is built to assemble apps on top of Claude CodeSIM — A cloud iOS simulator runs in the browser, with one click to install on a device and two clicks to publish to the App StoreMAX — Rork Max emits pure Swift rather than React Native, reaching iPhone, iPad, Apple Watch, Apple TV, Vision Pro, and even iMessageNATIVE — That opens up HealthKit, ARKit and LiDAR, NFC, Dynamic Island, Live Activities, 3D through Metal, and on-device inference with Core MLSEED — Rork raised a $15M seed led by Left Lane Capital, with Peak XV and a16z Speedrun joining the roundTOOLING — Rork's developer repos keep moving: rork-xcode was updated on July 16, rork-device on July 15, and rork-plist on July 13OPUS46 — Claude Opus 4.6 is live in Rork, and Rork Max is built to assemble apps on top of Claude CodeSIM — A cloud iOS simulator runs in the browser, with one click to install on a device and two clicks to publish to the App StoreMAX — Rork Max emits pure Swift rather than React Native, reaching iPhone, iPad, Apple Watch, Apple TV, Vision Pro, and even iMessageNATIVE — That opens up HealthKit, ARKit and LiDAR, NFC, Dynamic Island, Live Activities, 3D through Metal, and on-device inference with Core MLSEED — Rork raised a $15M seed led by Left Lane Capital, with Peak XV and a16z Speedrun joining the round
Articles/Business
Business/2026-05-30Advanced

Two Weeks After Adding Pangle and Mintegral to My AdMob Waterfall — Notes on eCPM and Fill Rate

A record from a wallpaper app with over 50 million downloads: I added Pangle and Mintegral to my AdMob mediation, then compared two weeks of eCPM and fill-rate data. Bidding-and-waterfall coexistence, the effective-revenue breakdown, region-based groups, and a daily monitoring script — kept in a form you can actually operate.

AdMob70Mediation7PangleMintegraleCPM4App Monetization11Indie Dev36

Premium Article

One morning I opened my AdMob mediation report and noticed that one ad network's fill rate had slipped compared to the previous week. The eCPM itself was fine, but the share of requests that went unfilled had grown — meaning there were windows where I simply wasn't selling my inventory. So I finally tackled a task I'd been putting off: adding two new networks to the waterfall.

I'm Masaki Hirokawa, an artist and solo developer. I've been building wallpaper and relaxation apps on my own since 2014, and the cumulative downloads have passed 50 million. Ad monetization is the area I've touched most in recent years, so here I want to share the actual data from adding Pangle and Mintegral to my AdMob mediation and running them for about two weeks. There's no dramatic conclusion. But if you're weighing the same move, I hope these honest numbers help you guess how it might play out for your own app.

Why I Added Two Networks

My apps swing a lot in display value depending on region. During hours when Japanese users dominate, I can hold a high eCPM, but when the overseas share rises, my existing networks alone start dropping fill rate, and there are moments when no ad comes back for a request. To fill those gaps I picked Pangle, known for strong overseas inventory, and Mintegral, which carries heavy demand from game advertisers.

The reasoning was simple: both support AdMob's open bidding and the waterfall, so the cost of adding them is relatively low. Ever since 1997, when I first touched the internet at sixteen through self-taught programming, I've preferred the approach of "just connect it once and look at the real data." With ad networks too, I'd rather judge by my own app's numbers than by reputation.

What I Did in the Setup

The addition itself isn't hard, but there were three spots where it's easy to stumble. Here they are in order.

First, in the AdMob console you add each network to a mediation group. Bidding-capable networks go into the bidding slot, while waterfall-served ones get registered as manual eCPM rows. At first I pushed both into bidding and ended up losing Mintegral's waterfall inventory.

Next, you issue app IDs and ad unit IDs on each network's own console and paste them into the AdMob mapping. This is copy-and-paste work, but it's easy to mix up test and production, so I leave a one-line note before I start:

# mediation_mapping_memo.txt
app: WallpaperApp-iOS  unit: interstitial_main
pangle:    placement=YOUR_PANGLE_PLACEMENT_ID   mode=bidding
mintegral: unit=YOUR_MINTEGRAL_UNIT_ID          mode=waterfall  floor=manual
# Check: grep for test IDs (t_xxx) leaking into prod before push

Finally, you add the SDKs. In a React Native–based app, you install each mediation adapter and then verify the native dependency resolution. On iOS you also need to add the SKAdNetwork identifiers to Info.plist; forget this and attribution gets dropped, which makes eCPM look lower than it really is. Reflect every identifier each network publishes, without omissions.

Thank you for reading this far.

Continue Reading

What follows includes implementation code, benchmarks, and practical content we hope you'll find useful. This site runs without ads — server and development costs are supported entirely by members like you. If it's been helpful, we'd be truly grateful for your support.

WHAT YOU'LL LEARN
How to design manual-eCPM floors when bidding and the waterfall coexist, and where to place each network
A breakdown formula and worked example for how a five-point fill-rate gain flows into effective revenue
A step-by-step for splitting mediation groups by region, plus code to watch daily eCPM and fill rate yourself
Secure payment via Stripe · Cancel anytime

Unlock This Article

Get full access to the rest of this article. Buy once, read anytime. This site is ad-free — your support goes directly toward keeping it running.

or
Unlock all articles with Membership →
Share

Thank You for Reading

Rork Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • Copy-paste ready implementation code
  • New advanced guides published daily
  • $5/mo or $10 for lifetime access
View Membership →

Related Articles

Business2026-05-30
I Turned Off My AdMob Floors and Revenue Collapsed — The Mediation Rules That Actually Worked Solo
A record of tuning AdMob mediation eCPM floors to real-world rates on an indie wallpaper app, and handling the end of Unity Ads waterfall support. Why you must not turn INT floors off, the 80% match-rate boundary, and a twice-monthly review routine.
Business2026-06-04
Expanding AdMob bidding demand without adding SDKs — what applying to 11 server-side partners taught me about 'enabled ≠ serving'
A working log of actually adding SDK-free, server-side bidding partners to AdMob's bidding sources: the difference between doc-type and form-type sign-up flows, how reCAPTCHA behaves, and the trap that 'partnership enabled' does not mean 'eligible to serve', told from a solo developer's point of view.
Business2026-05-21
Putting AdMob Bidding into Production for a Rork App — Five Networks Bidding in Parallel, eCPM Trends, and Daily Operations
I moved the AdMob mediation layer of my Rork-generated apps from waterfall to bidding, with five ad networks bidding in parallel. Here are my real-world numbers after three weeks of production, the SDK pitfalls, and how I delegate daily monitoring to Claude in Chrome.
📚RECOMMENDED BOOKS
Build a Large Language Model (From Scratch)
Sebastian Raschka
LLM Dev
Prompt Engineering for LLMs
Berryman & Ziegler
Prompting
AI Engineering
Chip Huyen
AI Eng
* Contains affiliate links
See all →