I put Google's ad SDK, AdMob, into some of my apps a while back. The logic was the one everybody uses: the app is free, the SDK is free, and a banner in the corner makes a little money while I sleep. Passive revenue, no downside. This week I started ripping it back out.
The money was the first thing that did not hold up. At my scale, indie apps with modest installs, the ad revenue is pennies. Not a side income, not even an amount I would notice if it vanished. A banner pays when a huge number of people see it a huge number of times, and a quiet utility app without that kind of traffic is nowhere near the threshold. I was carrying the full cost of ads for almost none of the upside.
And the cost is real, it is just invisible on day one. The SDK is not free the way the price tag says. It adds weight to every launch and it pulls tracking into the app, and the moment it goes in, the App Privacy label on the store flips. An app that could honestly say it collects nothing now has to declare that it collects identifiers for ads and tracking. I traded a clean, private app for pennies and did not even clock the trade when I made it.
So it is coming out one app at a time, because each one is its own small job: pull the SDK, rebuild, set the privacy label back to the truth, fix the same claim on my website, ship it. UnitFlip already went ad-free in its last update. The rest are lined up behind it. It is boring per-app cleanup, the kind of work that never feels urgent, which is exactly why the ads sat there for months in the first place.
The real lesson is not about ads. It is that the things you bolt on for free almost always cost something you cannot see when you add them. A little startup time. One more permission. A privacy disclosure you now have to make and stand behind. A dependency you have to maintain forever, and a dent in the trust of anyone who actually reads your data label. Free money that costs speed and trust is not free, it is just billed later.
Now before I add anything to an app, an SDK, a tracker, a convenient third-party service, I ask what it takes and not only what it gives. If the thing it gives me is pennies and the thing it takes is my launch time and an honest privacy label, it does not go in. That one question would have saved me this whole cleanup.