# Newsletter

> Collect subscribers on your website, in the chat and in contact forms, then send them newsletters in your brand's look.

Updated 2026-10-27

People who already talk to you are the best subscribers. Luxivo collects them where they are, on
your website's own form, in the chat widget and in your contact forms, and sends them newsletters
written with blocks, in the same look as your other e-mails to customers.

You'll find everything under **Newsletter** in the dashboard: campaigns, subscribers, lists with
their signup forms, and the sender.

## Lists

A list is what people subscribe to, for example "News and offers". Most companies need just one,
and you don't need a chat widget for it: set the list's language, its color and the websites its
signup form may be sent from (empty allows any). If you have a widget, you can pick it instead, and
the list uses that widget's logo, color, footer and language (**E-mail → Look**) and its allowed
websites.

- **Logo** shows on the signup, confirmation and unsubscribe pages and on top of the list's e-mails.
- **Signup page** sets the heading, the button text, the thank-you message and whether to ask for a
  name on the hosted page.
- **Confirm by e-mail (double opt-in)** is on by default. New subscribers get an e-mail with a
  button and join only after clicking it. It keeps typos and fake addresses off the list, and it is
  expected in Germany and Austria.
- **Welcome e-mail** goes out once someone is subscribed. `{name}` and `{email}` are filled in.

## Signing people up

### A form on your website

Open the list's **Signup form** for the code. A plain HTML form posts to the list's address:

```html
<form action="https://luxivo.app/s/nl_your_key" method="post">
  <input type="email" name="email" required>
  <input type="text" name="name">
  <input type="text" name="_gotcha" tabindex="-1" autocomplete="off" hidden>
  <button type="submit">Subscribe</button>
</form>
```

Other fields (`company`, `city`…) are kept with the subscriber and work as variables in campaigns.
Add a hidden `_redirect` with a page of your website to bring people back there, and `_consent` with
the text of your consent checkbox to keep it as the record. Without `_redirect`, people land on a
short page in your widget's language.

To stay on the page, send it with `fetch` and `Accept: application/json`. The answer is
`{ ok: true, status: "pending" | "subscribed", message }` or `{ ok: false, error }`.

### The signup page

Every list has a hosted page, `https://luxivo.app/subscribe/nl_…`, for links in your bio, e-mail
signature or a QR code.

### In the chat

Under **Chat → your brand → Behavior → Newsletter signup**, pick a list. When the widget asks for the
visitor's e-mail, a checkbox below it offers the newsletter. The default text is in the widget's
language ("Send me news and offers by e-mail"), or write your own.

### In contact forms

Under the form's **Settings → Newsletter signup**, pick a list. Senders who tick a checkbox named
`newsletter` (or the name you choose) join the list. Describe that checkbox in **Fields** with its
consent text, and the text is stored as what they agreed to.

### Import and by hand

**Subscribers → Import** takes a CSV with an e-mail column, from Mailchimp, a spreadsheet or your
shop. Names and other columns come along. You confirm that everyone in the file agreed to get your
e-mails. Imported people are subscribed without a confirmation e-mail. Anyone who unsubscribed or
bounced before stays that way.

### API and AI apps

`POST /api/v1/subscribers` with `listId`, `email` and optional `name`, `attributes` and
`consentText` signs someone up, following the list's double opt-in (see [API](/docs/api)).
Connected AI apps can list subscribers, add people who asked for the newsletter and write campaign
drafts (see [AI apps](/docs/mcp)). They never send.

## Writing a campaign

**Campaigns → New campaign**, pick the list, then write:

- **Subject** and **preview text**, the line inbox apps show after the subject. **Ideas** suggests
  subjects from your content.
- **Blocks**: heading, text, image, button, divider, space, help article and social links. Text
  takes **bold**, *italic*, [links](https://example.com) and lists. Move blocks with the arrows.
- **Write with AI** drafts a text block from a sentence about the topic, using facts from your
  knowledge base and leaving [placeholders] for what it doesn't know. Each text block can be
  improved, shortened or made friendlier or more formal.
- **Variables**: `{name}`, `{first_name}`, `{email}` and imported columns like `{company}`.
  `{name|there}` falls back to "there" when the name is empty.

The preview on the right is the real e-mail. **Send me a test** mails it to you.

## Sending

**Send or schedule** checks what's missing first: the sender, the postal address, a subject, button
links. Then send now, or pick a time. Big lists go out over a few hours, so mail providers trust the
sending, and you can pause and resume at any time.

Every newsletter carries your postal address, the reason the person gets it and an unsubscribe
link. Gmail, Yahoo and Apple Mail also show their own "Unsubscribe" button (one-click unsubscribe).

### The sender

Under **Newsletter → Sender**:

- **From address**: newsletters go out from Luxivo's sending domain, like `yourcompany@news.luxivo.app`,
  with your company's name. A domain made only for newsletters keeps them out of spam folders and
  protects your own domain's reputation.
- **Reply-to address**: answers go there. Your own account e-mail is confirmed at once, any other
  address gets a link to click.
- **Postal address**: anti-spam laws require it in every newsletter.

## Report

A sent campaign shows how many e-mails were sent and delivered, the open and click rates,
unsubscribes, bounces and spam complaints, and which links people clicked. Opens are an estimate:
Apple Mail loads images for everyone, and some apps never do. Clicks are exact. You can turn off
counting opens and clicks under **Sender**.

Addresses that bounce or mark the e-mail as spam stop getting your newsletters. If more than 5% of a
campaign bounces, or more than 0.3% marks it as spam, sending pauses by itself. That usually means
an old or bought list: remove those addresses before resuming.

## Plans

| Plan | Subscribers | Campaign e-mails a month |
| --- | --- | --- |
| Free | 500 | 2,000 |
| Starter | 2,000 | 10,000 |
| Pro | 10,000 | 50,000 |
| Business | Unlimited | Unlimited |

Confirmation and welcome e-mails don't count. On Free, newsletters end with a small "Sent with
Luxivo" line.

## Privacy

Each subscriber's consent is stored: when, from which page and IP, and the text they agreed to. A
visitor's data export includes their subscription, and deleting a visitor deletes it.
**Subscribers → Delete with history** erases one person, and **Export** downloads everyone as CSV.
