An email QA checklist for every send, and every market.
An email QA checklist is the set of checks a campaign passes before it goes out: links, UTM tags, images and alt text, subject and preheader, personalization, rendering and the unsubscribe link. Every market adds rows of its own: the legal line, currency and price format, the 30-day prior price on reductions, local links and a named reviewer.
How do you use this checklist?
Print this page, or copy the rows into a spreadsheet, and work through it in three passes. Check the general section once per campaign. Check the market section once for every market you send to. Fill in one worksheet per market, so each edition has its own record of who checked what.
Each row is marked with the kind of check it is:
- ◆ a check software can run, such as a broken link or a missing alt text.
- ○ a judgement a person makes, such as whether the offer is right for this audience.
This checklist is not legal advice. Rows about legal lines and labels ask whether the line your counsel approved for a market is there; they do not state any country's law.
What do you check once per campaign?
Once per campaign, check the master version: the brief, the copy, the links, the images, the rendering and the sending setup. Fix problems here before any market edition is made, so they are not copied into every market.
Before you build
- ○ The brief states the offer (or "no offer"), the markets, the send window with time zones, and a named approver.
- ○ The email says one thing. If it needs two headlines, it is two emails.
- ○ The type of message is right: marketing or service. Consent rules depend on it.
Copy
- ○ The copy was read against the brand's voice guide; every off-voice line has a reason.
- ◆ No word from the brand's never-say list; claim words only with proof.
- ◆ The subject line is within the brand's length limit, and the preheader is written, not left to the ESP.
- ○ Every claim (price, "new", "limited", origin) has its proof point in the brief.
- ◆ Merge tags have fallbacks, for example a default when the first name is missing.
Links and tracking
- ◆ Every link resolves: no 404, no plain http.
- ◆ Products named in the brief are in the email and link to their product pages.
- ◆ UTM tags on every link follow your naming convention.
- ◆ The unsubscribe link is present and works.
Images and accessibility
- ◆ Every image has alt text that says what the image shows.
- ◆ Important text is real text, not text inside an image.
- ◆ Text has enough contrast with its background, and link text says where the link goes.
- ◆ The email's
langattribute matches its language.
Rendering
- ◆ The email reads well with images turned off.
- ◆ The email reads well in dark mode.
- ◆ The email reads well at 375 px wide, on a phone.
Sending setup
- ○ The sender name and from-address are the brand's own.
- ○ The segment and its exclusions match the brief.
What do you check for every market you send to?
For every market, check the edition that market will receive: its language, prices, products, links, legal line and timing. Repeat this section once per market, and use the worksheet below to record it.
Language and review
- ○ Written in the market's language, or reviewed, by someone who knows the market. The reviewer is named.
- ○ The form of address (formal or informal) follows the brand's rule for this market.
- ◆ The brand's own word list for this market is used.
- ○ Text inside images is localized, or there is none.
Prices and offer
- ◆ Prices are in the market's currency and written in its format: symbol position, decimal separator, spacing.
- ○ Prices are shown as the consumer pays them, as counsel advised for this market.
- ◆ Where a reduction is announced, the prior price is shown: the lowest price of at least the 30 days before the reduction [1].
- ○ The offer is valid in this market: its dates, its time zone, its excluded products.
Products and links
- ◆ Every product shown is sold, and in stock, in this market.
- ◆ Every link points to this market's storefront.
- ◆ The UTM country segment is set for this market.
Legal lines and consent
- ◆ The legal line your counsel approved for this market is present and current.
- ◆ The unsubscribe link works and is worded in the market's language.
- ○ Where counsel says this market requires advertising to be labelled, the label is there.
- ◆ The lines this market must include are present, and the lines it must never include are absent.
- ○ Sector rules counsel flagged for this market are met: alcohol, health claims, gambling, children.
Layout, timing and approval
- ◆ Longer translations don't break buttons or headings at 375 px.
- ○ The send date avoids this market's public holidays, and the send time is set in its time zone.
- ○ A test send reached real inboxes: Gmail, Outlook and Apple Mail at least.
- ○ A named person approved this market's final version. Any change after approval needs approval again.
- ○ The edition is in the ESP as a draft and is not live until someone schedules it.
An example of market rows filled in: Holm Coffee's German edition addresses readers with "du", not "Sie", and links to the /de storefront. Its Swedish legal line is held as "waiting for counsel to confirm", so the Swedish edition does not go out with a guessed line. Holm Coffee is a fictional demo brand.
What goes on the per-market worksheet?
The per-market worksheet is a one-page record of one edition: the market, each key check, its status, who checked it and a note. Print one copy per market, or copy the table into a spreadsheet with one tab per market.
Market: ____________ Campaign: ____________ Send date: ____________
| Check | Status | Checked by | Note |
|---|---|---|---|
| Reviewer named and review done | ☐ | ||
| Form of address and word list | ☐ | ||
| Currency and price format | ☐ | ||
| Prior price on reductions | ☐ | ||
| Offer valid in this market | ☐ | ||
| Products sold and in stock | ☐ | ||
| Storefront links and UTM country | ☐ | ||
| Legal line approved by counsel | ☐ | ||
| Unsubscribe in the market's language | ☐ | ||
| Layout at 375 px | ☐ | ||
| Send date and time zone | ☐ | ||
| Test send to real inboxes | ☐ | ||
| Final version approved | ☐ |
Which rules sit behind the market checks?
Three EU-level rules sit behind the legal rows, and each country adds its own. Marketing email to individuals needs prior consent, and every message needs a valid address for stopping it [2]. A person can object to direct marketing at any time, and withdrawing consent must be as easy as giving it [3]. An announced price reduction shows the prior price, the lowest of at least the previous 30 days [1]. Have counsel confirm the rules for each market.
Where Caliber fits
Caliber's final check is being built to cover ◆ rows on every market's edition, such as links, UTM tags, alt text, must-say lines and the legal line per market. The ○ rows stay with you. Each edition will arrive in your ESP as a draft. Integrations: Klaviyo, Braze, Salesforce Marketing Cloud Next, Voyado, Customer.io and Iterable.
Questions
How do you QA an email before sending?
Check the master version once, then each market's edition, then send tests. The master pass covers copy, links, UTM tags, images, alt text, rendering and the unsubscribe link. The market pass covers language, prices, products, local links, the legal line and timing. Finish with test sends to real inboxes and a named approval per market.
How do you check every link in an email?
Click every link in a test send, or run a link checker on the email's HTML. Each link should resolve without a 404, use https, carry your UTM tags and, in a market's edition, point to that market's storefront. Check the unsubscribe link and the web-version link too.
What alt text should email images have?
Alt text should say what the image shows, in the email's language, in a short sentence. If the image is decoration, leave the alt text empty so screen readers skip it. If the image carries text, such as an offer, the alt text must carry that text too, translated for each market.
Who should approve a marketing email before it goes out?
One named person per market should approve that market's final version. That person knows the market and can judge the language, offer and prices. A change after approval makes it a new version, which needs approval again. Name the approvers in the brief, before the copy is written.
Sources
- European Parliament and Council, "Directive (EU) 2019/2161 … as regards the better enforcement and modernisation of Union consumer protection rules", 27 Nov 2019, Article 2 (inserting Article 6a into Directive 98/6/EC). https://eur-lex.europa.eu/eli/dir/2019/2161/oj (checked 1 Nov 2026)
- European Parliament and Council, "Directive 2002/58/EC on privacy and electronic communications", 12 Jul 2002, Article 13(1) and (4), as amended. https://eur-lex.europa.eu/eli/dir/2002/58/oj (checked 1 Nov 2026)
- European Parliament and Council, "Regulation (EU) 2016/679 (General Data Protection Regulation)", 27 Apr 2016, Articles 7(3) and 21(2)–(3). https://eur-lex.europa.eu/eli/reg/2016/679/oj (checked 1 Nov 2026)