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

> ## Agent Instructions
> AhaSend stores all message data in the EU. See /facts.
> The API base URL is https://api.ahasend.com. Send the API key in the Authorization: Bearer header. See /api-reference/authentication.
> Use send.ahasend.com for SMTP. Ports 25, 587 and 2525 use STARTTLS. Port 465 is not supported. See /smtp.
> For send-only integrations, create an API Key v2 under Credentials → Add and scope it to messages:send:{your-domain}. See /send-api/credentials and /api-reference/scopes.

# Campaign Builder: Newsletters and Campaigns

> Send newsletters and campaigns from your AhaSend account with Campaign Builder: contact lists, two editors, templates, test sends, scheduling and reports.

Campaign Builder sends newsletters, product updates and promotions from your AhaSend account, next to your transactional email. It is included in every plan, the Free plan too. Campaign emails count towards the monthly volume of your plan; there is no separate price.

Open **Marketing** in the dashboard to find it. Contacts, lists, campaign templates and campaigns are also available through the [Management API](/docs/campaigns/api-and-automation), the CLI and the [MCP server](/docs/mcp-server).

## How a Campaign Goes Out

<Steps>
  <Step title="Make a list">
    Import contacts from a CSV, add them by hand or push them from your own app. Give them the fields your campaigns need and filter on any of them. See [contacts and lists](/docs/campaigns/contacts-and-lists).
  </Step>

  <Step title="Design the email">
    Write it like a document in the Simple Editor, or build it from MJML blocks in the Advanced Editor. Start from scratch or from one of your [campaign templates](/docs/campaigns/templates).
  </Step>

  <Step title="Create the campaign">
    Set the sender, the lists, the subject and the preview text, and personalize the email with contact fields. See [creating a campaign](/docs/campaigns/create).
  </Step>

  <Step title="Test, then send">
    Send yourself a test, fix the issues the campaign page lists, then send now or schedule it. AhaSend checks new and changed lists before they are sent to. See [testing, review and sending](/docs/campaigns/test-and-send).
  </Step>

  <Step title="Read the report">
    Delivered, opens, clicks, unsubscribes, complaints and bounces, per campaign and per list. See [reports](/docs/campaigns/reports).
  </Step>
</Steps>

## Separate from Your Transactional Email

Campaigns go out over AhaSend's marketing infrastructure: their own IP pools and their own [daily marketing limit](/docs/campaigns/marketing-limit). A large newsletter never delays your password resets or receipts. To keep the reputation of your domains apart too, send campaigns from their own subdomain. Bounces and complaints from campaigns still count towards the health of your account, so a poor list can pause all of your sending.

You do not have to configure anything for this. Any verified sending domain of your account can send a campaign, whatever its [sending type](/docs/domains#sending-type). The sending type only matters for marketing mail that you send yourself through the API or SMTP: that mail must come from a domain with the sending type marketing. Campaign Builder adds the unsubscribe link and processes opt-outs for you; for marketing mail from your own tool, you add the link and keep the opt-outs yourself. See [unsubscribe links](/docs/campaigns/unsubscribe).

## Built for the Inbox

* Every campaign carries an unsubscribe link and one-click unsubscribe headers, as Gmail and Yahoo expect from bulk senders. A campaign without the link cannot be sent.
* Before a campaign to a new or changed list goes out, AhaSend checks the list and the content. Addresses that cannot receive mail are left out, a list with too many bad addresses pauses the campaign, and a campaign that looks like spam, phishing or cold outreach is held for review. See [review](/docs/campaigns/test-and-send#review).
* Unsubscribes and spam complaints are processed for you: the contact gets no more campaigns from that list, and re-importing an old CSV never puts anyone back on a list they left.

## Where Things Are in the Dashboard

| Menu | What you find there |
| - | - |
| Marketing > Campaigns | Your campaigns, their status and their reports |
| Marketing > Lists | Lists, with the number of contacts a campaign would reach |
| Marketing > Contacts | All contacts of the account, with their fields, lists and history |
| Marketing > Templates | Your catalog of campaign templates |
| Marketing > Contact fields | The custom fields of your contacts |

## Related Guides

* [Contacts and lists](/docs/campaigns/contacts-and-lists), [Campaign templates](/docs/campaigns/templates), [Creating a campaign](/docs/campaigns/create).
* [Testing, review and sending](/docs/campaigns/test-and-send), [Reports](/docs/campaigns/reports), [Daily marketing limit](/docs/campaigns/marketing-limit).
* [Unsubscribe links for API and SMTP mail](/docs/campaigns/unsubscribe), [API, CLI and MCP](/docs/campaigns/api-and-automation), [Plans and limits](/docs/facts).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.