Get started with Adapty Mail

In this guide, you will set up Adapty Mail and launch your first email flow.

The setup has six parts:

  1. Connect your data
  2. Set up your sending domain
  3. Create a web paywall
  4. Generate a campaign with AI
  5. Launch a flow
  6. Start sending
Tip

If you signed up to Adapty Mail through Adapty, your brand profile is created automatically from your project’s store URL. Open Brand anytime to review or refine it — see Brand. If you signed up standalone, set up your brand on the same page before generating campaigns or web paywalls.

Before you start

Make sure these are in place before you start:

  • DNS access: You can add records to your root domain.
  • Payments: You have a Stripe account with your subscription products configured. To use a different provider, host the checkout yourself — see Set up checkout.

1. Connect your data

Adapty Mail needs purchase history (so it can attribute revenue back to the email that drove each conversion), a stable user identifier, and an email address for each user. Prepare the entry point that matches where that data already lives — you’ll open the tap in Step 6, once the rest of the setup can act on what arrives:

  • Adapty: If your app runs the Adapty SDK, wire up user identification and email collection. Leave the integration itself switched off for now — Adapty Mail blocks it until you have a flow. See Connect Adapty to Adapty Mail.
  • Adapty Mail API: If your backend is the source of truth, get your secret key from Settings and build your requests, but don’t post yet. Profiles that arrive before setup finishes never receive anything. See Send emails and transactions via the Adapty Mail API.

You can use more than one entry point at once. Adapty Mail matches incoming data on customer_user_id and email address, so a person it hears about from several sources still gets one profile and one sequence.

Important

Adapty Mail is a standalone product. You can use it even if your paywalls, subscriptions, or analytics aren’t handled by Adapty — migrating your entire stack is not required.

2. Set up your sending domain

Open Adapty Mail: Click the Adapty logo in the header and choose Mail.

Adapty product switcher

Adapty Mail sends from your own domain. You add DNS records once — all campaigns use the same verified domain.

  1. In Adapty Mail, go to Settings → DNS and, in the Email domains section, click Add domain.
  2. In the Domain field, type your root domain (for example, yourapp.com). Only apex domains are accepted — subdomains like app.yourapp.com are rejected at input.
  3. In the Sending subdomain field, type the prefix your emails go out from, or leave it empty to use mail. Emails then come from hello@mail.yourapp.com.
  4. Click Add domain.
mail-email-domains.webp
  1. 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. For what each group authenticates, see Which records you add. To take them all at once, click Export.
  2. Optionally, add the suggested DMARC TXT record on your root domain (recommended).
  3. Click Check to verify immediately, or leave the card and let Adapty Mail poll DNS.
email-domains.webp

Verification timing at a glance:

  • Automatic polling: The first check runs 1 minute after you add the domain, then intervals double up to once per hour until the records are found.
  • Manual check: Click Check 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 — add your domain again in Settings → DNS to start a new window.

One verified domain is enough to start sending. A project can hold up to five, and you can add the rest later.

For details on each record type and domain warm-up, see Set up your sending domain.

3. Create a web paywall

Every email links to a web paywall — the checkout page users land on when they click a CTA. You have two options:

  • Generate with AI: Let the bundled web paywall builder produce one for your app.
  • Use your own hosted paywall: Plug in a paywall you already host.

To start, in Adapty Mail go to Web Paywalls → Create.

new-web-paywall.webp

Option A: Generate with AI

The page shows a Prerequisites checklist with inline buttons — work through it in order, then come back and generate. The checklist covers logging in to the paywall builder, connecting Stripe, adding products, and reviewing the result. See Set up checkout for the full walkthrough.

When all prerequisites are green, click Generate to open the generation dialog:

  • Environment: Choose Production or Sandbox. Sandbox uses your Stripe test-mode products and is the safe default for dev and local environments.
  • Plans: Pick up to 3 Stripe plans (each plan is a product + price). These are the offers the generated paywall presents to users at checkout.

Click Generate to run the build. When it finishes, open the editor to review and publish.

Important

The paywall must be published before it can serve checkout traffic. Unpublished paywalls return an error when users click email checkout links.

