# Email Template Design Best Practices — Using AcelleMail's Builder Right

> Single column on mobile, alt text on every image, preheader you actually wrote, button width tested in real clients — most "best practice" lists are abstract. This one walks the AcelleMail builder showing where each setting lives and what to verify in Preview before you Send.

- Canonical URL: https://acellesend.com/kb/articles/email-template-design-best-practices
- Author: Sofia Lindqvist, Email Marketing Editor
- Category: Email Marketing — Campaign creation, templates, A/B testing, personalization, scheduling
- Content type: tutorial · Difficulty: beginner
- Tags: Acellemail
- Published: 2026-02-17 · Last updated: 2026-08-15
- Reading time: 6 min
- Publisher: AcelleMail Knowledge Base, https://acellesend.com/kb

---

## Six rules worth keeping, six places to verify them in AcelleMail

Email design best practices are everywhere, mostly abstract. This guide ties each rule to a specific control in AcelleMail's builder so you know where to look (and where to fix) before launching.

### 1. Single-column on mobile (60%+ of opens)

In the AcelleMail email builder, **drag a 1-column block** as your primary content container. Multi-column blocks (2-col, 3-col) stack vertically on mobile by default, which usually works — but only if each column is at least 280px wide on desktop. Below that, text crams and CTA buttons get cut off.

Verify in Preview:

