## The Send Is Only as Good as the File You Imported Most delivery problems start long before anyone presses send. They start in a spreadsheet. A contact export from a CRM, a lead list from a partner, a sign-up sheet from an event: each arrives with its own column names, phone formats, duplicate rows, and stray characters.
Import it as-is and every one of those quirks becomes a bounce, a failed text, a double message, or a compliance question later. Cleaning contact data at import time is the cheapest point to fix it. Once records are in your audience, they get copied into segments, automations, and reports, and every mistake multiplies.
This guide walks through a practical import routine: how to map columns correctly, normalize email addresses and phone numbers, remove duplicates without losing good data, carry consent with each contact, and check the result before your first send. ## Why Import Hygiene Matters More Than It Looks A messy import rarely fails loudly.
It degrades quietly: - **Bounces and failed texts.** Malformed emails and phone numbers missing a country code go out, fail, and drag down sender reputation and route quality. - **Duplicate messages.** The same person listed twice, once as `Jane@Example.com` and once as `jane@example.com`, gets two copies and is far more likely to complain or opt out.
- **Wrong personalization.** A first-name column mapped to the wrong field turns "Hi Jane" into "Hi 4471234567" or "Hi ,". - **Lost suppression.** If an unsubscribed contact is re-imported from an old file and nothing checks against your suppression list, you message someone who already said no. - **Misleading reporting.** Duplicates inflate audience counts and make delivery and engagement rates look worse or better than they really are.
None of these show up as an error during upload. They show up days later as complaints, failed deliveries, and wasted spend. ## Step 1: Map Columns Deliberately Before thinking about data quality, make sure every column lands in the right field. ### Agree on a Canonical Schema Decide which fields your audience actually uses: email, mobile number, first name, last name, country, language, sign-up date, source, and consent fields. Anything else is optional metadata.
A short, stable schema makes every future import easier to check. ### Watch for Look-Alike Columns Exports often contain several candidates for the same field: `Phone`, `Mobile`, `CellPhone`, `Work Phone`. Pick the one that is actually a mobile number you have permission to text. Similarly, `Name` might be a full name that needs splitting, while `First Name` is ready to use.
### Preview Before You Commit Always look at the first rows of the mapped result, not just the header names. A preview catches shifted columns, merged cells, and headers that do not match their data. If the email column shows phone numbers, stop and fix the source file rather than patching records afterward.
## Step 2: Normalize Email Addresses Normalization turns many spellings of the same address into one consistent form, which is what makes deduplication and suppression checks reliable. - **Trim whitespace.** Leading and trailing spaces, tabs, and non-breaking spaces are common in exports. - **Lowercase the domain.** Domains are case-insensitive. Most teams lowercase the whole address for matching, since mailbox providers almost always treat the local part case-insensitively too.
- **Strip wrapping characters.** Remove quotes, angle brackets, and trailing punctuation like commas or semicolons left over from pasted lists. - **Split multi-address cells.** A cell containing two addresses separated by a comma or slash should become two candidates, or be flagged for review. - **Check basic syntax.** One `@`, a plausible domain, no spaces inside. Anything that fails goes to a review pile, not to your audience. Syntax is only the first filter.
Addresses that look fine can still bounce, hit a catch-all domain, or belong to a disposable inbox. Run imported emails through validation before sending, using the approaches in our guides on real-time email validation, catch-all domains, and disposable and role-based addresses. Common domain typos such as `gmial.com` are worth flagging too, as covered in email typo correction.
## Step 3: Normalize Phone Numbers to International Format Phone numbers cause more import trouble than emails because the same number can be written in many ways: with or without a leading zero, with spaces, dashes, parentheses, or a `+` and country code. ### Convert to E.164 The international E.164 format is a `+`, the country code, and the subscriber number with no spaces or punctuation.
Converting everything to that format gives you one comparable value per number, which SMS providers expect and deduplication needs. ### Use a Country Column When the Number Lacks One A local number like `07123 456789` cannot be converted without knowing the country. Use a country column if the file has one, or a default country for the whole import if every contact is known to be in one market.
Never guess per row; flag numbers you cannot place. ### Separate Mobile From Landline Texts to landlines fail and still cost you. Where possible, check the line type and keep only mobile numbers in the SMS field. Our pre-send phone validation checklist goes deeper on formatting and line-type checks, and recycled mobile numbers explains why very old numbers deserve extra caution. ## Step 4: Deduplicate Without Losing Good Data Once emails and phones are normalized, duplicates become visible.
The question is not just how to remove them, but which record to keep. ### Choose Your Match Keys For email audiences, the normalized address is the natural key. For SMS, the E.164 number is. For mixed audiences, decide whether a contact is identified by email, phone, or either, and be consistent across imports.
### Decide Which Values Win When two rows describe the same person, merge them with clear rules: - Keep the most recent non-empty value for names and attributes. - Keep the earliest sign-up date, since it reflects how long the relationship has existed. - Keep the most restrictive consent state. If either row says the person opted out, the merged contact is opted out.
### Check Against Existing Contacts and Suppression Deduplicating within the file is only half the job. Match the import against contacts already in your account and, most importantly, against your suppression list of unsubscribes, complaints, and hard bounces. An import should never quietly resubscribe someone. ## Step 5: Carry Consent and Source With Every Contact Data quality includes knowing why you are allowed to message someone.
Each imported contact should carry: - **Source:** where the record came from, such as a web form, event, or partner list. - **Consent type and date:** which channels the person agreed to and when. - **Channel permission:** email consent and SMS consent are often separate and should be stored separately. If a file arrives without consent information, treat that as a reason to pause the import, not as a detail to fill in later.
Rules differ by region and channel, and our SMS compliance guide covers the main frameworks. Your own legal review still decides what is acceptable for your business. ## Step 6: Quarantine, Don't Discard Not every bad row should be deleted. A review pile, kept separate from your sendable audience, lets you: - Fix rows that are recoverable, such as a phone number missing only a country code.
- Return problems to the team or partner that supplied the file, so the next export is cleaner. - Measure the quality of each source over time, which tells you which lists are worth importing at all. A simple rule works well: anything that fails syntax, cannot be normalized, or lacks consent goes to quarantine. Everything else proceeds to validation.
## Step 7: Validate and Test Before the First Real Send After mapping, normalizing, and deduplicating, run validation on the remaining emails and phone numbers. Then send to a small, engaged slice of the new audience before mailing the whole import. Watch bounces, failed texts, complaints, and opt-outs on that slice. If they are clearly worse than your usual baseline, stop and look at the source before scaling up.
For older or inherited lists, this test is especially important. Contacts who have not heard from you in a long time are more likely to bounce or complain, and some may belong in a sunset policy rather than a campaign. ## How SESender Fits the Import Workflow SESender is the campaign workspace where you prepare audiences, validate contacts, configure messages, schedule sends, and review delivery and engagement.
A complete campaign cycle in SESender starts with preparing the audience and confirming permission and data quality, which is exactly where import hygiene belongs. When you upload a contact file, you map its columns to contact fields and check the preview before saving, so mobile number and email columns land where they should. Validators are included from the Essential plan up, so imported emails and phone numbers can be check
Related Articles
Master the art of cold email outreach in 2026. Learn how to write compelling B2B email campaigns that build real relationships without landing in the spam folder.
Align email and SMS quiet hours, shared last-touch gaps, and deferrals so channels stop stacking into the same evening.
A practical pre-send checklist for phone validation: E.164, line type, reachability, disposable numbers, and metrics that protect SMS spend.
Stale SMS lists fail quietly when numbers get recycled. Learn DLR signals, hygiene checks, re-permission, and KPIs that protect delivery.
Clean phone data is a practical asset for SMS, voice outreach, and account security. Without validation, teams waste spend, hurt carrier reputation, and...
Catch-all domains pass naive mailbox checks. Learn how to detect, risk-score, and decide when to send without hurting deliverability.
Disposable and role-based emails pass syntax checks but hurt engagement. Learn how to detect them, score risk, and decide what to block or keep.
Introduction Every bounce is more than a failed delivery. It is a quiet signal to mailbox providers that your list may be careless, outdated, or pu...
Explore SESender
SESender brings audience preparation, contact validation, sender and provider controls, scheduling, delivery tracking, and campaign reporting into one workspace. Review the current product and pricing information before deciding whether the platform fits your messaging workflow.
Explore the platform or review pricing.