# E-mail campaigns

> How the team builds and sends an announcement by e-mail to the community: blocks, audience, test, sending quota, unsubscribing, open and click tracking, and the e-mails that always arrive.

**Campaigns** is the community area where the team writes an announcement, chooses who receives it and sends it by e-mail. It lives under **Administration**, next to Members and Monetization (`/campaigns`); it is not a space module.

Every campaign carries the **community's name** as the sender, the **owner's contact e-mail** for replies, a link for the person to **unsubscribe**, and a notice that Memberfy measures opens and clicks.

## What it's for

| Community | Campaign |
|---|---|
| School | The notice that enrollment for the new cohort has opened |
| Association | The conference recap, for every member |
| Coworking | A note only for the residents group |
| Mentorship | The news for whoever has the tag *March cohort* |

## How it works

### Who does what

| Who | What they do |
|---|---|
| Owner and admin | Everything: create the draft, check the audience, send the test and **send the campaign** |
| Moderator and finance | See the area and the campaigns, create and edit drafts, check the audience and send tests to themselves. They **do not send** |
| Member | Does not see the area |

The area shows under **Administration** for the whole team. Whoever opens **New campaign** without being able to send reads *"Only the owner and admins send campaigns. You can write the draft and send tests to yourself."*

### The campaign

| Field | What it's for |
|---|---|
| **Campaign name** | Only the team sees it; it helps you find the campaign later |
| **Subject** | The e-mail's subject. `{{nome}}` becomes each person's first name |
| **Preview text (optional)** | The phrase that appears next to the subject in the inbox |
| **Content** | The blocks, in the order they go out in the e-mail |
| **Audience** | Who receives it |

There are three blocks:

| Block | What it holds |
|---|---|
| **Text** | The message, with formatting. `{{nome}}` works here too (with no name, it reads *"friend"*) |
| **Button** | **Button text** and **Button link**, which starts with `https://` |
| **Image** | **Image address** (starts with `https://`) and **Image description**, for whoever cannot see the picture. The image comes from a link: there is no file upload |

Blocks move up and down with the **Move block up** and **Move block down** buttons. Only a draft can be edited: a campaign that has been sent does not change and cannot be deleted.

### The audience

Under **Audience**, choose **Everyone** or **Choose the audience**: **Groups**, **Tags** and **People**, combined as a union. Whoever is in more than one criterion receives it **only once**.

The **Audience preview** (after saving the draft) shows how many people will receive it and how many are **left out**, with the reason: they unsubscribed, have an e-mail that does not accept messages (permanent bounce) or marked e-mails as spam. It also shows a sample of who receives it, with the e-mail partially hidden.

- **Only community members** are included; deleted profiles are left out.
- A send goes to **at most 20,000 people**. Above that, narrow the audience.
- **Someone who unsubscribed does not return to an audience**: if the team tries to add that person by hand, the choice is refused. Only the person can opt back in.

### Sending quota

To protect the reputation of the community's e-mails, each community has a **sending quota**: **2 per day** and **14 per week**; the month is the **sum of the weeks**. Each **send** to an audience counts as one, whatever the audience's size. Day, week and month follow the community's time zone.

- **A test does not count.**
- The quota shows in the send and schedule windows (*"Quota left after this send"*) and, in the campaign list, as a discreet line (*"Sends left: 2 today, 14 this week, 60 this month."*).
- Scheduled, repeated and automatic sends **also count**, one per send, when they go out.
- If a send would exceed any limit, it is **refused before it starts**, saying which limit and when it frees up. Nothing is sent halfway.
- Only Memberfy's SuperAdmin changes a community's quota; owners and admins cannot edit it.

### Opens and clicks

Memberfy always measures **opens** and **clicks** on links; it cannot be turned off. The numbers are **totals**, with nobody's name, and appear under **Sends**: **Recipients**, **Delivered**, **Opens**, **Clicks**, **Bounces** and **Complaints**. An open is an **estimate**: some e-mail apps open messages on their own. The e-mail footer tells the person the measuring exists.

### Unsubscribing

Every campaign e-mail carries an **Unsubscribe** link (and the unsubscribe button that e-mail providers show). The page *"Manage the e-mails you receive"* lets the person choose, **per community**:

| Choice | What changes |
|---|---|
| **Stop receiving announcements** | Leaves the campaigns. Still receives the community's notices (event reminders, certificates…) |
| **Stop receiving all e-mails** | Also stops the community's notices. The e-mails in the list below still arrive |

