Guides · Email

Email QA checklist: what to check before you send

A pre-send checklist that catches what breaks and what costs you trust, with the exact prompt to run it with Claude.

Level Beginner
Read time 7 min
Last checked November 6, 2026
By Yender Fonseca

An email QA checklist is the list of things you check before you send a campaign: links, merge tags, alt text, rendering in Gmail, Apple Mail and Outlook, dark mode, images off, footer and postal address, unsubscribe, UTM tags, dates and time zones, and authentication. Run it in two layers. The mechanical layer catches what breaks. The trust layer catches what makes a reader stop believing you: competing calls to action, fake urgency, a subject line the email doesn't deliver, and claims nobody can back up.

This guide gives you both layers as a PASS or FAIL list, the exact prompt to run it with Claude, and what to do with every FAIL. It is workflow 5 of 6 Claude workflows for DTC email. You can run it by hand, in any Claude chat, or with the free /margarita-email-qa skill.

Short version

Claude can read your HTML, subject and copy. It cannot open Outlook or click a link in a real inbox. Let Claude judge what is in the file, then send yourself a test for everything it cannot see.

01Why an email QA checklist needs two layers

The usual pre-send list covers mechanics. Those matter. A dead link or a raw {{ first_name }} in the greeting reaches every subscriber at the same moment, and you can't take it back.

An email can pass every mechanical check and still hurt you. Three buttons fighting for one click, a countdown with no real deadline, a subject that teases a discount the email doesn't have. None of these break the layout. Each one teaches your list to trust the next email a little less.

So split the checklist. Layer 1 is mechanical: you can verify it with a test send and a few clicks. Layer 2 is trust: it needs someone to read the email as a subscriber would. The decision rule is the same for both. A FAIL in either layer blocks the send. A "can't tell" is a task for your test send, never a pass.

02Layer 1: the mechanical checks

Run these on every campaign, in this order.

Links

PASS when every link and button opens the page it promises. FAIL if a link is dead, points to a staging URL, or sends a product button to the homepage.

Merge tags

PASS when every personalization tag has a fallback. FAIL if a raw tag could reach a profile with an empty field, for example "Hi {{ first_name }}," with no default.

Alt text

PASS when every meaningful image has alt text that says what it shows or does. FAIL if alt text is missing or is a filename. Decorative spacers can stay empty.

Clients

PASS when it reads correctly in Gmail, Apple Mail and Outlook. FAIL if columns collapse, buttons lose their shape or text spills out of its box. Litmus' Ultimate Email Checklist covers rendering and accessibility across clients.

Dark mode

PASS when the logo, text and buttons stay readable on a dark background. FAIL if a dark logo disappears or text inverts into low contrast. Litmus' checklist calls out dark mode as a common miss.

Images off

PASS when the email still makes sense with images blocked. FAIL if the offer, the price or the call to action exists only inside an image.

Footer

PASS when the footer shows your brand name and postal address. FAIL if either is missing or the address is still a placeholder.

Unsubscribe

PASS when the unsubscribe link is visible and works. FAIL if it is hidden, tiny, or goes nowhere.

UTM

PASS when every link carries consistent UTM parameters. FAIL if some links have none, or the campaign name doesn't match what you use in your reports.

Dates

PASS when every date, time and time zone in the copy matches the offer. FAIL if the email says "ends Sunday" with no time zone, or a date survived from last year's version. Jangomail's pre-send checklist suggests double-checking dates, times and time zones.

Auth

PASS when your sending domain passes SPF and DKIM, and DMARC alignment holds. FAIL if any of them fails. Mailpro notes that messages failing authentication or alignment may be rejected or sent to spam.

03Layer 2: the trust checks

These look small, which is why they get skipped. Read the email once as a subscriber, then mark each line.

One CTA

PASS when there is one primary action, repeated as often as needed. FAIL if two or three different buttons compete for the same click. Secondary text links are fine. A second main ask is a FAIL.

Urgency

PASS when every deadline and scarcity line is true. FAIL if there is a countdown with no end date behind it, "last chance" on an evergreen offer, or "only a few left" you can't prove.

Subject

PASS when the email delivers what the subject line and preview text promise. FAIL if the subject teases a discount the email doesn't have, or uses "RE:" or "Your order" on a promotion.

Facts

PASS when every product, price, review and claim traces back to the site or the brief. FAIL if any number, testimonial or benefit claim has no source. Check this harder when AI wrote the draft.

The Facts check is the one AI makes urgent. A model asked to write "persuasive" copy will happily add a review count or a "loved by thousands" line. If you can't point to where it came from, it goes.

