> ## Documentation Index
> Fetch the complete documentation index at: https://docs.deflect.in/llms.txt
> Use this file to discover all available pages before exploring further.

# Email campaigns

> Send personalized email outreach to your contact audience

**Email campaigns** let you message groups of contacts from Deflect — with personalization, delivery tracking, and safe preview before you send.

<Frame caption="Campaigns list — name, status, channel, and progress.">
  <img src="https://mintcdn.com/quensultingai/xnI-ZHCSg6FKh-rL/images/campaigns-list.png?fit=max&auto=format&n=xnI-ZHCSg6FKh-rL&q=85&s=880930a81e2dee9176ce3b78166172b3" alt="Campaigns page showing campaign status and send progress" width="1440" height="900" data-path="images/campaigns-list.png" />
</Frame>

## Before you start

<Steps>
  <Step title="Contacts">
    You need contacts with **email addresses**. Import or collect them through chat, tickets, and integrations. See [Contacts](/contacts).
  </Step>

  <Step title="Sending domain">
    Register a **marketing** sending domain under **Settings → Email Branding** and complete the DNS steps shown in the dashboard. Campaigns cannot send until your domain is verified.
  </Step>

  <Step title="Warm-up (recommended)">
    For new domains, follow the warm-up guidance in Email Branding so deliverability stays healthy. See [Email branding](/email-branding).
  </Step>
</Steps>

## Create a campaign

<Steps>
  <Step title="Open Campaigns">
    Click **Campaigns** in the sidebar, then **New campaign**.
  </Step>

  <Step title="Name and channel">
    Give the campaign a clear internal name. Choose **Email** as the channel.
  </Step>

  <Step title="Pick a sender">
    Select the **sender identity** (your verified marketing domain and from-address).
  </Step>

  <Step title="Link an agent">
    Choose which agent handles **replies** if recipients write back. Replies can route to live chat or follow your configured reply behavior.
  </Step>

  <Step title="Choose your audience">
    Select contacts manually, or build a **filtered audience** (e.g. contacts where `plan = Enterprise` or `email` is not empty).
  </Step>

  <Step title="Write subject and body">
    Compose your message. Use personalization tokens — see below.
  </Step>

  <Step title="Preview">
    Use **Live preview** with a sample contact to see the rendered subject and body, including fallback text.
  </Step>

  <Step title="Launch">
    Schedule or send immediately. Watch progress on the campaign report.
  </Step>
</Steps>

<Frame caption="Campaign editor — audience panel, subject/body, and variable chips.">
  <img src="https://mintcdn.com/quensultingai/xnI-ZHCSg6FKh-rL/images/campaigns-editor.png?fit=max&auto=format&n=xnI-ZHCSg6FKh-rL&q=85&s=560ba2792ae4761c8b9009feadf197d3" alt="New campaign page with email content and audience selection" width="1440" height="900" data-path="images/campaigns-editor.png" />
</Frame>

## Personalization tokens

Insert placeholders in the **subject** or **body**. At send time, each contact's values replace the tokens.

| Token                              | Resolves to                        |
| ---------------------------------- | ---------------------------------- |
| `{{name}}`                         | Contact's name                     |
| `{{email}}`                        | Contact's email                    |
| `{{phone}}`                        | Contact's phone                    |
| `{{custom_attributes.your_field}}` | A custom contact field you created |

Click a **variable chip** in the editor to insert it at your cursor. Choose whether you are inserting into **Subject** or **Message body**.

### Fallbacks

For each token you use, configure a **fallback** under variable settings:

* **Use contact field** — Pull from a contact field; if empty, use your fallback text (e.g. `"there"` for `{{name}}`).
* **Use static value** — Always use a fixed string you provide.

The editor shows **diagnostics** — for example, how many contacts are missing a name and will get the fallback.

<Frame caption="Live preview panel — sample contact selected, rendered HTML visible.">
  <img src="https://mintcdn.com/quensultingai/xnI-ZHCSg6FKh-rL/images/campaigns-preview.png?fit=max&auto=format&n=xnI-ZHCSg6FKh-rL&q=85&s=f9da3114379e78ca87a86250efba49da" alt="Campaign live preview with resolved variables" width="1440" height="900" data-path="images/campaigns-preview.png" />
</Frame>

## Reply handling

When creating an email campaign, decide what happens if someone replies:

| Option                    | Behavior                                                        |
| ------------------------- | --------------------------------------------------------------- |
| **Accept replies**        | Replies open as conversations your team can handle in live chat |
| **Do not accept replies** | Choose to ignore replies or send a static auto-response         |

Match this to your campaign type — marketing blasts often use a no-reply or auto-reply path; nurture sequences often accept replies.

## After you send

Open the campaign to see:

* **Progress** — how many messages sent, pending, or failed.
* **Errors** — addresses that bounced or were skipped (fix data in Contacts and retry if needed).

<Frame caption="Campaign report — send progress bar and per-recipient status.">
  <img src="https://mintcdn.com/quensultingai/xnI-ZHCSg6FKh-rL/images/campaigns-report.png?fit=max&auto=format&n=xnI-ZHCSg6FKh-rL&q=85&s=f2a1ce9dadc5625c45e71c144407546c" alt="Campaign detail page with delivery statistics" width="1440" height="900" data-path="images/campaigns-report.png" />
</Frame>

## WhatsApp campaigns

Some workspaces also support **WhatsApp campaigns** using approved WhatsApp templates. If you see WhatsApp as a channel option when creating a campaign:

1. Connect and sync templates — [WhatsApp integration](/whatsapp-integration).
2. Pick a **template** approved by WhatsApp (required outside the 24-hour customer service window).
3. Map template variables to contact fields, same as email fallbacks.
4. Audience must include contacts with valid **phone numbers**.

WhatsApp template messages may incur carrier charges depending on template category and region.

## Tips for better deliverability

* Warm up new sending domains gradually.
* Avoid spam trigger words and broken personalization (`Hello {{name}}` with no fallback).
* Segment audiences instead of blasting your entire list.
* Test with an internal contact list before a full launch.

## Related guides

* [Contacts](/contacts) — audiences and custom fields.
* [Email branding](/email-branding) — domains, DNS, warm-up.
* [Settings & billing](/settings) — email allowance and top-ups.
