All guides
Contact Data

The Pre-Send CSV Checklist: Clean Your Email List Before a Campaign

Learn how to check consent, duplicates, invalid addresses, suppression history, and personalization coverage before importing an email campaign CSV.

Updated 2026-08-08 | 6 min read | By AttuneMail Editorial

A polished campaign cannot rescue an audience file that should not be mailed. List hygiene starts before copywriting because recipient quality affects deliverability, compliance, personalization, and every metric used to judge the campaign.

Cleaning a CSV is not simply deleting rows that look unusual. It is a sequence of decisions about permission, identity, reachability, suppression, and whether the available context is good enough to support the message.

Confirm why every contact is in the file

Begin with provenance. Know where the addresses came from, what recipients were told, and whether this campaign fits that expectation. A publicly visible address is not automatically permission to send promotional email.

Rules differ by jurisdiction and message type. The practical baseline is to document the source, respect objections, and make opt-out straightforward. The UK ICO recommends a data-protection-by-design approach and says people have an absolute right to object to direct marketing.

  • Record the source and collection date when available.
  • Keep consent or lawful-basis evidence outside free-form notes.
  • Exclude contacts who opted out of this type of communication.
  • Do not mix purchased, scraped, customer, and subscribed audiences without review.

Normalize before detecting duplicates

Email comparisons should be case-insensitive and ignore accidental surrounding spaces. Decide which row wins when duplicate addresses contain different names, companies, or lifecycle fields. Blindly keeping the first row can preserve the oldest information.

A useful merge policy keeps the newest reliable value, never overwrites a populated field with an empty one, and preserves suppression or unsubscribe status above ordinary profile data.

Normalize this
 Ava@Example.com 
ava@example.com
AVA@EXAMPLE.COM

Result: one normalized recipient, not three campaign targets

Separate invalid, risky, and incomplete records

A missing address and a malformed address are clear import failures. A valid-looking address is different: syntax alone does not prove that a mailbox exists, that it accepts mail, or that the person expects this campaign.

Keep these categories distinct so a reviewer understands the action. Invalid rows should not enter the sendable list. Risky records may need verification or a separate decision. Incomplete but eligible records may still receive a general fallback email.

  • Invalid: missing address, broken syntax, or unusable domain.
  • Duplicate: the normalized address already exists in this import.
  • Suppressed: previous unsubscribe, hard bounce, or complaint.
  • Incomplete: valid recipient but missing campaign context.
  • Ready: eligible address with enough reliable context.

Suppress instead of repeatedly deleting history

Deleting a bounced or complained address can erase the reason it must not be mailed again. A suppression record keeps the address blocked across future imports, even when it reappears in a fresh CRM export.

Amazon SES can maintain suppression for hard bounces and complaints. In multi-tenant systems, tenant-level suppression prevents one customer's bounce or complaint history from contaminating another customer's list while preserving isolation.

Measure personalization coverage before generation

List hygiene also includes contextual quality. If only 12 percent of contacts have a reliable renewal date, a campaign that depends on renewal timing will produce weak fallbacks for most recipients.

Inspect field coverage before writing. Choose personalization signals that are relevant, understandable, and populated across enough of the audience. Do not expose raw internal notes just because they exist in the export.

The final pre-import checklist

A trustworthy import should report what it accepted, skipped, deduplicated, and detected. That summary is the handoff from contact preparation to campaign creation.

  1. Confirm audience source and sending permission.
  2. Normalize email addresses and remove duplicates.
  3. Exclude unsubscribed, bounced, and complained contacts.
  4. Separate invalid rows from incomplete but usable rows.
  5. Rename unclear columns before campaign work begins.
  6. Check coverage for every field the campaign plans to use.
  7. Retain only data needed for the campaign workflow.
Put the guide into practice

See whether your CSV is campaign-ready

Import one contact list and review valid addresses, duplicates, detected fields, and personalization coverage before writing.

Review a contact list

Continue reading

Personalization

How to Send Personalized Emails From a CSV Without Writing Every Email

A practical workflow for turning spreadsheet contact data into relevant, recipient-specific emails while keeping your approved message under control.

6 min read
Deliverability

Gmail Bulk Sender Requirements: A Practical Campaign Checklist

A practical guide to Gmail sender requirements covering SPF, DKIM, DMARC, one-click unsubscribe, spam rates, consent, and gradual sending volume.

6 min read
Campaign Operations

How to Review Personalized Emails Before Sending a Campaign

A recipient-level email review checklist for checking accuracy, relevance, consistency, completeness, permission, and send readiness.

5 min read