
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:- Profile Creation: FunnelFox creates a RevenueCat customer using the user’s email as the App User ID
- Purchase Tracking: Initial purchase is communicated to RevenueCat with the payment provider’s subscription ID
- RevenueCat Takes Over: RevenueCat monitors the subscription directly with Stripe/Paddle for renewals, cancellations, and revenue events
- 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
- Log into RevenueCat Dashboard
- Go to Project Settings → API Keys

- Create a Secret Key with API Version V1

- Copy the Secret Key
2
Get Payment Provider App Keys
- In RevenueCat, go to your app settings
- Find the Stripe App Key (starts with
strp_
) - Ensure “Track new purchases from server-to-server notifications” is disabled
- Copy the Stripe App Key
3
Configure in FunnelFox
- Go to Project Settings → Integrations → Subscriptions
- Toggle RevenueCat integration on
- Paste your Secret Key
- Paste the appropriate App Key for your payment provider
- Click Save changes
4
Map Products in RevenueCat
After your first test purchase:
Example shows a
- Check RevenueCat dashboard for the new customer
- Map your Stripe/Paddle products to RevenueCat entitlements
- Configure product identifiers to match your app

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:- Custom Input: Add
_USERID_
input element to set custom ID - 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:Attribute | Value | Description |
---|---|---|
User’s email | If collected in the funnel | |
fnlfx_profile_id | Profile ID | FunnelFox’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: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:- Open your funnel in preview mode
- Purchases automatically use sandbox environment
- Use test cards for payments
- 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
Customer not created in RevenueCat
Customer not created in RevenueCat
- Verify Secret Key is correct (API Version V1)
- Check product is configured as recurring
- Ensure RevenueCat integration is enabled
- Confirm payment provider app key is set
Subscription not tracked
Subscription not tracked
- For Stripe: Ensure server-to-server notifications are disabled
- For Paddle: Verify both production and sandbox keys if testing
- Check products are mapped in RevenueCat dashboard
- Wait a few minutes for initial sync
Wrong customer ID used
Wrong customer ID used
- Verify
_USERID_
input element ID is exact - Ensure email is collected before purchase
- Check customer ID format in RevenueCat
Mobile app not recognizing subscription
Mobile app not recognizing subscription
- Ensure
logIn()
uses the same email as funnel - Refresh customer info in the app
- Check entitlement names match configuration
- Verify RevenueCat SDK is properly initialized
Revenue not tracking
Revenue not tracking
- Confirm you’re using Stripe/Paddle app keys (not iOS only)
- Check RevenueCat has access to your payment provider
- Verify products are properly configured in RevenueCat
- Ensure you’re not using legacy iOS-only setup
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
Feature | Modern (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