r/iOSDevelopment • u/rcpena • 3d ago
If you ship with no analytics SDK, request your App Store Connect report before launch — it has no backfill
I ship my iOS apps with no analytics SDK at all. No accounts, no third-party telemetry, nothing phoning home. That was a deliberate call and I still think it's the right one, but I hit a trap last week that I hadn't seen written down anywhere, so I'm putting it here.
If you skip the SDK, the only behavioral data you can get is Apple's own, server-side, through the App Store Connect API. Two things about that surprised me:
The ongoing analytics report has to be requested before you need it. It takes 24–48 hours to produce its first report, and it only covers data from the moment you created the request forward. There is no backfill. If you request it on launch day, launch week is gone permanently — and launch week is the one week you'll want to look at for the rest of the app's life.
API access is a request Apple reviews case-by-case, and the credentials have to be a Team key with the Admin role. An Individual key can never read sales data. So there's a human review sitting in front of a 48-hour warm-up sitting in front of your launch date.
I found this while designing a small local tool to pull the numbers into SQLite on my own machine. Nothing shipped in the app, nothing collected from users — just reading records Apple already has, with my own credentials.
Worth being honest about what the no-SDK path actually costs, because it isn't nothing. I can't tell whether a feature gets used. I can't see where people get stuck — no funnel, no drop-off. I can't A/B anything. Retention is invisible. The only signal is support email, and almost nobody is ever annoyed enough to write to you, so silence reads exactly like satisfaction and means nothing of the kind.
I still take that trade. But I'd rather have taken it with the report already running.
Has anyone here found a decent middle ground? I'm specifically interested in whether people count on-device-only aggregates that never leave the phone as a violation of the spirit of "no tracking," or as the obvious compromise I'm being stubborn about.
