# Email Campaign QA Checklist: Check Everything Before You Hit Send

> A step-by-step pre-launch checklist for cold email campaigns. Work through it top to bottom in about 20 minutes and catch the mistakes that are painful to undo once emails are out.

You built the list, wrote the emails and set up the follow-ups. Then one broken merge tag sends "Hi {{params.firstname}}," to 300 people, or a follow-up meant for non-openers goes to everyone. Sent email cannot be recalled.

This checklist is the review you run before launch. Copy it into a doc, tick each box, and do not launch until every line is checked or consciously skipped.

## 1. The list

Bad data causes most problems you will see later, so start here.

- [ ] **Duplicates removed.** Same email appearing twice means the same person gets two copies.
- [ ] **Emails verified.** Run verification on the whole list and drop invalid addresses. Treat risky or catch-all results with caution; send to them in a smaller batch if at all. See [email bounce rate](https://getclient.pro/learn/email-bounce-rate) for why this matters to your sender reputation.
- [ ] **Previous unsubscribes excluded.** Anyone who opted out of an earlier campaign stays out.
- [ ] **Existing customers and open deals removed.** A cold pitch to a current client looks careless.
- [ ] **Role addresses reviewed.** Decide whether info@ and office@ belong in this campaign.
- [ ] **Fit checked by hand.** Open 10 random rows. Are they actually the type of business you meant to target, in the right cities?

## 2. Merge tags and personalization

This is where embarrassing mistakes happen.

- [ ] **Tags written exactly right.** Use the exact form: `{{params.name}}`, `{{params.firstname}}`, `{{params.website}}`, `{{params.city}}`, `{{params.category}}`. A missing brace or a different spelling will not be filled in.
- [ ] **Empty fields checked.** Sort the list by each field you use. If 40 rows have no first name, either fill them, move them to a separate version without the tag, or rewrite the line so it works without it.
- [ ] **Values read naturally.** Business names like "JOHN'S PLUMBING LLC - 24/7 EMERGENCY" look scraped. Clean the worst ones. Categories like "Auto detailing service" may need rewording in a sentence.
- [ ] **Owner names checked.** If a name came with a low confidence score, consider a greeting that does not depend on it.
- [ ] **Previewed against real rows.** Preview each step with at least three different leads, including one with sparse data.

A safe opening that survives missing data:

```
Hi {{params.firstname}},

I was looking at {{params.name}}'s website ({{params.website}}) while researching {{params.category}} businesses in {{params.city}}.
```

If first names are patchy, use "Hi there," for that segment instead. More on doing this well in [personalization](https://getclient.pro/learn/personalization).

## 3. Copy and content

Read every step out loud, as the recipient would.

- [ ] **Subject line** is short, plain and honest about the email. No fake "Re:" or "Fwd:".
- [ ] **One clear ask** per email. A short question beats a calendar link plus three options.
- [ ] **No spelling errors**, especially in your own name and company.
- [ ] **Links work.** Click every one. Fewer links is safer for a first cold email.
- [ ] **No attachments** in the first touch.
- [ ] **Signature complete**: name, business, a way to reach you, and a physical address if the rules you follow require one.
- [ ] **Unsubscribe link present** and working. GetClient adds a one-click link with a signed per-recipient URL and skips unsubscribed addresses automatically, but confirm it shows in your chosen layout.
- [ ] **Layout chosen deliberately.** Plain layout reads like a personal email; boxed suits more formal content.

## 4. Sending setup

- [ ] **Right account connected.** Check the from-name and from-address on every sending account.
- [ ] **Authentication in place.** SPF, DKIM and DMARC set up for the sending domain. Walk through the [SMTP sending setup checklist](https://getclient.pro/resources/smtp-sending-setup-checklist) if you have not.
- [ ] **Daily volume sensible.** New or recently set up accounts should start low and build up gradually. That is a rule of thumb, not a fixed number; your provider's limits come first. Unsure which to send from? Read [Gmail vs SMTP for cold email](https://getclient.pro/blog/gmail-vs-smtp-for-cold-email).
- [ ] **Replies land somewhere you read.** Send a test to yourself and reply to it.

## 5. Follow-up flow and timing

- [ ] **Delays correct.** Check days vs hours vs minutes. "2 minutes" instead of "2 days" is an easy slip.
- Remember branches are yes or no only. Background in [conditional email branching](https://getclient.pro/learn/conditional-email-branching).
- [ ] **Follow-ups make sense out of context.** Someone who never opened email 1 should still understand email 2.
- [ ] **Sequence ends.** There is a final step, not an endless loop.
- [ ] **Send days set.** Weekday limits match when your prospects work. A restaurant owner and an accountant keep different hours.
- [ ] **Time zone checked** for the schedule, especially across several cities.
- [ ] **Launch date** does not collide with a public holiday in the recipients' region.

## 6. Compliance

- [ ] **You know which rules apply** to you and your recipients (for example CAN-SPAM in the US, GDPR and PECR for UK and EU contacts). Requirements differ; check them for your situation. This is not legal advice. For Europe, see [GDPR and B2B cold email](https://getclient.pro/blog/gdpr-cold-email-b2b).
- [ ] **Business contacts only**, with a reason your offer is relevant to them.
- [ ] **Honest identity**: real name, real business, no misleading subject lines.

## 7. Final test and launch

- [ ] Send the full sequence to yourself, using a lead record that has your details.
- [ ] Open it on a phone and a desktop.
- [ ] Click the unsubscribe link on the test and confirm the address is marked as unsubscribed.
- [ ] Launch with a small first batch, then wait a day.
- [ ] Check bounces and replies in campaign analytics and the Inbox before releasing the rest.

## What to watch in the first 48 hours

- **Bounces:** if they spike, pause and re-verify.
- **Replies:** answer quickly. Keep [objection reply scripts](https://getclient.pro/resources/objection-reply-scripts) open.
- **Angry replies or complaints:** read them. They often point to a targeting or wording problem you can fix for the remaining batch.
- **Out-of-office replies:** note return dates instead of following up into an empty inbox.

## Frequently asked questions

### How long should a pre-send QA review take?

For a typical campaign of a few hundred leads and three or four steps, about 15 to 30 minutes once you have done it a few times. The list checks and merge tag previews take the longest. Do not skip them to save time.

### Should I send a test campaign to colleagues first?

Yes, if you can. A colleague reading on their own phone will spot awkward phrasing and broken layout you have stopped noticing. Ask them to reply and to click the unsubscribe link so you test both.

### What should I do if I find a mistake after launching?

Pause the campaign straight away so later steps and batches stop. Fix the problem, preview again with real rows, then resume. For people who already received a broken email, a short, plain correction is usually better than ignoring it, but only send one.

### Do I need to rerun the whole checklist for every campaign?

Run the list, merge tag, flow and test-send sections every time, since those change per campaign. Sending setup and compliance can be a quick confirmation if nothing about your accounts or target regions has changed.

Source: https://getclient.pro/resources/email-campaign-qa-checklist
