Email sending & templates

Overview
This is where things actually go out. An email campaign ties together audience, template and sender brand — the brand also supplies the legal notice and the footer.
Sending runs through one path. Campaigns and automations use the same engine, the same throttle and the same accounting; there is no second send path. Sending is idempotent per recipient: an address that has already been served is skipped when the run is triggered again.
Templates carry the content: merge placeholders in the form {{ field }}, brand styling and an unsubscribe block that is guaranteed to be inserted at send time — including the unsubscribe header the mailbox understands.
Templates are built in a visual block editor: section, columns, text, heading, image, button, divider, spacer, social links, brand header and footer. What gets stored is the block tree; the HTML that goes out is produced from it when you save. If you would rather write HTML, switch the template to HTML mode — both sit side by side, and an existing template stays in HTML mode until you switch it yourself.
Core tasks
Build a template. Insert blocks from the left column, see them rendered for real in the middle, configure them on the right. A newly inserted block lands inside the selected container or directly after it — not at the end. Move, duplicate, remove and undo sit in the right-hand panel; a block moved up at the top edge of its column steps one level out rather than staying trapped there.
Colours are roles, not colour values. A block gets "primary" or "text", not #0a5. What that becomes is decided by the brand — the same template looks right under two brands without anyone maintaining it twice. A fixed custom colour is possible where it is genuinely wanted.
Maintain two languages. Through the language picker in the editor header. You edit in one language at a time; styling applies to all of them. Only text becomes language-dependent — a language-dependent colour would be a second design, not a second text.
Check before it goes out. Preview as desktop (640 px) and mobile (360 px), plus a dark preview. The test send delivers the template to an address of your choice — the only reliable check, because every mailbox renders differently.
Create a campaign. Subject, template, audience, sender brand. Optionally a second subject line for an A/B test.
Campaign content instead of template copies. A template can contain content slots (the "content area" block). The campaign fills only those slots — the frame stays locked. That gives a weekly newsletter exactly ONE template instead of a copy per issue, and a correction to the frame applies to every future issue. Content is editable while the campaign is a draft or scheduled; from the send onwards it is not.
Deliberate, worth knowing: changing the template also affects campaigns that are already scheduled. There is no freezing — otherwise a correction to the frame would have no effect exactly when it is needed.
Send. The run expands the audience into recipients and checks consent and suppression per address. Delivery is throttled and runs in the background — with large volumes the send continues while you keep working.
Read the results. Deliveries, opens, clicks, bounces and complaints are logged per recipient and condensed onto the campaign. The basis is first-party link wrapping and an open pixel — the click data stays in the system, not with a third party. Addressing works through a recipient token; click links additionally carry a signature so this does not become an open redirector.
React to events. An unsubscribe takes effect immediately: consent is withdrawn and the address is suppressed. Bounces and complaints also lead to suppression; a plain delivery confirmation does not.
Fields in detail
The What it does column answers what changes in the system — not what the field is called. The grey name behind the label is the API field: the same thing runs under that name through automation, import and AI tools.
Dispatch
| Field | Required | Values / format | What it does |
|---|---|---|---|
Name name | yes | text, max. 200 characters | What the dispatch is called in list and reporting — for you, not for the recipient. |
Campaign campaignId | no | an existing campaign | Which campaign the dispatch belongs to. Only then does its result count towards the campaign goal. |
Audience audienceId | yes | an existing audience | Who receives the message. With a rule-based audience it is evaluated at the start, not on creation. |
Subject subject | yes | text, max. 255 characters | The subject line. It decides opening more than the whole content does. |
Template templateId | no | an existing email template | Design and frame of the mail. |
Content blocks contentBlocks | no | blocks of the mail | The content: text, images, buttons, products. Placeholders resolve per recipient. |
Sender brand fromBrandId | yes | one of your brands | Who sends. It determines sender address, imprint and unsubscribe page — all three legally required. |
Scheduled for scheduledAt | no | point in time | When the dispatch starts. Empty means immediately on release. |
Test address testEmail | no | address | Where the test mail goes. It goes through the same preparation as the real send — which is why it shows what recipients will see. |
A/B test
| Field | Values / format | What it does |
|---|---|---|
Subject variant B subjectVariantB | text, max. 255 characters | The second subject tested against. |
Test settings abConfig | split, test size, winning criterion | How the test runs: what share the variants go to, how the winner is recognised and when the rest receive it. The test does not raise the budget — it splits the same set of recipients. |
Email template
| Field | Required | Values / format | What it does |
|---|---|---|---|
Name name | yes | text | What the template is called in the selection. |
Subject subject | no | text | Default for the subject. |
Body (HTML) bodyHtml | no | formatted text | The designed version. |
Body (text) bodyText | no | text | The plain text version. It is not decoration: some programs show only it, and its absence worsens deliverability. |
Editing mode contentMode | no | builder or HTML | Whether the template is built from blocks or maintained as HTML. |
Design design | no | colours, fonts, spacing | The look of the frame. |
Merge fields mergeFields | no | list of fields | Which recipient data may be inserted. |
Unsubscribe block unsubscribeBlock | no | text | The unsubscribe notice in the footer. It must be present — an advertising send without a working unsubscribe is not permitted. |
Translations translations | no | content per language | How the mail looks in other languages. Recipients get theirs where it is stored. |
Brand brandId | no | one of your brands | Which brand the template belongs to. |
Settings & permissions
- Module
module.marketing. marketing.campaign.manage— maintain campaigns and templates (role Vertrieb).marketing.campaign.send— trigger sends. Elevated, pre-assigned to no role.- A sending provider must be configured. Without stored credentials campaigns, tracks and
double-opt-in mails fail — the dashboard says so explicitly. Set it up under Integrations.
- Statuses for email campaigns are configurable, see Marketing settings.
FAQ & troubleshooting
The send starts but nothing arrives. With no sending provider configured nothing is delivered. That fails loudly, not silently — check the integrations.
Fewer recipients than audience members. Consent, suppression and duplicates are subtracted at send time, see Audiences.
Triggering again sends twice. No. Addresses already served are skipped.
My template has no unsubscribe link. It is inserted at send time anyway. A marketing send without a way to opt out is not on offer.
The template looks fine in the editor but not in the mailbox. Mailboxes render differently, Outlook most of all. The editor already produces table layout with directly applied styles — the most robust form there is. Still, check with a test send in the mailbox your recipients actually use.
An old draft cannot be edited visually. Templates from before the block editor are in HTML mode. Their HTML can be taken over as ONE block and then replaced piece by piece — an automatic conversion would change the template without anyone seeing it.
The open rate looks low. Opens are measured with an image pixel; mailboxes that block images do not show up. Clicks are the more reliable figure.