Unsubscribing applies to the **e-mail address in that community**; in another community the person keeps receiving. A click on the provider's button counts as *announcements*. The person can come back through the **I changed my mind, send me e-mails again** link or, logged in, through the **E-mails from this community** card in **My Account**, which offers **Receive everything**, **Block announcements** and **Block all e-mails**.

The **Opt-outs** tab shows the team who asked not to receive, with the e-mail partially hidden, the scope (*No announcements* or *No e-mail at all*) and the source (*E-mail link*, *One click in the e-mail* or *Profile preference*).

### E-mails that always arrive

Even with *all e-mails* blocked, the person still receives: password recovery and change, login alerts, access and verification codes, purchase and renewal receipts and legal notices. The card in **My Account** says so.

## Step by step

### Create, test and send

1. Under **Administration**, open **Campaigns** and click **New campaign**.
2. Fill in **Campaign name** and **Subject** (and, if you want, the **Preview text**).
3. Under **Content**, add the blocks (**Add text**, **Add button**, **Add image**) and write.
4. Under **Audience**, choose **Everyone** or **Choose the audience**.
5. Click **Save draft** and check the **Audience preview**.
6. Click **Send test to me**: the e-mail reaches only your address, with **[Test]** in the subject, and does not use the quota. There is a limit of tests per hour.
7. *Role: owner or admin.* Click **Send now**. The dialog *"Send this campaign now?"* shows how many people receive it, how many were left out and the quota left. Check *"I confirm these people are members of my community and agree to receive announcements."* and confirm with **Send now**.

A send **cannot be recalled**. The e-mails go out in batches, so a large community takes a while to deliver everything; the **Sends** numbers update as they arrive. Campaign e-mails do not delay security and purchase e-mails.

### Delete a draft

Open the draft and use **Delete draft**. Campaigns already sent cannot be deleted.

## Scheduling, repeating and following up

*Role to schedule, pause, resume and cancel: owner or admin.* In place of **Send now**, **Schedule send** opens the *"Schedule the send"* window, with the **Send type**:

| Type | When it goes out |
|---|---|
| **Once** | On the chosen date and time |
| **Every day** | Every day, at the chosen time |
| **Weekdays** | On the chosen days of the week, at the chosen time |

The date and time apply in the **community's time zone**, and the local time holds when daylight saving changes. A time in the past is refused.

- **The quota is used when the send goes out**, not when you schedule. Each repeated send uses one send. If there is no quota at that time, or the time passed more than 12 hours before the send could go out, the send is **skipped** and recorded, and the owner gets an e-mail (once per send). A skipped one-off send goes back to draft.
- **At each send, the audience and the content are read again**: whoever joined the community receives it, whoever left or unsubscribed does not. Automatic blocks show only what is new since the previous send (on the first one, the last 7 days).
- **With nothing new, it does not send.** The send is skipped and recorded as *"Skipped: there was nothing new to send."* Text, button and image count as content, so a text-only campaign always sends.
- **Pause** holds what has not gone out and keeps the next date; **Resume** continues only with what was missing; **Cancel campaign** ends it, and what already went out stays sent. The statuses are *Draft*, *Scheduled*, *Sending*, *Sent*, *Paused* and *Canceled*.
- A campaign that is no longer a draft cannot be edited: use the **Sending** panel to reschedule, pause or cancel.

### Following the sends

Under **Sends**, each send shows **Recipients**, **Delivered**, **Opens**, **Clicks**, **Bounces** and **Complaints** (and the unsubscribes), and **All sends combined** adds everything up. **It is numbers only**: nobody's name or e-mail. A skipped send shows the reason. **See it as a person gets it** opens the e-mail as it would go out now, without sending or using quota.

## Blocks with the community's content

Besides **Text**, **Button** and **Image**, the e-mail accepts blocks that pull in the community's own content:

| Group | Block | What it shows |
|---|---|---|
| **Automatic content** | **Latest posts** | 1 to 10 posts, from one space or from every open space |
| | **Upcoming events** | 1 to 10 events starting in the next days (1 to 90) |
| | **New courses** | The courses published since the previous send |
| | **New classifieds** | The new ads since the previous send |
| **Fixed content** | **A course**, **An event**, **A product** | A card linking to the chosen item (the product leads to the store) |

Each block accepts an optional section title. The content is read **at send time**.

