RevenueCat and stores

Connect purchase data, keep your existing setup.

Vortex ingests purchase lifecycles rather than replacing your billing stack. If you use RevenueCat today, you keep it.

Connect RevenueCat

In the dashboard, open your project's Data Sources tab and add RevenueCat. You get a webhook URL and a secret; paste both into RevenueCat's webhook settings. From then on every event — initial purchases, trials, renewals, cancellations, refunds, billing issues — lands in Vortex, attached to the same user your auth and analytics already know.

Sandbox events are dropped at ingest on purpose. A stored sandbox purchase is one forgotten filter away from being counted as revenue.

What ingest writes

  • Transactions — the validated purchase log, idempotent against webhook redelivery.
  • Entitlements — the current lifecycle state per user and entitlement (active, trialing, in_grace_period, in_billing_retry, expired, refunded, revoked). This is what an entitlement check reads.
  • Revenue events — money movements, with refunds negative, feeding revenue reporting and realized LTV.

Apple App Store Server notifications and Google Play RTDN can also be connected directly from the same tab.

Cancellation is not churn

RevenueCat's CANCELLATION covers two different things, and Vortex keeps them apart everywhere: a user turning auto-renew off keeps access until the paid period lapses (a cancellation), and loss of access is a separate event (an expiration). Refunds end access immediately and are counted as refunds.