RevenueCat integration enables automatic subscription tracking and revenue analytics for purchases made through FunnelFox funnels. Once configured, RevenueCat takes over subscription lifecycle management directly from your payment providers.
RevenueCat integration settings

What is RevenueCat?

RevenueCat is a subscription management platform that provides unified analytics, subscription lifecycle tracking, and revenue metrics across different payment providers and app stores.

How It Works

When a user completes a subscription purchase in your funnel:
  1. Profile Creation: FunnelFox creates a RevenueCat customer using the user’s email as the App User ID
  2. Purchase Tracking: Initial purchase is communicated to RevenueCat with the payment provider’s subscription ID
  3. RevenueCat Takes Over: RevenueCat monitors the subscription directly with Stripe/Paddle for renewals, cancellations, and revenue events
  4. App Verification: Your app checks subscription status through RevenueCat SDK
RevenueCat profiles are created only for subscription purchases. One-time products create profiles only if they have a custom entitlement configured in the checkout.

Configuration

Prerequisites

  • Active RevenueCat account with configured products
  • App with RevenueCat SDK integrated
  • Recurring products configured in FunnelFox
  • Stripe or Paddle as your payment provider

Setup Steps

1

Get RevenueCat API Keys

  1. Log into RevenueCat Dashboard
  2. Go to Project SettingsAPI Keys
RevenueCat API keys settings
  1. Create a Secret Key with API Version V1
Creating new Secret API Key
  1. Copy the Secret Key
2

Get Payment Provider App Keys

  1. In RevenueCat, go to your app settings
  2. Find the Stripe App Key (starts with strp_)
  3. Ensure “Track new purchases from server-to-server notifications” is disabled
  4. Copy the Stripe App Key
3

Configure in FunnelFox

  1. Go to Project SettingsIntegrationsSubscriptions
  2. Toggle RevenueCat integration on
  3. Paste your Secret Key
  4. Paste the appropriate App Key for your payment provider
  5. Click Save changes
Note: You only need to configure the app key for your active payment provider (Stripe OR Paddle).
4

Map Products in RevenueCat

After your first test purchase:
  1. Check RevenueCat dashboard for the new customer
  2. Map your Stripe/Paddle products to RevenueCat entitlements
  3. Configure product identifiers to match your app
Example pro entitlement mapped to a Stripe product
Example shows a pro entitlement mapped to a Stripe product.
5

Test the Integration

  • Open your funnel in preview mode
  • Make a test purchase (automatically uses sandbox)
  • Verify customer appears in RevenueCat
  • Check entitlements are granted correctly
Avoid using the “Legacy Setup” (iOS App Key only) for new integrations. Use Stripe or Paddle app keys for full subscription tracking and revenue analytics.

Customer ID Mapping

FunnelFox creates RevenueCat customers using the user’s email as the App User ID by default. This can be customized using:
  1. Custom Input: Add _USERID_ input element to set custom ID
  2. Fallback: fnlfx_ + FunnelFox profile ID (if no email collected)
Unlike Adapty, RevenueCat integration doesn’t support URL parameters for existing customer IDs. Users must be identified through your app.

Customer Attributes

FunnelFox sets the following attributes in RevenueCat customers:
AttributeValueDescription
$emailUser’s emailIf collected in the funnel
fnlfx_profile_idProfile IDFunnelFox’s internal profile ID

Subscription Management

Modern Integration (Stripe/Paddle)

With Stripe or Paddle app keys configured:
  • RevenueCat monitors subscriptions directly from the payment provider
  • Renewals, cancellations, and refunds are handled automatically
  • Revenue metrics and analytics are tracked in real-time
  • No manual intervention needed after initial setup

Legacy Integration (iOS Only)

The iOS-only setup has limitations:
  • Only grants promotional entitlements
  • Doesn’t track revenue or subscription events
  • Requires manual management for changes
  • Not recommended for new projects

Mobile App Integration

Your app needs to identify users and check their subscription status:
// Identify the user with their email
Purchases.shared.logIn(userEmail) { (customerInfo, created, error) in
    if let customerInfo = customerInfo {
        // Check if user has active subscription
        let hasActive = customerInfo.entitlements["premium"]?.isActive ?? false
        // Update UI based on subscription status
    }
}
The email used in logIn() must match the email collected in your FunnelFox funnel. This links the web purchase to the app user.
See RevenueCat’s SDK documentation for complete implementation guides for iOS, Android, React Native, Flutter, and Unity.

Testing

Sandbox Mode

Testing is automatic with preview mode:
  1. Open your funnel in preview mode
  2. Purchases automatically use sandbox environment
  3. Use test cards for payments
  4. Check RevenueCat dashboard under Sandbox Data

Verification Checklist

  • Customer created in RevenueCat after purchase
  • App User ID matches expected format (email or custom)
  • Subscription appears in RevenueCat with correct status
  • Mobile app recognizes user’s subscription
  • Revenue data tracked correctly (Stripe/Paddle only)

Troubleshooting

Best Practices

Integration Setup

  • Use Modern Integration: Always use Stripe/Paddle app keys for full features
  • Test First: Verify with sandbox purchases before going live
  • Map Products Early: Configure product mappings after first test purchase
  • Document Entitlements: Keep clear records of what each entitlement provides

Customer Management

  • Consistent IDs: Use email as the primary identifier
  • Handle Migration: Plan for existing RevenueCat customers
  • Monitor Sync: Set up alerts for failed customer creations

Subscription Tracking

  • Let RevenueCat Lead: After initial setup, RevenueCat handles all events
  • Don’t Duplicate: Avoid managing subscriptions in both systems
  • Trust the Platform: RevenueCat’s direct PSP integration is reliable

Integration Comparison

FeatureModern (Stripe/Paddle)Legacy (iOS Only)
Revenue Tracking✅ Full analytics❌ No revenue data
Auto Renewals✅ Automatic❌ Manual
Cancellation Handling✅ Automatic❌ Manual
Refund Detection✅ Automatic❌ Not supported
Subscription Events✅ All events❌ Limited
Recommended✅ Yes⚠️ Existing apps only

Limitations

  • No URL parameter support for existing customer IDs
  • One-time purchases sync only with custom entitlements
  • Customer ID cannot be changed after creation
  • Legacy iOS setup lacks revenue tracking

Next Steps