- **Only what everyone in the audience can see goes in**: approved, live content, in spaces and sections open to all members (no plan, group or product required, and not private). **No paid content goes in the e-mail.** A fixed item that not everyone sees is refused on save; if it stops being visible later, it drops out of the e-mail.
- The **Image** block accepts **Upload image** (JPEG, PNG or WebP, up to 20 MB, reduced to 1200 px at most), **Replace image** and **Remove image**; or a pasted address.
- A send with no content at all is refused.

## Automatic e-mails

On the **Automatic** tab, the owner and admins have the **New automatic campaign** button, which creates a campaign scheduled for every day or for weekdays. The tab shows the ready-made templates (such as **Weekly updates**) and **Your recurring campaigns**. Under **Campaigns**, the default send is the **one-off** one.

The **Automatic** tab holds ready-made e-mails the platform maintains. The first is **Weekly updates**: a weekly summary with **Latest posts**, **New courses**, **Upcoming events** and **New classifieds** (choose which go in).

- **It comes off, in every community.** No community sends bulk e-mail on its own. The whole team sees the tab; only the owner and admins turn it on and adjust it.
- To **Turn on**, the window asks you to confirm it will send e-mail in volume, on the chosen day and time, **without you pressing anything**. You can turn it off whenever you want.
- Adjustable: day, time, subject, introduction and blocks. **Restore default** resets everything and turns it off.
- **A week with nothing new does not send.** The introduction alone does not trigger it.
- It respects unsubscribes, only carries content everyone sees, counts toward the quota and appears in the list and in the reports like any campaign. It cannot be sent, scheduled, edited or deleted from the ordinary screens.

## Protecting the sending reputation

- **Quota:** scheduled, repeated and automatic sends **also count**, one per send, when they go out.
- **First sends:** while the community has not completed any send, the audience is limited to **500 people**; above that, the send is refused before using quota.
- **Automatic pause:** if a send has passed 50 e-mails and more than **5%** came back as an address that does not receive (permanent bounce) or more than **0.3%** became spam complaints, the campaign **pauses on its own** (and so does the repeat), what is missing does not go out and the owners get an e-mail, once. Resuming is the owner's or admin's decision.

## What does not exist yet

Not available yet: a drag-and-drop visual editor, segmentation by behavior (for example, who did not open the last e-mail), A/B tests, importing contacts from outside the community, and sending by SMS or WhatsApp.

## Examples

**A notice to a cohort.** The team creates *"Opening class"*, chooses the group *March cohort*, sends the test, checks that 38 people receive it and 2 are left out (unsubscribed) and the owner sends.

**An announcement to everyone.** A short note, with a button to the community, for **Everyone**. If it is the third send of the day, Memberfy refuses before starting and says when the quota frees up.

## Common errors and how to fix them

| Situation | What to do |
|---|---|
| *Give the campaign a name.* / *Write the subject.* | Fill in the fields and save |
| *Every button needs text and a link starting with https://.* | Check the button |
| *Choose at least one group, tag or person, or send to everyone.* | Set the audience |
| *The audience is over 20,000 people…* | Narrow the audience or split into campaigns |
| Daily, weekly or monthly limit reached | The message says which and when it frees up; wait or talk to Memberfy |
| A person chosen by hand is refused | They unsubscribed: only they can opt back in |
| The **Send now** button does not appear | Only the owner and admins send |

## Frequently asked questions

**Can the person reply to me?**
Yes: replies go to the owner's contact e-mail.

**Can I see who opened it?**
No. The numbers are totals, with nobody's name, and opens are an estimate.

**If someone unsubscribes, do I lose contact?**
Only by campaign e-mail. The community's notices continue, unless the person blocks them all, and security and purchase e-mails always arrive.

**Is the quota per e-mail sent?**
No: it is per **send**. A send to 5 people and another to 5,000 use one each.

## In the API

`GET` and `POST /api/campaigns`, `GET`, `PUT` and `DELETE /api/campaigns/{id}` (draft only), `POST /api/campaigns/{id}/audience-preview`, `POST /api/campaigns/{id}/test`, `POST /api/campaigns/{id}/send` (body `consent: true`, answers `202`), `GET /api/campaigns/quota`, `GET /api/campaigns/opt-outs` and `GET` and `PUT /api/me/email-preferences`. Public unsubscribing lives at `/api/public/unsubscribe/{token}`. The reference for each route enters the [API reference](/api/referencia) page when campaigns are live.

## Related

- [Platform e-mails](/notificacoes/emails-da-plataforma)
- [Groups and org chart](/membros/grupos-e-organograma)
- [Tags](/membros/tags)
