
How it works
The integration is a one-way push into a single Adapty Mail project. FunnelFox sends people and their purchase history, but never reads your campaigns back and never sends email itself. When a user interacts with a funnel:- Profile creation: FunnelFox sends the profile when a funnel collects an email. Repeat submissions update the same profile instead of creating a duplicate. A profile without an email is never sent.
- Purchases: A completed payment arrives as a subscription start, a renewal, or a one-time purchase.
- Subscription changes: Cancellations, reactivations, billing issues, and expirations are sent as they happen. This is what keeps a churned subscriber from reading as an active subscriber in Adapty Mail.
- Refunds: A refund issued through FunnelFox arrives as a negative amount, so Adapty Mail subtracts it from revenue.
- Customer user ID
- Country
- Device, operating system, locale, and timezone
- Funnel ID
- Profile ID
- Session ID
- Experiment ID (if applicable)
- Email consent
FunnelFox doesn’t backfill. Forwarding starts when you save the secret key.
Emails, purchases, and subscriptions from before that point are never sent, and
there’s no way to re-sync them.
If you also use the Adapty integration,
the same purchase can reach Adapty Mail twice. Adapty Mail removes the
duplicate, so your revenue isn’t counted twice.
Setup
You need an active Adapty Mail project to complete this setup. Set up your sending domain, campaign, and flow in Adapty Mail first, then connect FunnelFox.1. Set up your brand and company
- Go to Brand in your Adapty Mail dashboard and check that your brand is set. If it isn’t, drop in your App Store or Google Play link and Adapty Mail builds a brand profile from it.

- Go to Settings > Company from the top right and check that your company address is set.

2. Add a sending domain
- Go to Settings > DNS from the top right.
- Fill out the Email domains section:
- Domain: Your root domain, for example
yourapp.com. Only apex domains are accepted, so subdomains likeapp.yourapp.comare rejected at input. - Sending subdomain: The prefix your emails go out from. Leave it empty to
use
mail, and your emails then come from an address likehello@mail.yourapp.com.

- Click Add domain.
-
In your domain registrar, add every DNS record the new domain card lists.
They come in three groups: your sending subdomain’s DKIM and MAIL FROM
records, the records for the mailbox that warms the domain up, and the
records for
go.yourapp.com, which serves images and tracked links. To learn what each group does, go to which records you add. - Add the suggested DMARC TXT record on your root domain.
- Click Check to verify your domain, or leave the page and let Adapty Mail poll DNS for you.

Verification timing at a glance
Verification timing at a glance
- Automatic polling: The first check runs 1 minute after you add the domain. Intervals then double up to once per hour until the records are found.
- Manual check: Click Check at any time to trigger an immediate check.
- DNS propagation: Usually minutes, up to 48 hours in rare cases.
- Verification window: 7 days. If it lapses, your DNS records stay in place, so add your domain again in Settings > DNS to start a new window.
3. Create a web paywall
The web paywall is the funnel with checkout that users land on when they click a call to action in your emails.- Go to Web Paywalls in your Adapty Mail dashboard.
- Click Create at the top right and enter your web paywall details:
- Name: Your paywall title.
- Paywall URL: Select Enter URL manually.
- URL: Your funnel URL with placeholders
as query parameters, for example
https://demo-app.fnlfx.com/new-paywall?email={email}&adapty_profile_id={adapty.external_profile_id}.

- Click Save.
4. Create a campaign
- Go to Campaigns in your Adapty Mail dashboard.
- Click Create at the top right and enter your campaign details:
- Name: Your campaign title.
- Web paywall: Select the web paywall you created in the previous step.
- Description: Your optional campaign description.
- Click Generate emails.

- Select how emails are generated:
- Tone: Options are generated specifically for your app’s category. Your choice shapes subject lines, headlines, body copy, and calls to action across every email. It doesn’t affect layout or hero images.
- Language: Pick the email language.
- Custom prompt: Optional free-form instructions, up to 2,000 characters. Add promo or audience details, must-have items, or extra tone direction the presets can’t capture.
- Number of emails: By default, the AI picks the count based on best practices and your app context. Set the number manually if needed, between 1 and 15 emails.

- Click Create.
5. Create a flow
- Go to Flows in your Adapty Mail dashboard.
- Select your trigger. Each tab represents a user segment that starts your email campaign:
- Never purchased: Users who signed up but haven’t made any purchase yet.
- Renewal cancelled: Users who turned off auto-renewal but still have an active subscription. This covers both paid subscribers and trial users who cancelled before conversion.
- Billing issue: Payment failed because of a declined or expired card, or the subscription is in a grace period after a missed renewal.
- Expired: Subscription lapsed and access is gone.
- Refunded: Users who requested a refund after purchase.

- Click Create from the tab you want to configure.

- Select how you create your flow:
- Segment: Select All Users to target everyone who hits this trigger, or create a new segment based on profile attributes.
- Content type: Keep the default Campaign.
- Campaign: Select the campaign you just created.

- Click Save.
6. Connect to FunnelFox
- Go to Settings > Project in your Adapty Mail dashboard.
- Copy the Secret key.

- Go to Integrations > Adapty Mail in FunnelFox.
- Paste your key into Secret key and click Save changes.

