RevenueCat revenue, next to everything that moves it
Connect RevenueCat and WhyItChanged receives every purchase in real time by webhook, with its attribution, and back-fills daily revenue and transactions from the RevenueCat Charts API. Revenue sits next to App Store data, ad spend and your releases, and it is reconciled against App Store Connect so mismatches are flagged.
What WhyItChanged pulls from RevenueCat
- Every purchase, renewal and refund in real time (webhook), with attribution
- Daily revenue and transactions from the Charts API, for back-fill
- Reconciliation against App Store Connect proceeds and your backend
Questions it answers
- Why don't RevenueCat and App Store Connect numbers match?
- Which channel brought the users who actually paid?
- Did attribution quietly stop arriving?
Access it needs
A V2 secret API key with Charts & metrics read permission. Credentials are encrypted at rest and used read-only. How keys are handled.
Set it up
- In RevenueCat open your project → Project settings → API keys → New secret key, version V2, with Charts & metrics read.
- Copy the project ID from the project URL.
- Optional, for real-time data: add a webhook in RevenueCat → Integrations → Webhooks pointing at the URL WhyItChanged shows you, with the same Authorization value.

Questions
Do I need the webhook?
No, the Charts API back-fills daily totals. The webhook adds per-purchase detail and attribution in real time.
Are RevenueCat numbers counted twice with App Store Connect?
No. They're separate sources for the same purchases. WhyItChanged uses one for revenue and compares the other to it.
Guides
- Apple Search Ads installs showing as organic: 6 causes and how to check
- Why RevenueCat and App Store Connect numbers don't match
- How to measure Apple Search Ads ROAS with RevenueCat
- AdServices attribution API: what 404, 400 and attribution=false mean
- 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
App Store Connect
Pull App Store Connect downloads, proceeds and impressions by source into one timeline with your releases, ad spend and RevenueCat revenue.
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