RevenueCat: subscription revenue in Finance

Connecting RevenueCat gives Appwin your app's subscription figures: MRR, revenue, churn, active subscribers, trials.

It is the source of almost all of the Finance product. Without it, the page stays empty and offers to connect the account.

Read-only access. Appwin creates and modifies nothing in RevenueCat.


1. Create a secret key

In RevenueCat, on your project:

  1. Project settings → API keys
  2. Secret API keys section → + New button
  3. Name the key ("appwin")
  4. Tick at least the read permissions on projects, apps, customers and charts
  5. Copy the key that is shown

The secret key is visible only when created. RevenueCat never shows it again: put it in your password manager before closing the tab.

Secret, not public

KeyPrefixRole
Secret API keysk_…Server to server - this is the one
Public SDK key iOSappl_…Bundled in your app
Public SDK key Androidgoog_…Bundled in your app

Pasting a public key gives a 401 on every call: it does not open the reporting API.


2. Collect the Project ID

Project settings → General → "Project ID", of the form proj1a2b3c4d. It is also the segment after /projects/ in the RevenueCat dashboard URL.

The field is optional. Left empty, Appwin calls GET /v2/projects with your key and takes the first accessible project - which is enough in the common case of one key for one project. Fill it in as soon as your account carries several projects, otherwise the figures shown may be another app's.


3. Enter them in Appwin

Settings → Projects → your app → Integrations → RevenueCat.

FieldValue
API Key (secret)sk_AbCdEfGhIjKlMnOpQrStUvWx
Project IDproj1a2b3c4d (optional)

What it unlocks

The Finance metrics fed by RevenueCat:

MetricContents
MRRMonthly recurring revenue
ARRAnnual recurring revenue
RevenueRevenue collected over the period
ChurnAttrition rate
Active subscribersActive subscribers
Refund rateRefund rate
LTV per customerAverage lifetime value
New trialsTrials started
Trial conversion rateTrials converting to paid
New customersNew customers

Each shows as a single value or as a time series, over the periods the product offers (7 days to 1 year, MTD, QTD, YTD, previous month/quarter/year).


Freshness and rate limits

RevenueCat limits the Charts API to 15 requests per minute per project. Appwin respects that with a per-project queue, and caches the responses.

PeriodCacheWhy
Current (the ongoing month)1 to 5 minutesThe number is still moving
Closed (a finished month)1 to 24 hoursThe number will not move again

Practical consequence: refreshing a page does not necessarily fire a call, and today's number can be a few minutes behind. That is deliberate - without a cache, a handful of users would consume the quota in seconds.


Troubleshooting

SymptomLikely cause
401 on every callA public key (appl_/goog_) instead of a secret key (sk_)
403 on the chartsThe charts permission was not ticked when the key was created
Figures from another appSeveral projects on the account, Project ID left empty
Empty Finance pageNo RevenueCat data over the chosen period
A number frozen for a few minutesCurrent-period cache - expected behaviour

Next

  • Finance - what the product does with these figures
  • Adjust - the spend side, to compare cost and revenue