![Mobile preview — confirms stacking](https://acellesend.com/plugins/acelle/landing/images/help/kb/preview/02-mobile-preview.png)

Toggle desktop ↔ mobile in the Preview header. If the mobile view shows side-by-side columns crushed into 320px, restructure to single column.

### 2. Preheader text — the second subject

The preheader is the gray text shown after the subject in most inbox lists. Inboxes auto-grab the first text from the email body if you don't set one — usually "Trouble seeing this email? View in browser" — wasted real estate.

Set it explicitly: campaign builder → **Campaign settings** → **Preheader** field (also called "Pre-header" or "Subject snippet" in some installs). Keep it 40-100 characters. Treat it as a second subject line — different angle, supports the main subject.

### 3. Alt text on every image

In the builder, click any image block → right panel **Image properties** → **Alt text** field. Three reasons it matters:

- Email clients with images off (corporate clients, "image off by default" filters) show alt text in place
- Screen readers announce alt text aloud
- Email reputation: image-only emails (no text alongside) trip spam filters

Standard: alt text on every image. Decorative images get `alt=""` explicitly (empty, not missing — screen readers skip them then).

### 4. Buttons: 44px tall minimum, real text

In the AcelleMail builder, the **Button block** ships at the right height by default (48px). Don't shrink it below 44px on mobile — Apple's iOS Human Interface Guidelines minimum tap target.

Real text on the button — "Get my 20% discount" beats "Click here". Click-through rate measurably improves: the button text now answers the recipient's "What's in it for me?" before they tap.

### 5. Dark-mode safety

In Apple Mail and Gmail on iOS/Android, dark mode inverts light backgrounds + flips text to white. Most templates survive, but logos with transparent PNG against a "light blue" background look terrible when the blue becomes navy.

Test by sending yourself a test email and viewing on an iPhone or Android with dark mode on. If anything looks broken, the fix is usually: change a transparent PNG to a solid-background PNG (white box around the logo) so it doesn't invert.

### 6. One primary CTA per email

Email isn't a landing page — one offer per send. If you have a secondary action (e.g. "or read the docs"), make it a text link below the button, not a second button. Multiple buttons compete for attention and the click-through rate of both drops vs. a single button.

## Use Preview + A/B to verify before sending

### Send a real preview to yourself

Builder → **Preview** → Mobile/Desktop tabs:

![Campaign preview — desktop view](https://acellesend.com/plugins/acelle/landing/images/help/kb/preview/01-campaign-preview.png)

For real-client testing, click **Send test** in the campaign settings — sends a real email to addresses you specify. Open on your phone, your laptop, Outlook web, Gmail web. Anything that looks broken there will look broken in your subscribers' inboxes too.

### A/B test the subject + preheader

AcelleMail's built-in **A/B Test** lets you split subjects (or preheaders, or content) before committing the full list:

![Pick A/B test campaign type](https://acellesend.com/plugins/acelle/landing/images/help/kb/ab-test/01-select-ab-test.png)

Pick the type when you create the campaign:

![A/B test setup screen](https://acellesend.com/plugins/acelle/landing/images/help/kb/ab-test/02-ab-test-setup.png)

Define the variants:

![Variants tab](https://acellesend.com/plugins/acelle/landing/images/help/kb/ab-test/03-variants-tab.png)

Pick the winner rule — usually highest open rate after 4-12 hours on a 20% sample, then send the winner to the remaining 80%:

![Winner rule picker](https://acellesend.com/plugins/acelle/landing/images/help/kb/ab-test/04-winner-rules.png)

The completed test report shows which subject/preheader won + the delta:

![A/B test report](https://acellesend.com/plugins/acelle/landing/images/help/kb/ab-test/05-ab-report.png)

## Common UI signals + fixes

| Symptom in Preview | Likely cause | UI fix |
|---|---|---|
| Layout breaks on mobile | Multi-column block, columns too narrow | Replace with single-column block |
| Text shows as alt text in test inbox | Receiving client blocks images | Add visible text near every image (don't rely on alt alone) |
| Subject "Trouble seeing this email?" in inbox preview | Preheader not set, client grabbed first text | Set explicit preheader in campaign settings |
| Spam folder on test send | Image-heavy, no plain text version | Builder → toggle **Plain text version** → ensure it has real content, not auto-stripped HTML |
| Button looks tiny on mobile preview | Button height < 44px | Click button → set min-height 44px in properties |
| Logo disappears in dark mode | Transparent PNG | Replace with solid-background PNG |

<details>
<summary><strong>Advanced: raw HTML edits, custom MJML, and inline-style discipline</strong></summary>

For teams managing brand-system email templates or migrating from another platform, the AcelleMail builder supports raw HTML editing.

**Switch to HTML mode:**

Builder → top-right toggle → **Source** mode. Paste or hand-edit HTML directly.

**Email-safe HTML rules** (different from web HTML):

- Tables for layout (Outlook desktop still requires it)
- Inline styles only — `<style>` blocks in `<head>` are stripped by Gmail
- Width fixed in pixels for desktop containers (e.g. `width="600"`), but media queries handle mobile
- No `position: absolute` — Outlook ignores it entirely
- No web fonts on first-tier reliability — use system font stack fallbacks (`-apple-system, BlinkMacSystemFont, Segoe UI, sans-serif`)

**MJML** is the industry tool to write email HTML reliably:

```mjml
<mjml>
  <mj-body>
    <mj-section>
      <mj-column>
        <mj-text font-size="20px">Hello {{ subscriber.first_name }}</mj-text>
        <mj-button href="https://example.com">Get started</mj-button>
      </mj-column>
    </mj-section>
  </mj-body>
</mjml>
```

Compile MJML to email-safe HTML via the [mjml CLI](https://mjml.io) or the online editor, then paste the compiled HTML into AcelleMail's Source mode. The compiled output handles Outlook quirks, dark mode safety, mobile media queries — manually.

**Litmus / Email on Acid** are paid services that screenshot your email across 90+ real client/device combinations. Worth it for large lists, brand-sensitive sends. AcelleMail's built-in preview covers ~90% of real-world layouts; the paid services catch the long tail (Outlook 2007, Lotus Notes, Yahoo Classic).

**Template versioning** — for teams iterating on a master template, the AcelleMail **Templates** library (sidebar → Templates) lets you save a finalised template and clone it for each campaign rather than re-building from scratch. Update the master to propagate brand-color changes; existing campaigns keep their snapshot at save time.

**CI-side validation** for engineering teams hand-editing HTML — run `html-validate` or `mailparser` against the compiled email before pushing to AcelleMail's template library. Catches malformed tags, missing alt attributes, and dead links automatically.

</details>

## Related articles

- [Personalization beyond first name — advanced merge tags](https://acellesend.com/kb/articles/personalization-beyond-first-name-advanced-merge-tags)
- [Understanding email client rendering differences](https://acellesend.com/kb/articles/understanding-email-client-rendering-differences)
- [Setting up UTM parameters for campaign tracking](https://acellesend.com/kb/articles/setting-up-utm-parameters-for-email-campaign-tracking)
- [A/B testing email campaigns — best practices](https://acellesend.com/kb/articles/ab-testing-email-subject-lines-for-better-open-rates)

---

## Related articles

- [How to Write Email Copy That Converts — The Practical Framework](https://acellesend.com/kb/articles/how-to-write-email-copy-that-converts): You've got the list, the template, the schedule. What goes in the body? This guide is the practical copywriting framework — what to say, how to structure it, how to verify it lands. Less theory, more "type this, not that."
- [A/B Testing Email Subject Lines for Better Open Rates](https://acellesend.com/kb/articles/ab-testing-email-subject-lines-for-better-open-rates): A/B testing the subject lifts open rates 10-30% sustainably. AcelleMail's built-in A/B feature splits your list, picks the winner automatically, ships the winning variant to the rest. This guide walks the setup + the discipline that makes the test meaningful.
- [Your First Email Campaign in AcelleMail — The 7-Step Walkthrough](https://acellesend.com/kb/articles/creating-your-first-email-campaign-in-acellemail): A guided walk through AcelleMail's campaign builder from "New campaign" button to "Launch" button. Subject + recipients + template + schedule + confirm — visual flow + the decisions at each step.
- [Campaign Scheduling and Timezone Optimization in AcelleMail](https://acellesend.com/kb/articles/campaign-scheduling-and-timezone-optimization): When you send a campaign at "9am" — whose 9am? Yours, your subscribers'? AcelleMail's scheduler defaults to your account timezone. This guide walks the UI + timezone-aware patterns + send-time optimization.
- [Preheader Text — The Hidden Conversion Booster in AcelleMail](https://acellesend.com/kb/articles/email-preheader-text-the-hidden-conversion-booster): After the subject line, recipients see the preheader — the gray text snippet that follows. Setting it explicitly can lift open rates 5-10% over the auto-extracted default. This guide walks the AcelleMail field + the writing patterns.
