<!-- AI agents: this is the Markdown version of an AppNorth documentation page. Index: https://www.appnorth.app/llms.txt -->

# RevenueCat

Connect RevenueCat from your app's overview at `/dashboard/apps/<projectId>`. AppNorth stores one RevenueCat connection per AppNorth app and displays snapshots of the selected RevenueCat project's overview metrics.

## Connect a project {#connect}

1. As a workspace owner or admin, select **Connect** in the RevenueCat panel.
2. Supply a RevenueCat secret v2 API key (`sk_…`) with access to the project and `charts_metrics:overview:read` permission.
3. If the key can see multiple projects, choose the intended project and submit again.
4. AppNorth checks project access and the overview metrics request before saving the connection and its first snapshot.

The public SDK key used in an iOS app is not the secret key this integration expects. AppNorth seals the secret on the server and does not return it in connection responses.

## Understand the metrics {#metrics}

The overview maps RevenueCat metrics to MRR, revenue over 28 days, active subscriptions, active trials, new customers over 28 days and active users over 28 days. Currency comes from the provider response.

These are **project-level metrics**. If one RevenueCat project contains several apps, its overview is not filtered down to the individual AppNorth app. Choose the project accordingly and avoid adding the same project's figures together as if they were independent app revenue.

Unavailable metrics remain unknown. A missing snapshot is not zero revenue. Check the last synchronization time before using the figures.

AppNorth stores one snapshot per app per UTC day and updates that day's row when the revenue job runs. The overview reads up to 90 days of stored history. Connecting starts collection; it does not backfill 90 days of history. Background refresh depends on the deployment's revenue job.

## Change or remove the connection {#disconnect}

Use **Change key** to verify and replace credentials, or **Disconnect** to stop using the connection. Previously collected snapshots remain as history. If you switch RevenueCat projects, remember that retained history may describe the former project.

`PROJECT_REQUIRED` asks you to select a project. `MISSING_PERMISSION` means the overview permission is missing; `CREDENTIALS_REJECTED` means the provider rejected the key. See [Errors](/docs/errors) for encryption and service failures.

This integration reads metrics. [Paywall cards](/docs/paywall-cards) separately configure how your iOS app handles offers in support chat.
