---
title: "Create a campaign in Adapty Mail"
description: "Generate a complete email sequence from your app's store metadata and refine it before attaching to a flow."
---

Adapty Mail generates a full email sequence — copy, design, hero images, subject lines, and delays — from your app's store metadata. No copywriting or design work required. The campaign saves as a draft; it starts delivering only once you attach it to a [flow](mail-create-flow).

## Before you start

- **Saved web paywall**: Every campaign must link to a web paywall. The backend rejects campaigns without one. See [Create a web paywall](mail-get-started#3-create-a-web-paywall) if you don't have one yet.
- **Brand profile**: The AI uses your brand profile to shape copy, tone, and visuals across the sequence. Set it up in Adapty Mail under **Brand** if you haven't yet — see [Brand](mail-brand).

## 1. Generate the sequence

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 want emails to link to.

   

4. Click **Generate emails**.
5. Fill out the generation dialog:
   - **Tone**: Pick from the list. Options are generated specifically for your app's category — a different app sees different options. Your choice shapes subject lines, headlines, body copy, and CTAs 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. Use it to call out a promo, an occasion, audience nuance, must-include points, 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. To set it yourself, click **Set number manually** and pick a value (**1–15**, default **4**).

   Once you click **Generate**, the tone is locked to that campaign. To try another tone, create a new campaign — each generation can produce a different mix of options.

   

6. Click **Generate**. Generation usually takes a few minutes. The backend times out after 5 minutes if it can't complete — retry if that happens.

## 2. Review and refine

After generation, the full sequence is shown in a preview. For every email you can see:

- **Subject line variants**: Three subject options per email. Adapty Mail tests them on delivery and continues sending the highest-performing one — see [A/B testing](mail-ab-testing).
- **Headline, body copy, and CTA**: The main content block.
- **Hero image**: A generated image matched to the email's content and your brand.
- **Layout and delay**: How the email is arranged, and how long after the previous email it sends.

The preview header has a **Theme toggle** (Auto, Light, Dark) — icon buttons in the top-right of the preview pane. It controls only how the preview renders; the generated content is identical across modes. Use it to check how each email looks in each color scheme without regenerating.

You can:

- **Regenerate individual emails**: The AI rewrites the copy and a new hero image for a single email. Position, timing, and the overall design system (colors, typography, dark mode) stay the same — only the targeted email changes.
- **Edit the HTML directly**: An HTML code editor opens for fine-grained control over anything the AI didn't get right.

:::note
Emails adapt automatically. Multi-column designs collapse to a single column on screens under 620 px, and every layout is tested across Gmail (web and mobile), Apple Mail (macOS and iOS), Outlook desktop, Yahoo Mail, and Samsung Mail — in both light and dark mode.
:::

## 3. Save as a draft

Click **Create** to save the campaign as a draft. No emails are sent yet — the campaign editor has no separate "publish" or "launch" action.

A campaign's status reflects whether it's attached to a live flow:

- **draft**: Not attached to any flow.
- **live**: Attached to a flow and currently routing users.
- **inactive**: Was attached, but the flow's A/B test wrapper has finished.
- **archived**: Deleted from the dashboard.

:::important
A draft campaign never sends on its own. To start delivering emails, you need to either:

- Attach the campaign directly to a [flow](mail-create-flow), or
- Include it in an [A/B test](mail-ab-testing) and attach the A/B test to a flow.

Until one of those happens, the campaign stays in `draft` and no recipients are reached.
:::