Catch it before it ships
Every email is automatically checked before it goes anywhere near an inbox. Broken links, missing alt text, Gmail clipping, leftover placeholder copy, found and flagged while there's still time to fix them.
Deterministic, AI, and visual checks, with severity your organization controls.
Links & images verified
31 links and 12 images fetched — all resolve
Gmail clipping
Email size is well under the clipping limit
Text legibility
Headline is hard to read against the hero image
Spelling & grammar
“Recieve” found in the hero copy
Custom rule: Discount ceiling
40% off exceeds your 20% approval threshold
Unrendered merge tags
{{first_name}} found in the preheader
Placeholder copy
“Headline goes here” detected in the hero module
4 layers of checks, on every revision
You don't run pre-flight checks, they run themselves. Every time a campaign changes, four layers of analysis kick in automatically, so problems surface the moment they appear, not the day you want to send.
Static analysis
The HTML of every revision is analyzed for structural problems: email size against the Gmail clipping limit, leftover merge tags, script tags, external CSS dependencies, and more.
Live network verification
Every link and image in your email is actually fetched over the network and verified to resolve. Not pattern-matched, but requested, followed, and confirmed.
AI copy review
AI reads your email the way a careful colleague would: spelling and grammar, semantic placeholders, tone of voice, subject line alignment, and CTA clarity.
Visual render review
A multimodal AI looks at a screenshot of the rendered email, the way a human reviewer would, and flags broken layout, illegible text, buried CTAs, and images that contradict the copy.
The embarrassing stuff, caught automatically
The mistakes that slip past a manual review are exactly the ones a machine never misses. Deterministic rules handle the objective checks; AI handles the judgment calls.
Size & structure
- Email size vs. the Gmail clipping limit
- Leftover merge tags ({{...}} and [TOKEN] residue) in body, subject, or preheader
- Script tags in the HTML
- External CSS dependencies
Copy
- Placeholder text: lorem ipsum, [INSERT], TBD
- Subject line present and within recommended length
- Preheader present and within range
Links & images
- Every link and image fetched and verified to resolve
- HTTPS-only images
- Empty or # links
- Missing UTM parameters on tracked domains (configurable)
- Image weight limits, per image and total, including GIFs
Accessibility
- Alt text on images
- HTML language attribute
- Minimum font size
- WCAG AA color contrast
- Link accessible names
- Heading structure
- Reflow at 200% zoom
AI copy checks
- Spelling & grammar
- Semantic placeholder detection ("Headline goes here")
- Tone-of-voice match against your org's configured tone
- Subject and content alignment
- CTA clarity
- Descriptive link text, "click here" gets flagged
- Alt text quality, not just presence
Visual render checks
- Layout integrity, no overlapping or clipped elements
- Text legibility in the actual render
- Images render correctly, no broken or stretched images
- CTA prominence, the primary button is findable
- Imagery matches the copy
Custom AI rules
- Define up to 10 of your own checks in plain language
- "Never mention discounts above 20%"
- Add examples and thresholds per rule
Your rules, written in plain language
Every team has rules no off-the-shelf checker could know, legal requirements, brand quirks, hard-won lessons from past mistakes. Write them down the way you'd explain them to a colleague, and they're enforced on every campaign, every revision, automatically.
Alcohol compliance
Block“If the email mentions alcohol, require the responsible-drinking disclaimer in the footer.”
Competitor mentions
Block“Never mention competitors by name, including in image alt text and link URLs.”
Discount ceiling
Warn“Flag any discount above 20%, offers that big need sign-off from the marketing director.”
No absolute claims
Block“We are a regulated business. Flag promises of outcomes: "guaranteed", "risk-free", "100%", "the best".”
Brand vocabulary
Warn“We say "affordable", never "cheap". British spelling everywhere. Products are always "crafted", not "made".”
Up to 10 custom rules per organization, with examples and a threshold per rule.
Severity per rule
Warn for advisory rules, Block for the ones that gate export.
Tuned with examples
Add pass/fail examples and a confidence threshold so each rule fires exactly when you want.
Fixed with Betty
Any finding can be dismissed, turned into a comment, or handed to Betty to fix.
A full WCAG audit, not a checkbox
Better Email checks emails against WCAG 2.2 (Level A and AA), aligned with the European Accessibility Act (EAA), which requires digital services in the EU to meet WCAG AA from June 2025.
Beyond individual checks, every email gets a complete WCAG audit: Level A criteria as pass/fail, and a Level AA score that shows exactly how close you are to full compliance.
- EAA-ready: WCAG 2.2 AA complianceThe European Accessibility Act sets WCAG 2.2 AA as the baseline for digital communications. Better Email audits every email against that standard automatically.
- Deterministic rulesHeading structure, link names, color contrast, and zoom behavior are measured mechanically. Objective criteria, objective results.
- AI judgmentAlt text that exists but says “image1.png” isn't accessible. AI evaluates alt-text quality and link descriptiveness, the parts a rule engine can't judge.
- Level A pass/fail, Level AA scoringKnow exactly where you stand: which Level A criteria pass, and how your email scores against Level AA.
Your rules. Your severity.
Every check can be set to Off, Warn, or Block at the organization level. Strict where it matters, relaxed where it doesn't, you decide what's a suggestion and what's a hard stop.
- Block-level failures gate exportA campaign with blocking findings can't be exported to your ESP until the issues are fixed, or explicitly overridden.
- Warnings inform, not obstructWarn-level findings surface the issue and let the team make the call. Perfect for style preferences and soft limits.
- Dismiss with trackingFalse positive? Findings can be dismissed, and every dismissal is tracked, so nothing disappears silently.
Findings live on the email, not in a report
Every finding is pinned directly on the email preview, numbered and clickable, right where the problem is. No hunting through a PDF to figure out which link is the broken one.
- Pinned, numbered, clickableClick a finding in the list and the preview jumps to the exact spot. Click a pin and see what's wrong.
- Turn a finding into a conversationAny finding can become a comment thread, so the fix gets discussed and resolved in context, right alongside your team's other feedback.
- Fix with BettyHand any finding to Betty for an assisted fix. She reads the finding, makes the change, and you review the result. Meet Betty
Unrendered merge tag in headline
{{first_name}} will show as raw text to recipients
One Review step. One answer: ready or not.
Pre-flight results sit in the Review step alongside approvals and comment resolution. Together they gate export readiness, a campaign ships when the checks pass, the comments are resolved, and the right people have signed off.
Pre-flight checks
All four layers run automatically. Blocking findings are fixed, overridden, or dismissed with tracking.
Approvals & comments
Required approvers sign off and open comment threads get resolved, all in the same step. See collaboration
Test sends
Send test emails to a real inbox from the same Review step for a final human look. See email testing
Explore more of Better Email
Pre-flight checks are one part of a complete email workflow.
Ship every campaign with confidence
See pre-flight checks catch the mistakes your team would rather not talk about, before anyone ever sees them.
Request a demo