Upload Contacts via CSV
Upload Contacts via CSV
Purpose
CSV upload is the primary way to add a list of contacts to a campaign. This article covers the full import process — file format requirements, field mapping, email validation, and what to do when imports fail.
How Contacts Work in SuperSend
Contacts in SuperSend live at two levels:
- Team contacts — a shared pool of contacts across all campaigns on your team.
- Campaign contacts — contacts assigned to a specific campaign. A contact can be in multiple campaigns.
When you upload via CSV, you're adding to both at once: the contacts get created at the team level, and assigned to the campaign you specify.
Before You Upload
Your CSV file must include at minimum one column: email. Every other field is optional but strongly recommended for personalization.
Recommended CSV columns:
Column name | What it maps to |
|---|---|
| Contact's email address (required) |
| First name |
| Last name |
| Job title |
| Company name |
| Company website |
| LinkedIn profile URL |
| Phone number |
| Twitter/X handle |
| Location fields |
Column names don't have to be exact — you can map them manually in step 2. But matching the standard names above speeds things up.
Custom variables: If you have custom personalization variables (e.g., {{pain_point}} or {{recent_news}}), include them as columns in your CSV. You'll map them to custom fields during import.
Upload from a Campaign
- Open the campaign.
- Click Contacts in the campaign navigation.
- Click Upload CSV (or Import Contacts).
- The upload modal opens. Follow the three sub-steps below.
Upload from the Team Contacts Page
- Go to Contacts in the left sidebar (this opens team-level contacts).
- Click Upload CSV.
- After selecting your file, you'll need to select a Campaign from a dropdown before you can proceed. Team-level uploads require a campaign assignment.
- Continue with the three sub-steps below.
Sub-step 1: Select Your File
Drag and drop your CSV file onto the upload area, or click to browse your files.
Once you select a file, the modal advances to field mapping. If you need to pick a different file, you can go back.
Sub-step 2: Map Fields
SuperSend reads your CSV headers and shows a mapping table. Each of your CSV columns appears on the left, and you match each one to a SuperSend contact field on the right.
How auto-mapping works: If your column name exactly matches a SuperSend field name (e.g., first_name, email), SuperSend maps it automatically. Columns it can't recognize are left unmapped and you fill them in manually.
Mapping custom variables: If your campaign has custom contact variables configured, they appear in the field dropdown options. Map your custom CSV columns to the corresponding campaign variables.
Unmapped columns: Any column you don't map is ignored — that data won't be imported. If you have a column you want but can't find a matching field, you may need to add a custom variable first (this can be done from the campaign's Contacts configuration settings).
Click Next when all the columns you want are mapped.
Sub-step 3: Email Validation
Before the upload completes, SuperSend shows a validation summary:
- Total contacts in the file
- Available validation credits on your account
- Cost to validate the entire file (1 credit per email)
What email validation does: SuperSend checks each email address for deliverability — verifying the domain is active, the mailbox exists, and the address isn't a known catch-all or disposable address. Contacts that fail validation are flagged before your campaign sends to them, protecting your sender reputation.
To validate: Check the Validate all emails checkbox (only active if you have sufficient credits), then click Upload.
To skip validation: Leave the checkbox unchecked and click Upload. You can validate contacts individually or in bulk later.
If you don't have enough credits: Click Buy More Credits to purchase additional credits. This opens the billing page in a new tab. After purchasing, close the billing tab and continue the upload in the original window.
After clicking Upload, the modal closes and an import progress tracker appears in the corner of the screen showing the filename and status.
After the Import
When the import finishes, the tracker shows: "X contacts added, Y updated, Z failed."
- Added — new contacts created.
- Updated — contacts that already existed (matched by email) and had their data refreshed.
- Failed — contacts that couldn't be imported. Click the View reasons link to download a failure report explaining each row.
Common reasons for failure:
- Missing or malformed email address.
- Email address is on your team's suppression list or blacklist.
- Duplicate contacts within the same CSV file.
Add a Single Contact
For one-off additions, you don't need a CSV:
- Go to the campaign's Contacts tab.
- Click Add Contact (or look for a + Single Contact option in the upload modal).
- Fill in the contact form: email, first name, last name, company, title, etc.
- Optionally select a Sequence Step to start the contact at if you want to skip step 1 (e.g., add a contact directly to your follow-up step).
- Click Save.
Expected Result
Contacts appear in the campaign's Contacts tab with the status "Active" or "Queued," ready to enter the sequence when the campaign sends.
Troubleshooting
- Issue: Import finishes but contacts don't appear in the campaign.
Fix: Confirm the campaign was selected during the upload (required for team-level uploads). Also check the failure report to see if contacts were rejected.
- Issue: Some contacts import but have blank fields.
Fix: Return to step 2 (field mapping) next time and ensure all columns are mapped. Unmapped columns are silently dropped.
- Issue: Upload completes but contact count is lower than expected.
Fix: Duplicate emails within the same CSV are deduplicated — you'll only get one contact per email address. Contacts matching existing team contacts count as "updated," not "added."
Related Articles
Updated on: 17/03/2026
Thank you!