◉RORK LABJP
●GPT-6.1 SOL — Added to Rork's model menu (09-29) with Low, Medium and High effort; included on Pro and Max●SONNET 5.5 — Claude Sonnet 5.5 is selectable: strong at UI design and faster than Sonnet 5 (09-28)●SDK 58 — Beta since 09/15 with no stable date yet; running projects in Expo Go has required login since 09/03●WIDGET — A write-up traces an iOS widget that renders black only in production builds●OBSERVE — EAS Observe now records native crashes too (SDK 57.0.21 or later, 10/07)●NEW — My App Open Ad Only Showed When the App…●GPT-6.1 SOL — Added to Rork's model menu (09-29) with Low, Medium and High effort; included on Pro and Max●SONNET 5.5 — Claude Sonnet 5.5 is selectable: strong at UI design and faster than Sonnet 5 (09-28)●SDK 58 — Beta since 09/15 with no stable date yet; running projects in Expo Go has required login since 09/03●WIDGET — A write-up traces an iOS widget that renders black only in production builds●OBSERVE — EAS Observe now records native crashes too (SDK 57.0.21 or later, 10/07)●NEW — My App Open Ad Only Showed When the App…
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.

AdMob73Mediation7eCPM5App 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-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.
⟐ Business2026-09-06
Your Blended eCPM Dropped and Revenue Went Up: Splitting the Change Into Country Mix and Rate
Blended eCPM is a weighted average, not a price. Here is how I split a month-over-month change into a country-mix effect and a rate effect that reconcile exactly to the total, plus what to check before you cut a low-eCPM country.
⟐ Business2026-04-25
How I Push a Rork-Built App Toward $700/Month — A Field Guide to Pricing Tests, Retention, and Churn Defense
A premium playbook for taking a Rork-built app to roughly $700/month in revenue, focused on pricing tests, retention engineering, and churn defense. Distilled from 12 years of running indie apps in parallel — what actually moved revenue, what didn't, with realistic numbers and code.