ANTIGRAVITY LABJP
Articles/Agents & Manager
Agents & Manager/2026-05-25Advanced

Implementation Notes: Running AdMob Mediation A/B Tests with Antigravity Parallel Agents

Notes from automating AdMob mediation A/B testing using Antigravity parallel agents across an indie wallpaper-app portfolio with 50M cumulative downloads. Covers joint eCPM + ARPU optimization, the 7-day rotation pipeline, and the rollout design that does not break production.

antigravity429multi-agent49admob17app-monetizationab-testing2mediation6ecpm

Premium Article

AdMob mediation tuning is a domain where intuition runs out fast. Raising the floor for Network A pushes eCPM up but fill rate down, ARPU follows fill rate, and the net is often negative. Optimal settings vary by country, device tier, and segment. The only reliable signal is real measurement. The catch is that "trying it" is expensive — each combination needs about a week of A/B traffic before the data settles, and you cannot run many of those in series without spending a year.

I am Masaki Hirokawa. I have been a solo iOS/Android developer since 2014, with roughly 50 million cumulative downloads across a wallpaper-app portfolio (Beautiful Wallpapers, Ukiyo-e Wallpapers, Cool Wallpapers, Illustration Wallpapers, Dolice Wallpapers), and I also run four Lab sites and two blog sites in parallel. AdMob mediation is the primary revenue source on the app side, and I ran it manually for years.

Recently I rewired the whole A/B testing loop on top of Antigravity's parallel agents, and the operational load dropped to almost nothing. These notes cover the implementation, the gotchas in production, and the rollout design that prevents bad experiments from hurting real users. Aimed at indie developers who want to grow AdMob revenue but cannot keep up with manual A/B tests, and at engineers looking for a substantive use case for Antigravity's parallel agents.

Why Manual AdMob Mediation Optimization Hits a Wall

Mediation puts AdMob as the top-level mediation manager and chains multiple ad networks underneath (Meta Audience Network, AppLovin, Unity Ads, Vungle, IronSource, and so on). The real operational levers are floor price per network and network priority order.

Manual operation collapses because the variable count is too high:

  • Networks: 7-10
  • Country adjustments: ~20 major markets, each with different behavior
  • Device tier: iOS / Android, tier 1 / tier 2 devices have different eCPM
  • Floor price: $0.10 steps, ~30 effective levels
  • Format: banner / interstitial / rewarded each tuned separately

The combinations exceed what a human can reason about. I ran this by gut for about six months, but the loop of "I raised Network A's floor — eCPM up, fill rate down, ARPU down" was exhausting to verify by hand every week.

Antigravity's parallel agents naturally express this pattern: one agent per hypothesis, all four experiments running concurrently for a week, then a single evaluator agent collects the results. The 1:1 mapping from "hypothesis" to "agent" makes the workflow almost trivial to write.

Architecture — Four-Parallel, Seven-Day Loop

The final shape:

┌──────────────────────────────────────────────────┐
│  Orchestrator Agent (weekly, Mon 00:00 JST)      │
│  - Pull last week's numbers from AdMob Reporting  │
│  - Form 4 hypotheses (floor / order / segment)   │
│  - Distribute to 4 Experimenter Agents           │
└──────────────────┬───────────────────────────────┘
                   │ parallel launch
        ┌──────────┼──────────┐
        ▼          ▼          ▼            ▼
   ┌────────┐ ┌────────┐ ┌────────┐  ┌────────┐
   │ Exp #1 │ │ Exp #2 │ │ Exp #3 │  │ Exp #4 │
   │ Banner │ │ Inters │ │ Reward │  │ Floor  │
   │ network│ │ order  │ │ order  │  │ +10%   │
   │ order  │ │ swap   │ │ swap   │  │        │
   └────┬───┘ └────┬───┘ └────┬───┘  └────┬───┘
        │          │          │           │
        │   Remote Config 5% rollout each            │
        │   ↓ 7 days of live measurement ↓           │
        ▼          ▼          ▼           ▼
   ┌────────────────────────────────────────────┐
   │  Evaluator Agent (weekly, next Mon 00:00)   │
   │  - Compare eCPM, ARPU, fill rate            │
   │  - Roll winning experiments to 100%         │
   │  - Auto-rollback losers immediately         │
   └────────────────────────────────────────────┘

Three load-bearing decisions. (1) Orchestrator owns hypothesis generation; Experimenters only execute. (2) Each parallel experiment uses Remote Config 5% rollout — never blast 100% of production. (3) Evaluator rolls back the moment a regression is detected (Remote Config Force Refresh lands within an hour on most clients).

Seven days is the minimum sound test window. AdMob changes can take up to 24 hours to fully reflect, and you need at least one full weekday-versus-weekend cycle plus intra-week demand swings to average out.

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
Full implementation pattern for a four-parallel, seven-day A/B testing pipeline that turns AdMob mediation tuning into an Antigravity orchestration problem instead of a manual chore.
A practical KPI design that pairs eCPM with ARPU and fill rate — validated on a 50M-download wallpaper-app portfolio — so a higher eCPM never costs you revenue.
The Remote Config staged-rollout pattern with automatic rollback that lets you experiment aggressively without ever breaking production traffic.
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

Antigravity 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

Agents & Manager2026-06-19
Your Antigravity Sandbox Isolates Multi-Agents Less Than You Think — Notes on Containing the Blast Radius
An Antigravity sandbox gives you the feeling of isolation, but isolation leaks through three real gaps: shared volumes, over-broad allowed domains, and approval fatigue. Field notes on plugging the leaks, containing the blast radius by design, and proving isolation holds with tests.
Agents & Manager2026-06-17
After Generating Several Candidates, Which One Do You Adopt? Designing Best-of-N That Arbitrates by Verification
With Gemini 3.5 Flash's speed, generating several implementations of the same task has become practical. The hard part is no longer generation but arbitration. Here is the design and TypeScript implementation of a Best-of-N arbiter that picks the winner using verifiable signals only — not majority vote, not self-reported confidence.
Agents & Manager2026-06-17
Accounting for Which Agent Spent What: A Cost Attribution Design by Task
Your month-end bill is one number, but running multiple agents on Gemini 3.5 Flash hides which task ate the cost. Separate from a budget guard, I share a cost-attribution accounting design that maps usage to per-task and per-site cost, with a solo-operator implementation and numbers.
📚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 →