Email Design and Send Checklist
Steps an email or lifecycle marketer runs from campaign brief through render testing, compliance review, broadcast send, and 7-day post-send analytics. Designed for B2B and B2C teams sending broadcasts or nurture emails from HubSpot, Marketo, Klaviyo, or similar platforms.
Campaign Brief and Audience
-
Confirm the campaign goal and primary KPI
Pin one primary KPI before drafting — open rate, CTR, MQLs created, or revenue attributed. Campaigns optimized against three KPIs at once usually optimize against none. The marketing manager owns this call.
-
Define the audience segment in the MAP
Build the segment in HubSpot, Marketo, Klaviyo, or whichever MAP you use, and save it with a versioned name (e.g., 2025Q1_NewsletterEU_v2). Suppress unsubscribes, hard bounces, and the 30-day suppression list. Ad-hoc segments built at send time are the most common cause of list-health regressions.
Collects text -
Verify list health before send
Check the segment's last-90-day bounce rate (target under 2%), complaint rate (under 0.1%), and inactive share. A list quiet for six months should run a re-engagement before a broad push, or the sender reputation hit will outlast the campaign.
-
Confirm regional consent coverage
If the segment includes EU, UK, or Canadian recipients, GDPR / UK-GDPR / CASL require explicit opt-in — not the same standard as US opt-out under CAN-SPAM. Treating cookie-banner acceptance as marketing consent is a common GDPR finding.
Collects list
Layout and Visual Design
-
Build a single-column responsive template
600px content width, single-column body, fluid hybrid for mobile. Outlook on Windows still ships the Word rendering engine — avoid CSS grid, modern flex, and background images that depend on it. Use bulletproof button code (VML fallback) for the primary CTA.
-
Apply brand colors, type, and logo lockup
Pull the latest assets from Frontify, Brandfolder, or your DAM rather than reusing last campaign's HTML — logo lockups change more often than templates do. Verify HEX values match the current brand book.
-
Place the primary CTA above the fold
Above-the-fold CTA, repeated mid-content, repeated at footer. Each CTA carries the same UTM source/medium/campaign so click data aggregates cleanly in GA4. Button minimum 44×44px for touch targets.
-
Compress images and write alt text
Target under 200KB per image; total email weight under 102KB to avoid Gmail clipping. Alt text is required for accessibility and for the (large) share of recipients who block images by default — Outlook still does. Hosted images, never base64.
Copy and Content
-
Draft the subject line and preheader pair
Subject line under 50 characters so it doesn't truncate on mobile. Preheader complements rather than repeats the subject — wasted preheader space is a common gotcha. No spam-trigger words (FREE!!!, ALL CAPS, excessive punctuation).
-
Write body copy against the brief
One main idea per email; supporting points as scannable bullets or short paragraphs. Conversational tone for B2C, direct and value-led for B2B. Any quantitative claim needs a substantiation source per FTC guidance — keep the source link in the brief, not the email body.
-
Configure personalization tokens and fallbacks
Every merge tag needs a fallback value — "Hi {{first_name|there}}" never "Hi {{first_name}}". Empty token sends are the single most embarrassing avoidable email mistake. Spot-check 5-10 random recipients in the preview tool.
-
Run copy edit and fact check
House style (or AP) pass for grammar and consistency; second pass for any factual or pricing claims. Pricing or product-availability copy gets confirmed by PMM before send — pricing changes in a CRM and not in the draft email is a routine source of errata.
Compliance and Deliverability
-
Add CAN-SPAM footer with physical address
Required: a valid physical postal address, accurate sender identification, and non-deceptive subject/from lines. PO boxes are acceptable if registered with USPS. Footer pulls from the MAP's company-settings record — verify it isn't the old office address.
-
Verify SPF, DKIM, and DMARC alignment
Run the sending domain through EasyDMARC, MXToolbox, or GlockApps. DMARC at p=quarantine or p=reject; DKIM signed by the MAP's selector; SPF includes the MAP's sending IPs. Gmail and Yahoo bulk-sender requirements (since Feb 2024) are now enforced — misalignment routes mail to spam silently.
-
Confirm one-click unsubscribe works
Click the link in a test send and verify the recipient lands on the suppression page without further authentication. Gmail/Yahoo bulk-sender rules require List-Unsubscribe-Post header for one-click; check the source. Suppression must propagate within 10 business days under CAN-SPAM.
-
Run GDPR consent check for EU recipients
Pull the consent record from OneTrust or your CMP for each EU/UK contact in the segment — lawful basis, timestamp, source. Implied consent under CASL has shorter expiry than express; expired implied-consent contacts must be excluded. If the consent log can't substantiate the basis, suppress.
QA and Render Testing
-
Render test in Litmus or Email on Acid
Test against at minimum: Gmail (web + iOS + Android), Outlook 365 desktop Windows, Outlook web, Apple Mail iOS, Yahoo. Dark-mode versions for Apple Mail and Outlook — logos on transparent backgrounds frequently invert badly. Save the screenshot grid as the audit artifact.
Collects file -
Verify links and UTM parameters
Click every link in a test send. UTM source/medium/campaign matches the team's UTM convention doc — drift here makes GA4 reports incomparable across campaigns. Check destination URLs aren't dev/staging.
-
Configure the A/B test split
Test a single variable — subject line, preheader, send time, or CTA copy. Hold variant size at 10-20% per arm so the winner deploys to the majority. Decide the success metric (open rate vs. CTR vs. conversion) before sending so the call isn't post-hoc.
Collects list -
Get final stakeholder sign-off
Marketing lead, brand reviewer, and (when the email carries product or pricing claims) PMM or legal sign off in writing. Slack DMs that say "looks good" don't count as approval records — capture the signature here so the audit trail is timestamped.
Collects list Collects signature Collects paragraph
Send and Post-Send Review
-
Schedule the broadcast send
Schedule rather than send-now so the segment, send time, and final asset are all locked in writing. Time-zone-aware sending where supported (HubSpot, Marketo) raises open rates for global lists. Avoid Friday afternoons and Monday 9am UTC unless the data says otherwise for your audience.
-
Monitor deliverability for the first hour
Watch the bounce rate, complaint rate, and inbox-placement signal in the MAP for the first 60 minutes. Spike in bounces above 3% means pause and investigate before the rest of the queue ships. Soft-bounce spikes can indicate IP throttling at the recipient ISP.
-
Schedule the A/B winner send
After the test window closes (typically 4-24 hours depending on list size and KPI), confirm the winning variant against the pre-declared success metric and deploy to the remaining 80-90% of the segment. Document which variant won and why for the next campaign retro.
-
Pull the 7-day metrics report
Open rate, CTR, conversion rate against the campaign's primary KPI, unsubscribe rate, complaint rate. Compare to the rolling 4-campaign baseline, not to last campaign in isolation. Log learnings in the campaign retro doc so the next brief inherits them.
Collects paragraph Collects file
Use this template
Copy it to your account, customize the steps, and run it with your team in minutes.
Browse hundreds of free templates across every team and industry.
Back to template libraryRelated templates
More workflows your team can run.
Run Email Design and Send Checklist with your team
Customize the steps, assign roles, set a schedule, and keep a complete record for every run.