The day after launch, I opened the AdMob dashboard and saw zero impressions. The app had been downloaded — I could see that in App Store Connect — but the ad system wasn't doing anything. I spent three days figuring out why, two weeks fixing ASO and UI issues, and the first revenue appeared 32 days after launch.
This isn't a success story dressed up as a lesson. It's a log of what went wrong, in roughly the order things went wrong.
Why AdMob Showed Zero Impressions at Launch
Two things caused the zero-impression problem, and both of them were my fault.
First: I shipped the app with test ad unit IDs instead of production ones. AdMob provides test IDs during development so you can verify your integration without generating fraudulent impressions. Those test IDs don't generate revenue in production — they just silently don't work. I had copied the test IDs from AdMob's documentation into my Rork project and never replaced them with the real IDs from my AdMob account. The fix was straightforward, but it required a new build and a new App Store submission, which added two more days.
Second: My AdMob account was still under policy review. New AdMob accounts go through a review period where ad serving is restricted. There's a notice in the AdMob dashboard, but I had glossed over it. The review took about a week to complete. Even with the correct ad unit IDs, ads wouldn't have served fully until that cleared.
Why Downloads Stopped After One Week
The App Store gives new apps a brief window of visibility in the "New Apps" section. That window drove a handful of downloads. Once it closed, downloads dropped sharply.
Looking at App Store Connect analytics, the issue was impressions, not conversion rate. The app wasn't appearing in search results at all, because my keyword selection was poor. I had filled the keyword field with words that described what I thought the app was, not words that users actually search for.
To fix this, I used Google Play Console — which shows actual search query data for Android — to see what queries were bringing users to similar apps. From that, I reverse-engineered better keywords for the iOS keyword field. Impressions started improving within about a week of the update.
Why Impressions Improved but Downloads Didn't
Fixing the keywords increased impressions but the conversion rate from impression to download stayed low. The screenshots were the problem.
My first screenshot was a full-screen view of the app with text overlays explaining the features. In App Store search results, screenshots display small. The text I had written was unreadable at that size. Competitors in the same category were leading with full-bleed visuals — no text, just the interface itself — which communicated the app's feel immediately without requiring the user to squint.
I rebuilt the screenshots in Figma, leading with a clean visual of the main screen. Conversion rate improved after that update.
The First Review: Two Stars
About three weeks in, the first user review arrived. Two stars. "Too many ads."
In hindsight, the ad configuration was aggressive. I had both banner ads and interstitials enabled, and the interstitials were appearing at points that felt like interruptions to the user. The timing wasn't designed around the user's experience — it was designed to maximize impressions, and users noticed.
I changed the interstitial logic in Rork to only fire after the user had engaged with the app five times, with a minimum gap of three minutes between shows. The next review called the app "easy to use." The two-star review remained, but the tone of incoming reviews shifted.
Day 32: First Revenue
Thirty-two days after launch, AdMob registered its first nonzero revenue. The amount was small. What mattered was that the mechanism was working.
Looking back at the month, the problems I solved fell into four categories: AdMob configuration (test IDs, account review), ASO (keyword selection), store assets (screenshots), and user experience (ad timing). None of these were Rork problems. The code Rork generated was fine. The app didn't crash. The issue was everything around the app.
What Rork Does and Doesn't Handle
Rork generates React Native + Expo code that integrates cleanly with AdMob and EAS Build. The app itself was stable from day one. The early zero-revenue period wasn't caused by anything in the generated code — it was caused by configuration mistakes I made after Rork handed me a working app.
The implication is worth sitting with: Rork compresses the time it takes to build an app. That time saving doesn't automatically transfer to the marketing and monetization side. You still need to learn ASO, understand AdMob's policies, read your analytics, and iterate on store assets. Those skills sit outside what any app builder handles for you.
If anything, the faster build time freed me up to focus on those things earlier. I wasn't spending weeks debugging code — I was spending days improving keywords and screenshots. That's a better trade.
The Post-Launch Wall Every Indie Developer Hits
After years of building apps on my own, the pattern I keep running into is that most monetization problems live outside the app itself. In earlier apps I shipped, the first wall was never the code — it was AdMob review, ASO, and store assets, the operational work that only starts after launch.
Back when an app took months to build, I rarely had energy left for the fine-grained tuning that comes after release. Now that an app can take shape in days, I've come to treat post-launch operations as where my time actually belongs. Rork shortens the build; the real question is where you reinvest the time it gives back — and that decision is what determines whether you climb out of the zero-revenue stretch.
Zero in Month One Isn't the End
Most apps don't generate revenue on the first day. The first few weeks after launch are primarily a data-collection exercise — you're finding out where users drop off, which keywords bring impressions, whether your screenshots convert.
Before concluding that a Rork app can't make money, check the AdMob unit IDs, check your ASO keywords, look at what your screenshots communicate at thumbnail size, and review your ad placement timing. In my experience, the issue is usually in one of those four places. Addressing one of them tends to move the numbers, which tells you where to look next.