App Store Connect analytics that explain the change
Connect App Store Connect and WhyItChanged pulls your daily downloads, in-app purchase units and proceeds from Sales Reports, plus impressions and downloads by source from Analytics Reports. Every day lines up against your releases, ad changes and backend deploys, so when downloads or proceeds move you can see what changed that day.
What WhyItChanged pulls from App Store Connect
- Daily downloads, re-downloads, IAP units and proceeds (Sales Reports)
- Impressions and downloads by source: App Store search, browse, web referrer, app referrer (Analytics Reports)
- Release markers, inferred from version changes in sales data
- Overlapping report files are deduplicated; privacy-thresholded counts are flagged
Questions it answers
- Did the new version change purchase conversion?
- Are downloads down because of search, browse or referrals?
- Do App Store proceeds agree with RevenueCat and my backend?
Access it needs
A Team API key with the Sales and Reports role. Admin is not needed. Credentials are encrypted at rest and used read-only. How keys are handled.
Set it up
- In App Store Connect open Users and Access → Integrations → App Store Connect API → Team Keys and generate a key with the Sales and Reports role.
- Download the .p8 file (Apple only lets you download it once) and copy the Issuer ID and Key ID.
- Copy your vendor number from Payments and Financial Reports and the app's numeric Apple ID from App Information.
- Paste all five into the App Store Connect connector in WhyItChanged.

Questions
Why are the last couple of days marked provisional?
Apple's reports land with a delay and get revised. WhyItChanged shows recent days as provisional instead of as false zeros, and fills them in on later syncs.
Does WhyItChanged need an Admin key?
No. The Sales and Reports role is enough for sales and analytics reports. The key is encrypted at rest and only used for read-only report requests.
How often does it sync?
Every hour. Apple's own reports update less often than that, so new data appears once Apple publishes it.
Guides
- Why RevenueCat and App Store Connect numbers don't match
- When does App Store Connect update sales data?
- Why did my app downloads drop? A 6-step checklist
- App Store Connect proceeds vs sales, explained
- App Store Connect time zones: UTC vs Pacific Time
- How to get App Store sales and revenue alerts in Discord
Works well with
RevenueCat
Bring RevenueCat revenue and per-purchase attribution next to App Store Connect, ad spend and releases, and catch the day attribution goes silent.
Apple Search Ads
See Apple Search Ads spend, taps and installs next to App Store proceeds and RevenueCat revenue, with alerts when cost per purchase gets too high.
Stripe
Add Stripe web revenue, net of fees and refunds, on top of App Store and RevenueCat revenue. Read-only restricted key, synced hourly.
See why your numbers moved.
Start freeFree for 1 app · No card