What the preheader is
The preheader is the gray text shown immediately AFTER the subject line in most inbox lists. Examples:
Inbox preview:
─────────────────────────────────────────────
Brand Marketing · Last chance for 20% off
The sale ends tonight — your discount code...
─────────────────────────────────────────────
↑
Preheader
If you don't set the preheader explicitly, the inbox auto-grabs the first text from your email body. Usually this is garbage like "Trouble seeing this email? View in browser" — wasted real estate.
Setting an explicit preheader = 5-10% higher open rates, measured across many senders.
Set the preheader in AcelleMail
In the campaign builder's Setup step, find the Preheader field. It sits next to the Subject:

Type your preheader text. Once typed:

Save. The campaign's metadata now includes both subject + preheader; receiver inboxes display both.
Preheader writing patterns
Treat the preheader as a "second subject line" — different angle, complementary message:
| Pattern |
Subject |
Preheader |
| Extend the subject |
"Last chance for 20% off" |
"Discount ends tonight at midnight" |
| Add urgency |
"Spring sale is live" |
"1,247 customers already saved $40+" |
| Soften with empathy |
"We noticed you're inactive" |
"No pressure — just curious how you're doing" |
| Curiosity tease |
"This is the email I should have sent last month" |
"Better late than never. Let me explain..." |
| Concrete benefit |
"Your weekly digest is here" |
"5 actionable tips, 5 minute read" |
| Personalization |
"{{ subscriber.first_name }}, here's your update" |
"We've been working on something — hope it helps" |
Length matters#
Preheaders display ~40-100 characters in most inboxes:
Apple Mail iOS: ~50 chars before truncation
Gmail desktop: ~80 chars
Gmail mobile (Android): ~55 chars
Outlook desktop: ~60 chars
Yahoo: ~70 chars
Aim for 40-80 chars. Front-load the most important words.
Verify in Preview#
After typing the preheader, click Preview in the campaign builder:

The preview shows the full email body but NOT the inbox-preview format. For the actual recipient-side inbox view:
- Click Send test → send to your own personal Gmail / Outlook
- Open the test in each client
- Verify the preheader text is what you typed (not the auto-extracted default)
In mobile view:

Common UI signals + fixes#
| Symptom |
Likely cause |
Fix |
| Preheader field grayed out |
Selected campaign template overrides preheader |
Some templates hardcode preheader; remove the override in template settings |
| Preheader saved but inbox shows "View in browser" |
Preheader text contains hidden HTML / image alt text first |
Verify preheader is plain text only |
| Preview shows preheader, real inbox doesn't |
Inbox auto-extracted first body text instead |
Add hidden preheader markup at top of email body (advanced) |
| Mobile preview truncates the preheader |
Too long |
Cut to 40-50 chars front-loaded |
| Preheader includes merge tags that don't resolve |
Tag name mismatch |
Use `{{ subscriber.first_name |
| Test send shows preheader correctly in 3 of 4 clients |
Client-specific auto-extraction differences |
Lengthen the explicit preheader to 80+ chars to ensure all clients use it |
Common preheader mistakes
| Mistake |
Why it hurts |
| Leaving preheader blank |
Inbox auto-extracts garbage ("View in browser") |
| Repeating the subject verbatim |
Wasted space; no incremental signal |
| Putting the unsubscribe link in preheader |
Recipient sees "unsubscribe" before opening — reduces open rate |
| Cramming 200+ chars |
Most gets truncated; first 40 chars are all that matter |
| Using emoji-only preheader |
Some clients render as boxes; not all support emoji |
| Generic ("Hi there!") |
Provides no incremental signal |
What to put in the preheader
Best uses (ranked by reliability):
- Restate the benefit + add urgency — "Sale ends tonight"
- Show social proof — "1,247 customers already saved"
- Hint at content — "5 actionable tips inside"
- Tease curiosity — "Wait until you see #3..."
- Personalize — "Maria, your update is ready"
Worst uses:
- Generic greeting ("Hello!")
- Sender reminder ("From Brand")
- Already-in-subject information (redundant)
- Unsubscribe link (kills open rate)
- "View in browser" (signals automation; lowers trust)
Advanced: hidden preheader markup + A/B testing preheaders + per-segment preheader personalization
Hidden preheader markup (for ensuring the right text appears even when inboxes auto-extract):
Most email templates include hidden preheader text at the top of the body:
<!-- Preheader (hidden visually; readable by inbox extractors) -->
<div style="display: none; max-height: 0; overflow: hidden;">
Your preheader text here. Cannot exceed ~80 chars to avoid truncation.
</div>
Then add invisible filler to push the actual email content:
<div style="display: none; max-height: 0; overflow: hidden;">
‌ ‌ ‌ (etc — pad with zero-width-non-joiner)
</div>
The inbox extractor reads the first ~80 chars; recipients see only the visible email body.
AcelleMail's builder handles this automatically when you set the Preheader field. For raw HTML mode, add it yourself.
A/B testing preheaders:
If your subject lines are well-optimized, the next ROI lever is preheader testing:
- New campaign → A/B test type
- Variant A: "Sale ends tonight"
- Variant B: "1,247 customers already saved"
- Same subject + same body for both
- Test on 20% sample; winner sends to 80%
Subject + preheader together = "what they see before opening." Combined optimization yields compound gains.
Per-segment preheader personalization:
For sophisticated segmentation, vary the preheader by audience tag:
Engaged segment: "You're one of our most active subscribers"
At-risk segment: "We've missed you — here's something to come back"
New segment: "Welcome — here's the catch-up you've been waiting for"
In AcelleMail, this requires per-segment campaign splits (one campaign per segment with appropriate preheader). Some senders use dynamic Liquid in the preheader:
{% if 'vip' in subscriber.tags %}VIP early access — 24h before everyone else
{% else %}Spring sale starts now{% endif %}
But preheader display from receiving clients can be unpredictable with dynamic content — test before relying on this.
Preheader for transactional emails:
For password resets / receipts / order confirmations, the preheader should:
- Mention the action briefly ("Password reset link inside")
- NOT include sensitive details (not "Your code: 123456" — visible in inbox preview = security issue)
- NOT include the unsubscribe link (transactional emails don't have one)
Transactional subject: "Your password reset link"
Transactional preheader: "Click below; expires in 30 minutes"
Multi-language preheaders:
For multilingual senders:
{% if subscriber.locale == 'es' %}Última oportunidad: 20% de descuento
{% else %}Last chance: 20% off{% endif %}
Test in Spanish-speaking + English-speaking client previews to ensure render correctly.
Related articles#