◉RORK LABJP
●EXPO — EAS Observe now records native crashes (Oct 7). On SDK 57, update to 57.0.21 or later●RORK — GPT-6.1 Sol (Sep 29) and Claude Sonnet 5.5 (Sep 28) are now in the model menu●RN 0.88 — The stable release was still unpublished on its Oct 12 target. rc.4 (Oct 7) is the newest; 0.87.1 is Latest●Q&A — Readers report expo-widgets showing a black widget in production builds only●WINDOWS — A walkthrough shows how to ship an iPhone app from Windows only, with no Mac●NEW — Three checks to run first when notifications stop arriving in Expo Go●EXPO — EAS Observe now records native crashes (Oct 7). On SDK 57, update to 57.0.21 or later●RORK — GPT-6.1 Sol (Sep 29) and Claude Sonnet 5.5 (Sep 28) are now in the model menu●RN 0.88 — The stable release was still unpublished on its Oct 12 target. rc.4 (Oct 7) is the newest; 0.87.1 is Latest●Q&A — Readers report expo-widgets showing a black widget in production builds only●WINDOWS — A walkthrough shows how to ship an iPhone app from Windows only, with no Mac●NEW — Three checks to run first when notifications stop arriving in Expo Go
Articles/Business
⟐ Business/2026-05-03Advanced

The Road to ¥1.5M/Month on AdMob — An Honest Account from 16 Years of Indie Mobile Development

The eight concrete steps I actually took to reach over ¥1.5M/month in AdMob revenue as an indie developer — including the rewarded-ad architecture, eCPM optimization, the failure that dropped my app to a 1.8-star rating, and how I rebuilt from there.

AdMob71Rork577Indie Dev39App Monetization11Lived Experience

✦ Premium Article

In the companion piece, I lined up five monetization channels for indie mobile apps and argued that ad revenue — specifically AdMob — has the highest ceiling for the kinds of apps Rork is good for. This article is the lived-experience version: the eight concrete steps I actually took to reach over ¥1.5M/month on AdMob, including the failure that nearly killed one of my flagship apps and the four-month recovery from it.

Up Front: This Wasn't a Lottery Win

I want to be honest about the shape of this story. ¥1.5M/month wasn't a sudden hit. I started shipping apps in 2014, and for the first three years my monthly revenue was somewhere between a few thousand and tens of thousands of yen. I came close to quitting more than once.

The number you see at the top of this article is what eventually emerged from running multiple wallpaper, calming, and utility apps in parallel — not a single home run. That distinction matters. For an indie developer, a portfolio of stable mid-revenue apps is a far more reproducible outcome than betting on a single breakout, and it's the structure I'd recommend to anyone serious about long-term mobile monetization.

The eight steps below are how I'd describe the path retroactively. I still follow this order whenever I start a new app today.

Step 1: Pick a Genre Where "Free" Is Natural

This is the single most important call. To realistically aim for ¥1.5M/month on AdMob, you need a genre where users genuinely don't expect to pay.

The genres that worked for me:

  • Wallpaper apps (aesthetic, seasonal, character-themed)
  • Daily affirmation / quote apps
  • Light fortune-telling apps (simple tarot, birthday-based readings)
  • Calculators and utility apps
  • Light life-loggers (simple expense trackers, diet trackers)

The shared trait is "not worth paying for, but touched daily for a few minutes." When MAU grows, ads simply work. The structure is uncomplicated.

The genres I'd specifically avoid: deep games, social apps, chat apps. Ad interruption hurts retention in those categories, and over time DAU drops as users leave for cleaner alternatives.

✦

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
✦The actual eight-step sequence I followed from zero to over ¥1.5M/month on AdMob — not theory, but the order that worked
✦How to architect a rewarded-ad-driven monetization model without breaking user experience or store ratings
✦The failure mode I fell into (1.8-star rating from over-aggressive ad frequency) and the four-month recovery process that followed
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 $15 for lifetime access
View Membership →

Related Articles

⟐ Business2026-04-26
Taking a Rork Max Native App Up the App Store Charts — The Order I Build Ads, StoreKit 2, and Subscriptions
The order I follow to grow a Rork Max SwiftUI app into one that stays near the top of its App Store category: a single AdGate that decides when ads may show, StoreKit 2 Transaction.updates monitoring, and where I draw the lines on ASO and retention — with working code.
⟐ 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.
⟐ 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.
📚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