How to test a cold email campaign before you press send: the 8-check pre-flight
Eight checks that catch 90% of campaign-killing mistakes before a single message lands in a recipient inbox. Run them in 10 minutes.
A cold-email campaign sent without pre-flight testing is a bet. The bet is that nothing is misconfigured, the list is clean, the copy renders, the links work, and the unsubscribe layer is wired up. Statistically, that bet loses something like 30 percent of the time. Ten minutes of pre-flight testing catches 90 percent of the campaign-killers. Here is the 8-check sequence.
Check 1 - DNS auth
Run dig +short on SPF, DKIM, DMARC, MX for every sending domain. Confirm exactly one SPF record, DKIM key present and 2048-bit, DMARC at p=quarantine or p=reject, MX pointing at the correct provider. If any record is missing or duplicated, fix before sending - the campaign will land in spam otherwise.
Check 2 - mail-tester score
Send a test from each sending mailbox to mail-tester.com. The score is graded on SPF, DKIM, DMARC, content patterns, link reputation, and a few other signals. A score of 9.5/10 or higher is healthy. Below 8 means something is broken - fix it before the campaign goes out.
Check 3 - List-Unsubscribe header
Send a test campaign to your own Gmail address. Open the message. Look at the top - if Gmail renders an "Unsubscribe" link next to the sender name, the List-Unsubscribe header is parsing correctly. If you only see the unsubscribe link in the body, the header is missing or malformed. Above 5,000 sends/day, this is a hard fail for Gmail and Yahoo.
Check 4 - list validation
Pass the recipient list through ZeroBounce, NeverBounce, MillionVerifier, or Bouncer. Suppress every address marked invalid, role-based, disposable, or catch-all (if risk-averse). Expect 5 to 20 percent suppression on a fresh scraped list. Re-validate any list older than 90 days even if you validated it last quarter.
Check 5 - seed-list placement test
Send the actual campaign to a controlled seed list of 20 inboxes you own across Gmail, Workspace, Outlook, and M365. Check placement on each. If primary-inbox rate is below 70 percent on the seed, the campaign is not ready - copy or infrastructure needs work. Pause and fix.
Check 6 - copy variant rendering
Personalization tokens, conditional sections, fallback values. Send a test with one recipient missing each token to confirm the fallback fires correctly. A campaign with a broken Hi {{first_name}} that ships as "Hi ,{{" to thousands of recipients is the most common embarrassment-grade campaign error.
Check 7 - link health
Click every link in the test message. Verify each one resolves, loads quickly, and goes to the intended destination. Broken links are common after URL shorteners change or landing pages move. Tracking-redirect URLs in particular fail silently.
Check 8 - sequence pacing and timezone
- Sending window set to Tuesday-Thursday 9-11am in recipient local timezone
- Daily cap set to 10-20 per mailbox - well below the platform ceiling
- Follow-up cadence set to 2-4 working days between sends
- Reply detection enabled so engaged recipients drop out of the sequence
- Suppression list confirmed (every prior unsubscribe persists)
Eight checks take roughly 10 minutes for a campaign of any size. Skipping them risks a domain listing, a Spamhaus visit, or a reputation-killing complaint spike. The math is obvious - run the checks every time.
See infrastructure monitoringFrequently asked
How do I test a cold email campaign before sending?
Eight-check pre-flight in roughly 10 minutes: (1) dig +short to verify SPF, DKIM, DMARC, MX. (2) mail-tester.com score above 9.5/10. (3) List-Unsubscribe header rendering at top of test message in Gmail. (4) List validation through ZeroBounce or equivalent. (5) Seed-list placement test on 20 controlled inboxes. (6) Copy variant rendering including fallbacks. (7) Click every link. (8) Sequence pacing, timezone, and suppression list verification.
How do I check if my SPF, DKIM, and DMARC are configured correctly before sending cold email?
Run three dig commands: dig +short yourdomain.com TXT (look for v=spf1, exactly one record), dig +short google._domainkey.yourdomain.com TXT (DKIM key, 2048-bit), dig +short _dmarc.yourdomain.com TXT (DMARC record at p=quarantine or p=reject). If any are missing or duplicated, fix before sending. Then send a test to mail-tester.com to confirm everything validates end-to-end.
What is a good mail-tester score for cold email?
9.5/10 or higher is healthy. Below 8/10 means something measurable is broken - usually SPF, DKIM, or DMARC misconfiguration. mail-tester.com grades on infrastructure, content patterns, link reputation, and several other deliverability signals. Run a test from each sending mailbox before the campaign, not just from one - per-mailbox configuration drift is common.
How big a seed list do I need to test cold-email placement?
20 inboxes minimum, ideally 30 to 40. The split should mirror your real recipient mix (60% Workspace + 40% M365 if that matches the campaign target). Single-inbox tests are noise; seed lists below 20 inboxes do not produce reliable placement signal. Inboxlee runs daily 24-inbox seed tests per live mailbox automatically.
What percentage of cold-email campaigns ship with a configuration error?
Roughly 30 percent of cold-email campaigns shipped without pre-flight testing have at least one campaign-killing error - usually broken personalization tokens, missing List-Unsubscribe header, or unverified DNS auth. The 8-check pre-flight catches 90 percent of these in roughly 10 minutes. The math is heavily in favour of running the checks every time.