Subject Line
The subject is the first thing recipients see and the single biggest driver of whether they open your email. Lettr’s Compose step gives you two helpers:- AI subject generation — if you fill in a prompt when starting the campaign, Lettr suggests a subject line based on what you described. Useful as a starting point even if you rewrite it.
- Spam check — click the spam check button next to the subject field and Lettr runs an AI scan that flags words and patterns commonly associated with spam filters (excessive punctuation, all-caps phrases, urgency words). You’ll see specific warnings rather than just a score.
Welcome to Acme, {{first_name}}! — just like in the body.
Sender Details
Three fields make up the sender:| Field | Description |
|---|---|
| From address | A local part you choose plus a domain from your team’s verified sending domains. For example, newsletter@yourdomain.com. |
| From name | The display name shown next to the address in the recipient’s inbox. Use your brand or product name. |
| Reply-to | Optional. Leave blank to keep replies going to the from address, or set a separate address (for example, a support inbox). |
Content Editors
The body of a campaign can be built three ways. You can mix and match — for example, design the foundation in the visual editor and then drop into the HTML editor for fine-tuning.Visual Editor
The default editor is a drag-and-drop builder (powered by Topol). It exposes pre-built content blocks — headers, columns, buttons, images, dividers, footers — that you arrange in a canvas. The editor handles responsive design, dark-mode rendering, and the email-safe HTML output for you. This is the right choice when:- You want to produce a polished, branded email without writing HTML
- You’re comfortable working visually rather than in code
- Your campaign needs to look good across many email clients (the editor outputs MJML-based markup that’s been tested for cross-client compatibility)
Raw HTML Editor
If you have a custom design that doesn’t fit the block model — or you’d rather paste in HTML you’ve built elsewhere — open the full-screen HTML editor (the Edit content button in the builder). You get:- A code editor with syntax highlighting on the left
- A live iframe preview on the right
- An AI chat panel that can apply natural-language edits to the HTML (for example “make the button blue”, “shorten the intro paragraph”)
- You’re starting from existing HTML email markup
- You need fine control over inline styles, dark-mode CSS, or specific client quirks
- You want to use Lettr’s AI to iterate quickly on a hand-coded design
Linking a Template
You can link a campaign to one of your templates instead of writing content directly. To link, choose Use template in the Compose step and pick a template marked for campaign use. Linking does two things:- Copies the template’s HTML into the campaign so you can preview, test, and send
- Sets up a sync between the template and any Draft campaigns linked to it
Personalization
You can personalize the subject and body with merge tags that pull values from the recipient’s contact record. The syntax is{{name}} — wrap any custom property name in double curly braces.
- The recipient’s email — always available as
{{email}} - Custom properties you’ve defined for your team — see Custom Properties
The Unsubscribe Link
Every campaign you send through Lettr must include an unsubscribe mechanism. Lettr exposes this as a merge tag:{{unsubscribe_link}}. At send time it’s replaced with a unique per-recipient URL that, when clicked, marks the contact as unsubscribed and fires the corresponding webhook event.
A typical footer looks like:
Automatic Fallback Footer
Because the unsubscribe link is mandatory for marketing campaigns (transactional: false), Lettr enforces it for you. If your campaign HTML doesn’t contain {{unsubscribe_link}} (or the raw SparkPost variant {{unsubscribe_url}}) by the time you send, Lettr automatically appends a minimal default footer right before the closing </body> tag. The same fallback is applied to test emails so they always remain compliant.
You’ll see this surfaced as a warning in the campaign builder in two places:
- In the HTML editor: a banner above the code editor flags that no unsubscribe tag was found and offers an Insert link button that drops a styled footer into your HTML.
- On the Review step: the same warning appears next to Send a test email, reminding you that Lettr will append the default footer to the test send and to every real send.
{{unsubscribe_link}} to your own footer and the auto-append is skipped.
The Web-version Link
For recipients whose email client renders your campaign poorly (older Outlook versions, dark-mode quirks, image blocking, very narrow mobile clients), Lettr provides an optional merge tag that links to a hosted, in-browser version of the email:{{webversion_link}}.
When the campaign sends, the tag is replaced with a unique signed URL for that recipient. Opening it loads a personalized render of the email, with the recipient’s merge values already substituted in.
A typical header link looks like:
{{webversion_link}} in your HTML, nothing is added automatically and no hosted page is generated for that send. Unlike the unsubscribe link, there’s no fallback and no warning in the editor.
Previewing Your Campaign
Before sending you can:- See a live preview of the rendered email in the builder
- View a screenshot thumbnail of the campaign on the Campaigns list
- Send a test email to verify rendering and merge tag substitution in a real inbox
Sending a Test Email
From the Compose or Review step, click Send test email and enter one or more recipient addresses (yourself, teammates, a QA address). The test arrives as a transactional email; tracking is disabled on tests to keep them out of campaign analytics. Tests are rate-limited to prevent accidents. Tests use sample data for merge tags rather than real recipient values — they’re for checking layout and merge tag syntax, not for confirming personalization for a specific contact.Editing Sent Campaigns
You cannot edit a campaign that has been sent. The content is frozen at the moment the send begins. If you need to send a corrected version:- Duplicate the original campaign
- Make your edits in the duplicate
- Send the duplicate to the same (or a smaller) audience
Next Steps
Audience Selection
Pick who receives the campaign
Sending & Scheduling
Send the campaign or schedule it for later
Templates
Reuse designs across campaigns
Template Language
Full merge tag syntax reference