04How to run the checklist with Claude

The checklist is the method. You can run it three ways, with or without the skill.

  1. By hand. Copy the two tables into a doc and mark each line PASS or FAIL. Slow, and it works.
  2. In any Claude chat. Paste or attach the HTML, the subject and the preview text, then use the prompt in the next section. Claude applies the list as written.
  3. With the skill. /margarita-email-qa runs a pre-send checklist on any HTML email or draft and returns PASS or FAIL per check with plain notes: one primary CTA, no fake urgency, footer and legal, subject honesty, a dark-mode logo note, and no invented facts. It is free and arrives by email when you join the Margarita Creative newsletter.

For a fast first pass, the free in-browser Email QA Checker on the resources page runs 8 checks without leaving your browser, including dashes, alt text, unresolved merge tags and dead links. Fix what it finds, then run the skill or the prompt for the trust layer.

If you send from Klaviyo, Claude's QA goes before Klaviyo's own steps. Klaviyo's community guide recommends three pre-send steps: run Composer's QA on the campaign, preview it against a real profile, then send a test. Fix the copy and HTML first, then let the preview test merge tags against real data. Klaviyo's blog also has its own checklist before sending.

05The prompt

Attach the HTML file, the subject line and the preview text. Fill in the offer and deadline. If there is no offer, write NONE, so Claude can flag urgency that shouldn't be there.

Prompt
Use /margarita-email-qa. Attached are the email HTML, the subject line, and the preview text. Offer and deadline: [OFFER, OR NONE].

Return PASS or FAIL for each check, with a one-line reason and the fix for every FAIL.

Then answer one question: is this ready to send, yes or no?

Judge only what is in the email. If you cannot tell something, for example how it looks in dark mode, say so.

No skill installed? Delete the first sentence and paste the Layer 1 and Layer 2 tables above the prompt. The last line matters most. Claude reads code. It can't see how Outlook renders a table or follow a tracked link. Asking it to say "I can't tell" turns guesses into a to-do list for your test send.

06What to do with each FAIL

FAIL

Mechanical FAIL: fix it in the template, then in this send. A missing fallback or broken footer usually lives in a saved block. Fix only the campaign and it returns next week.

FAIL

Trust FAIL: rewrite the line, or cut it. If you can't prove "only 12 left", delete it. If the subject promises more than the email gives, change the subject. Don't stretch the email to match.

CAN'T TELL

Move it to the test send. Dark mode, Outlook rendering, link tracking and authentication need a real inbox or your email platform's tools.

PASS

Leave it alone. The night before a send is the wrong time to polish a passing email into a different one.

The answer to "is this ready to send?" is yes only when there are zero FAILs and every "can't tell" has been checked by a person.

07How to check the output

  1. Fix every FAIL and run QA again. A fix can break something else: a new button, a shifted image, a second CTA.
  2. Click every link in a real test send. Mailtrap recommends sending a test to yourself and your team and reviewing it in a real inbox.
  3. Look at the email with images turned off. If you can't find the offer, neither can a subscriber whose client blocks images.
  4. Read it once on a phone, out loud. You hear fake urgency and a second ask faster than you see them.

Related: subject lines that pass the honesty check, the Margarita Email Designer, and the full 6 Claude workflows for DTC email.

08Quick answers

What should an email QA checklist include?

Mechanical checks: links, merge tag fallbacks, alt text, rendering in Gmail, Apple Mail and Outlook, dark mode, images off, footer and postal address, unsubscribe, UTM tags, dates and time zones, and authentication. Add trust checks: one primary call to action, no fake urgency, a subject the email delivers on, and no invented facts.

Can Claude check how my email looks in Outlook or dark mode?

No. Claude reads the HTML and can flag code that is likely to cause trouble, but it can't see a real render. Ask it to say when it can't tell, then confirm in a test send or a rendering tool.

Do I need the /margarita‑email‑qa skill to use this checklist?

No. You can run the two layers by hand or paste them into any Claude chat with the prompt. The skill saves you pasting the checklist every time and returns PASS or FAIL per check with notes.

How does this fit with Klaviyo's preview and test send?

Run Claude's QA first to fix copy and HTML. Then follow Klaviyo's community guidance: run Composer's QA on the campaign, preview against a real profile, and send a test.

What counts as fake urgency in an email?

Any deadline or scarcity line that isn't true: a countdown with no real end date, last chance on an offer that never ends, or low stock you can't prove. If you can't back it up, cut it.

Also in Guides

Claude for email marketing →

Ecommerce email subject lines →

AI email templates for Klaviyo →

Back to Notes & Guides →