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

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.

AdMob70Mediation7eCPM4App Monetization11Unity AdsAd OptimizationIndie Developer11

Premium Article

When you run wallpaper apps solo, ad revenue is never something you set once and forget. Leave it alone, and one day's casual settings change can quietly eat into your earnings. Last month that was exactly me: my estimated interstitial revenue visibly dropped, and it took several days to track down the cause. The culprit was a single change I had added thinking it would help. This article is about the judgment rules around "how to touch mediation floors" that solidified during that recovery.

To put the conclusion first: the rule that helped most was a single line — "never turn floors off." At a glance, removing the floor (the minimum eCPM) seems like it would let inventory sell more easily and increase revenue. In reality, the opposite happened.

The time I turned floors off and revenue collapsed

As preparation for adding a new ad network to mediation, I once temporarily removed all eCPM floors from my AdMob interstitial groups. I thought "floors might block bids from the new network," but that was wrong.

Turning floors off removes the minimum-eCPM brake across all of mediation, including bidding. As a result, inventory started clearing even on cheap bids; impressions rose, but the price per impression collapsed, and estimated revenue actually went down. A floor is not "a wall that blocks new networks" — it is "a floor that asserts a minimum price against every network." Once I realized this, I restored floors based on real-world rates and revenue returned to its previous level.

The official docs say "you can set a floor," but they do not say "what happens if you turn the INT floor off." This was a pitfall I only understood by stepping into it.

Set the floor at 50-60% of real eCPM

So what value do you set? The rule of thumb that solidified while running 42 groups is: INT floor = trailing-30-day real eCPM x 50-60%.

For example, in a region where real eCPM is around $16, I put the floor near $8.5. In a region at $10, around $5-$6. If the ratio of floor to real eCPM climbs above 65%, the floor may be too high and squeezing match rate, so I review it. Conversely, if it drops below 40%, I judge that I can push a little harder with little lost fill.

The quick-reference table I keep on hand looks roughly like this. Real eCPM varies a lot by region, so the point is to think in ratios rather than fixed dollar amounts.

Region real eCPM (trailing 30 days)INT floor target (50-60%)Operating note
~$16 (high-rate regions)~$8.5Above a 65% ratio it tends to squeeze match rate
~$10 (mid-rate regions)$5-$6Baseline. Fine-tune within +/-30%
~$4 (low-rate regions)~$2If the ratio dips below 40%, you can push a bit
Banners generally ($0.10-$0.30)OFFA floor here drops fill rate

What matters here is not applying the same logic to banners. Banner real eCPM is low, $0.10-$0.30, and setting a floor drops fill rate badly. I keep banner floors off across all groups and leave them to Google's automatic optimization. Changing policy per format turned out to be the realistic answer in production.

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
Turning INT floors off removes the minimum eCPM across all of bidding and collapses revenue — I share the judgment mistake I actually made and how I recovered
Take away the concrete thresholds that solidified over running 42 groups: floor = 50-60% of real eCPM, 80% match rate as the investigation boundary, and changes capped at +/-30%
See how I handled Unity Ads waterfall support ending on January 31, 2026, and how I run a twice-monthly floor review in about 15 minutes
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
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.
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 →