RevenueCat integration
Connect RevenueCat to see revenue metrics alongside your onboarding funnel in FlwKit.
Overview
The RevenueCat integration pulls your subscription revenue data into FlwKit and displays it alongside your onboarding funnel analytics. Once connected, FlwKit calculates revenue per session — how much revenue each onboarding session generates on average. This makes it possible to compare onboarding variants not just by completion rate, but by the revenue they produce.
For example: if variant B has $0.31 revenue per session versus variant A's $0.24, and you get 1,000 sessions per month, variant B earns you $70 more per month. That signal is invisible without combining funnel and revenue data.
FlwKit syncs your RevenueCat metrics every hour. Only aggregate data is stored — no individual subscriber records or personally identifiable information.
Prerequisites
- A FlwKit account with at least one app
- A RevenueCat account with an active project
- Your RevenueCat secret API key (starts with
sk_)
Getting your RevenueCat secret key
- Log in to the RevenueCat dashboard
- Select your project
- Go to Project Settings → API Keys
- Under Secret API keys, copy an existing key or create a new one
- The key begins with
sk_— copy the full string
Secret keys have full read access to your RevenueCat project data. Do not share them or commit them to source control. FlwKit encrypts your key at rest using AES-256-GCM and never returns it after saving.
Connecting RevenueCat in FlwKit
- Open the FlwKit dashboard
- Go to Settings → Integrations
- Find the RevenueCat card
- Paste your secret key into the Secret API key field
- Click Connect RevenueCat →
FlwKit validates the key against the RevenueCat API before saving. If the key is rejected, you will see an error — double-check that you copied the secret key (not a public key).
After connecting, FlwKit performs an initial sync immediately. Revenue data typically appears in your analytics within a few seconds.
What you'll see
Once connected, the Analytics page shows a revenue section above the drop-off chart:
Revenue per session callout
A highlighted banner shows your revenue per session and the data it is based on:
Revenue metric cards
| Metric | Description |
|---|---|
| MRR | Monthly Recurring Revenue — the normalized monthly value of all active subscriptions |
| Revenue (30d) | Total revenue collected in the last 30 days |
| Rev / session | Revenue (30d) divided by FlwKit sessions in the same 30-day window |
| Active subs | Number of currently active subscriptions |
| New this month | New subscribers in the last 30 days |
| Churn rate | Percentage of subscribers who cancelled in the last 30 days |
Connect prompt (when not connected)
If RevenueCat is not connected, the Analytics page shows a prompt:
Clicking it navigates to Settings → Integrations.
Revenue per session
Revenue per session is calculated as:
FlwKit counts flow_started events in the last 30 days from its own event store, and divides the 30-day revenue figure from RevenueCat. The result reflects how much revenue is generated, on average, each time a user starts your onboarding flow.
Why it matters: Most funnel metrics (completion rate, drop-off) do not tell you what those completions are worth in dollars. Revenue per session bridges that gap. When running A/B tests, comparing revenue per session across variants reveals which onboarding experience drives more paying subscribers — not just more completions.
Example: A paywall screen redesign lifts your conversion rate from 8% to 10%, but revenue per session drops from $0.30 to $0.22. The new variant converts more users but they subscribe to cheaper plans. Revenue per session would catch this; completion rate alone would not.
Revenue per session will show $0.00 if either no sessions or no revenue data is available for the last 30 days. This is expected immediately after connecting — wait up to one hour for the first sync to complete.
Data freshness
- RevenueCat metrics sync every hour automatically in the background
- A Refresh button in the analytics page triggers an immediate sync outside the hourly schedule
- The first sync runs immediately when you connect — no need to wait
- Manual syncs are rate-limited to once per 5 minutes per app to avoid overloading the RevenueCat API
The last synced timestamp is shown below the revenue section:
Disconnecting
To disconnect RevenueCat:
- Go to Settings → Integrations
- Click Disconnect in the RevenueCat card
- Confirm in the dialog
When you disconnect:
- The encrypted API key is deleted from FlwKit's database
- All stored revenue snapshots for the app are deleted
- The revenue section disappears from the analytics page and is replaced by the connect prompt
Reconnecting later requires entering the secret key again.
Troubleshooting
Sync error: Invalid API key
The stored key was rejected by RevenueCat. This can happen if the key was revoked or rotated in the RevenueCat dashboard after connecting.
Fix: Go to Settings → Integrations, disconnect RevenueCat, then reconnect with a valid key.
Revenue data not appearing after connecting
The initial sync runs immediately after connecting. If no data appears after 30 seconds:
- Check the Last synced timestamp in the analytics page — if it shows a recent time, the sync ran but there may be no revenue data in your RevenueCat project yet
- If Last synced is empty, the sync may still be running — wait a moment and click Refresh
- Check for a sync error message in Settings → Integrations
Revenue per session shows $0.00
Two possible causes:
- No sessions yet: FlwKit has not recorded any
flow_startedevents in the last 30 days for this app. Make sure the SDK is integrated and events are being sent. - No revenue yet: Your RevenueCat project has no revenue in the last 30 days. The calculation cannot produce a non-zero result without both values.
After connecting, you may also see $0.00 for up to one hour while the first sync completes.
Sync error: Failed to save snapshot
A transient error occurred writing to FlwKit's database. The next hourly sync will retry automatically. You can also trigger a manual sync with the Refresh button.
Security
- Your RevenueCat secret key is encrypted at rest using AES-256-GCM before being stored in MongoDB
- The key is never returned in any API response after the initial connection — not even in encrypted form
- The Settings → Integrations page shows only the last 4 characters of the key as a preview:
sk_••••••••••••xxxx - FlwKit stores only aggregate metrics from RevenueCat — no individual subscriber records, transaction details, or personally identifiable information
Next steps
Now that you can see revenue per session, A/B testing becomes significantly more useful. You can measure whether a variant that improves completion rate also improves the revenue each session generates.
Read the A/B testing docs to learn how to run experiments on your onboarding flow and compare variants by revenue impact.