
How it works
When a user completes a subscription purchase in your funnel:- Profile creation: FunnelFox creates an Adapty profile using a unique customer ID.
- Transaction sync: Purchase details are sent to Adapty including price, product info, and subscription status.
- Access grant: The configured access level is granted to the user.
- Mobile app verification: Your app checks the user’s access level through Adapty SDK.
Adapty profiles are created only for subscription purchases. Consumable
(one-time) products create profiles only if they have a custom access level
configured in the checkout.
Setup
To proceed with this setup, you need:- An active Adapty account with configured products.
- Products in Adapty that include their corresponding Stripe, Paddle, or other product IDs for accurate tracking.
- A mobile app with the Adapty SDK activated in the app code.
- Recurring products configured in FunnelFox.
1
Get your API secret
- Log into your Adapty Dashboard.
- Navigate to App Settings → API Keys.
- Copy your Secret Key (not the public SDK key).

2
Configure in FunnelFox
- Go to Integrations → Adapty.
- Paste your API Secret.

- Enter your Access Level name (default: “premium”).
- Click Save changes.
3
Test the integration
Test the integration using preview mode:
- Open your funnel in preview mode.
- Make a test purchase (automatically uses sandbox).
- For paid Adapty users: check the new profile in Adapty dashboard.
- For free Adapty users: verify by attempting to access paid content in your app.
- Check Event Feed in Adapty for sandbox events.
Profile creation
Customer user ID
By default, FunnelFox creates Adapty profiles using the user’s email as the Customer User ID. This can be customized:- Custom input: If you add an input element with the
_USERID_element ID, its value becomes the App User ID. - From your backend: When you fetch the user ID from your backend, set it using custom code inside a Raw HTML element:
- Email (default): If none of the above are provided, the user’s email address is used as the App User ID.
- Fallback: If no email is collected, FunnelFox uses
fnlfx_+ FunnelFox profile ID.
The
adapty_profile_id URL parameter is supported for compatibility but not recommended.
Use Customer User IDs for consistency. If you need to link to an existing Adapty
profile, use the same Customer User ID that was originally used to create that profile.Profile attributes
FunnelFox sets the following attributes in Adapty profiles:Campaign attribution
Enable Campaign attribution in Integrations > Adapty to send every completed transaction to Adapty’s User Acquisition service, enriched with the marketing parameters captured during the session. This setting is off by default.
Campaign attribution works independently from the Adapty profile sync. It
sends data to a different Adapty service: no profiles are created and no
access levels are granted through this channel.
Access levels
The Access Level field in FunnelFox settings determines which Adapty access level is granted when users purchase subscriptions.If you have multiple access levels configured in Adapty, set them up in your
Adapty dashboard and assign them to specific products. Otherwise, the default
‘premium’ access level will be used for all purchases.
Subscription events
FunnelFox doesn’t send named events to Adapty. It calls the Adapty Server-Side API whenever a purchase or a subscription change happens in your funnel.
* For FunnelFox Billing only.
When a user turns off auto-renewal,
the subscription stays active until the end of the current period. Adapty schedules the revoke at the period end so the user keeps access
until then. A hard cancellation revokes access immediately.
Mobile app integration
Your mobile app needs to identify the user and check their access:When
Adapty.activate() is called on app launch, an empty profile is created
before identification. This is normal behavior. To exclude these empty profiles
from analytics, configure the Installs definition for analytics
setting in your Adapty dashboard.Troubleshooting
Wrong customer user ID
Wrong customer user ID
- Check URL parameters for typos in
adapty_profile_id - Verify
_USERID_input element ID is exact - Ensure email is collected before purchase
- Review customer ID priority order
Sandbox purchases not appearing
Sandbox purchases not appearing
- Ensure you’re testing in preview mode (automatic sandbox)
- Use test payment methods (test cards)
- Check Adapty dashboard Sandbox section, not Production
