Connect RevenueCat
RevenueCat is where Pulse gets subscription revenue: MRR, trials, conversions, renewals, refunds and LTV. It takes two things — a secret API key so Pulse can read your subscriber data, and a webhook so new events arrive within seconds instead of at the next sync.
Pulse only ever reads from RevenueCat. It creates nothing, grants no entitlements, refunds nothing and never writes to a subscriber.
1. Copy the secret API key
RevenueCat dashboard → Project settings → API keys → copy the secretkey (it starts with sk_). This is not the public SDK key your app ships with — the public key cannot read subscriber data.
2. Paste it into Pulse
Open Connections → RevenueCat. Paste the secret key and invent a webhook Authorization header value — any random string; it is the shared secret that proves an incoming webhook is really from your RevenueCat project.
The key is stored in Google Secret Manager. The Pulse database keeps a reference to it, never the value.
3. Add the webhook in RevenueCat
After connecting, Pulse shows a URL of the formhttps://hooks.pulse.pulsecircle.studio/hooks/revenuecat/<connection id>. In RevenueCat → Integrations → Webhooks, add it and set the Authorization header to the same value you chose in step 2. A webhook whose header does not match is rejected.
4. Set app_user_id so ads, users and revenue join up
This is the step people skip, and it is the one that decides whether Pulse can answer “which campaign produced this revenue”. In your app, call RevenueCat’s logIn with thesame user id you pass to Pulse.identify(). Without a shared id, revenue and product events are two unlinked datasets: MRR still works, attribution and CAC do not.
5. Verify
Ask “verify my data sources” in chat, or run pulse_verify from your agent. It reports connector status, the last successful sync and the latest computed metrics day. A trial started in a sandbox is enough to see events flow.
Related
- All connections — App Store, Google Play, Meta Ads, Google Ads.
- Quickstart — create an app and send your first event.