Option B: Use your own hosted paywall

  1. Select Enter URL manually.

  2. Paste the URL of your hosted paywall with placeholders as query parameters. Adapty Mail substitutes them per recipient so the checkout page can identify the visitor. Example:

    https://example.com/paywall?email={email}&adapty_profile_id={adapty.external_profile_id}

    The Create page lists the placeholders you can use. See Set up checkout for what each one resolves to.

  3. Save and publish.

For checkout funnel anatomy and how personalization works, see Set up checkout.

generate-web-paywall.webp

4. Generate a campaign with AI

AI creates the full email sequence for you — copy, design, hero images, and personalized checkout links, all tailored to your brand.

  1. In Adapty Mail, go to Campaigns and click Create.
  2. Set the campaign name.
  3. In the Web paywall dropdown, select the web paywall you added on the previous step.
mail-new-campaign.webp
  1. Click Generate emails.
  2. Fill out the generation dialog — tone, language, an optional custom prompt (up to 2,000 characters), and the number of emails (1–15, default 4). See Create a campaign for what each field does.
generate-emails.webp
  1. Click Generate. Generation usually takes a few minutes. The system times out after 5 minutes if it can’t complete — retry if that happens.
  2. Preview each email. The preview header has a Theme toggle (Auto, Light, Dark) that controls how the preview renders — generated content is identical across modes. You can regenerate individual emails, edit the copy, or open the HTML editor for fine-grained control.
generated-emails.webp
  1. Click Create to save the campaign.

The campaign saves as a draft and isn’t sending yet — campaigns go live only when attached to a flow (next step). There’s no separate “publish” action in the campaign editor.

5. Launch a flow

A flow pairs a trigger (an event like a subscription expiring) with a segment, and sends that segment the campaign you choose. Adapty Mail ships with five fixed triggers, each with its own flow view.

  1. In Adapty Mail, go to Flows, then open the trigger you want to configure:

    • Never purchased — users who signed up but haven’t made a purchase yet.
    • Renewal cancelled — users who turned off auto-renewal but still have an active subscription.
    • Billing issue — payment failed, declined or expired card, or grace period.
    • Expired — subscription has lapsed and access is gone.
    • Refunded — users who requested a refund after purchase.

    See Flows for the goal and tone guidance behind each trigger.

  2. Click Create to open the dialog.

create-flow-mail.webp
  1. In the dialog:
    • Pick a Segment (for example, All Users to target everyone who hits this trigger, or, create a new segment based on the profile attributes).
    • Leave content type set to Campaign (the A/B Test option is covered in A/B testing).
    • Select the Campaign you saved in Step 4.
  2. Click Save.

The flow goes live immediately — there’s no separate launch step. From this point on, users who match the segment will start receiving the campaign as soon as they hit the trigger event.

Note

You can add more than one segment → campaign row to the same trigger; they run in priority order. The All Users row, if used, must be the last (lowest-priority) row so it catches everyone not matched by a more specific segment.

mail-flow-details.webp

6. Start sending

Your campaign is wired up but not firing yet — no user data is reaching Adapty Mail. Starting the flow of data is the last step, and each entry point from Step 1 starts differently:

  • Adapty: In Adapty Mail, go to Settings → Project and click Enable Adapty integration. The button is disabled until you complete Step 5, with the tooltip “Set up at least one flow before enabling Adapty integration”. See Connect Adapty to Adapty Mail.
  • Adapty Mail API: Start posting profiles and transaction events. Profiles you send before finishing this setup never receive anything, which is why this step comes last. See Send emails and transactions via the Adapty Mail API.

From here, users who match your segment receive the campaign as soon as they hit the trigger. Before you let real users in, test the whole chain with one test user.

Troubleshooting

IssueSolution
DNS verification stuckCheck that records match exactly — no trailing dots, correct CNAME targets. Wait 5–10 minutes, then click Check again
Verification window expiredYour records remain in place. Add your domain again in Settings → DNS to start a new window
Generation failed or timed outCheck your internet connection and try again. If the issue persists, contact Adapty support

Learn more