Import a CSV when you already have a list of email recipients and want to add them to an audience in Cedros. You will review the columns, choose destination lists, set subscription status, and decide how to handle contacts that already exist.
The import creates or updates email recipient records and list memberships. It does not send a campaign. Check the destination list and subscription results before using the audience.
Prepare your file
Keep an original copy, then prepare a CSV containing only the recipients and columns you intend to import. Export your spreadsheet as a UTF-8 CSV rather than uploading an Excel workbook or renaming its extension.
Use a header row with a distinct name for each column and one recipient per data row. Every recipient needs a valid email address. Names, phone numbers, tags, and subscription status are optional.
The mapping screen supports Email, First name, Last name, Full name, Phone, Tags, and Subscription status. Use clear headers such as email, first_name, and subscription_status. For multiple tags in one cell, separate them with commas or semicolons; let your spreadsheet quote cells containing CSV delimiters when it exports the file.
Before uploading:
- Remove blank recipient rows and correct missing or malformed email addresses.
- Resolve duplicate email addresses yourself, especially when the rows disagree about names or subscription status. This import flow keeps the first occurrence of a duplicate email rather than combining conflicting rows. Differences in letter case or surrounding spaces do not make an address a different recipient.
- Preserve opt-out information. An address being present in your spreadsheet does not establish permission to send marketing email.
- Remove columns you do not want stored. Do not include payment details, private notes, or unrelated customer information just because they were in the original export.
- Check that accented names, phone numbers, and quoted cells still look right in the exported file. Phone values should retain any leading zero or country prefix you need.
The importer recognizes comma-, semicolon-, and tab-separated content. If the preview places everything in one column, re-export a conventional comma-separated CSV and check it again. Upload limits depend on your site's configuration; if a file is rejected for size, split it into smaller files with the same headers and no overlapping recipients.
This workflow is for email audiences. Do not assume that importing a Tags column creates the shared tags you manage in People, or that importing an audience replaces the process for maintaining People profiles. See Adding and updating a contact for that separate workflow.
Open the importer and map columns
You need permission to import contacts and start import processing. Creating a destination list, reading import history, downloading error reports, and controlling jobs can require additional permissions. If an action is missing or denied, ask a site administrator to check your access; see Why can't I see or use a feature?.
- Open Lists in your site's admin and select New List.
- Under Who's on this list, choose Upload a CSV. You can use this path for an existing destination list as well as a new one.
- Select Browse files, or drop the CSV into the upload area.
- Check the file name, row count, and column headings. The preview shows the first five data rows, so review the rest of the file in your spreadsheet too.
- Use the dropdown above each column to check its destination. Map the email-address column to Email, then check any names, phone numbers, tags, and subscription values you intend to import.
- Select Continue when the mapping is correct. Use Back on the next screen if you need to change it before saving.
Cedros suggests mappings from familiar headers, but you remain responsible for checking them. Mapping another column to an already-used field changes which column supplies that field. Confirm the final mapping rather than assuming both columns will be combined.
A column named only status is deliberately not assumed to describe an email subscription. It could be an order status or customer stage. Map it to Subscription status only if its values actually describe permission to receive email.
The dropdown includes Don't import. For information that must not be uploaded or stored, remove the column from the source file before selecting it. The import retains the uploaded file for processing and troubleshooting, separately from the fields mapped into recipient records.
Choose the destination and subscription status
In Confirm details, decide where the recipients should go and what subscription state they should have.
- To create a new list, enter a clear, unique New list name and leave existing lists unselected. The suggested name comes from the file name; the new list is private.
- To use existing lists, select them under Also add to existing lists. Despite that label, selecting existing destinations disables New list name and means no new list is created. Check every selected list.
- Choose the required Subscription status based on the recipients' actual permission to receive email.
- Review the existing-contact options described below. Check the destinations, subscription choice, and CSV mapping once more before selecting Save.
The subscription choices are:
- Already subscribed: use this only for recipients who have already opted in and whom you have permission to email. The import records your confirmation; it does not collect fresh permission from them.
- Send a confirmation email first: imports an unconfirmed membership, shown as Pending in the list. The recipient needs to confirm before receiving campaigns. Completing the import does not prove that a confirmation message was sent or delivered; check the confirmation process separately before relying on it.
- Add without subscribing: imports an unsubscribed membership so the recipient is stored without being subscribed to the selected list.
If you mapped Subscription status, supported per-row values are exactly confirmed, unconfirmed, and unsubscribed. A recognized row value takes precedence over the default selection. Blank or unrecognized values fall back to that default; labels such as yes, active, or opted out are not substitutes. Normalize these values before uploading, particularly in a file containing a mixture of subscribed and unsubscribed people.
Choosing a default does not make an inconsistent file safe. For example, a confirmed value in a row can confirm that membership even when you selected a pending default. For the clearest consent handling, import groups with the same subscription status separately and choose the matching default.
An existing destination may require double opt-in. If Cedros rejects confirmed recipients for that reason, use the appropriate pending status or ask the administrator responsible for subscriptions to review the workflow. Check both the default and any mapped row values; do not change the list's policy just to make an import pass.
Decide how existing contacts are handled
Cedros matches email contacts by normalized email address. Check If a contact already exists carefully:
- Fill in missing fields only is the default. It preserves existing core contact values and fills blanks from the mapped name and phone fields. It does not mean the entire import is read-only: list memberships and recipient information can still be processed.
- Leave them unchanged skips an existing contact's row entirely. It does not add that existing contact to a new destination list. Use this when you intend to import only new email contacts.
- Replace with values from CSV allows incoming mapped values to replace existing values. Treat it as an update to existing records, not simply an addition to a list. Keep a copy of the information you may need to restore.
These choices are not a general-purpose way to merge People profiles or resolve two different email addresses belonging to the same person. They also do not promise that a Tags column will merge into all existing tags. Check representative recipients after importing before applying the same approach to a larger file.
Leave Re-subscribe contacts who previously opted out off unless those people have given fresh consent and you have the required permission. This choice is separate from the existing-field policy. Suppressed addresses cannot be reactivated by importing them, even when resubscription is selected.
Save and follow the import
Selecting Save creates an import job, validates the file and options, and queues it if the checks succeed. There is no separate final Commit button in this flow.
- Select Save once and wait for the result.
- If validation fails, read the error and correct the file, mapping, destination, or subscription choice before trying again. A new destination list may already have been created even though recipients were not imported.
- If you see Import queued, review the summary, then follow the job in Import status. Match it by file name and start time.
- Wait for Imported and review the added, updated, and skipped counts. Open View list to check the recipients. If you selected several destinations, open the other lists from Lists as well.
The summary above Import status describes the validation result; it is not a live count of completed changes. Use the job's status and progress for the current processing result. The status panel refreshes while work is queued or importing and shows up to ten recent jobs.
Common states are:
- Uploaded or Reviewed: the file or validation result exists, but this is not proof that processing was queued.
- Queued: processing is waiting to run. It may also appear between batches.
- Importing: rows are being processed.
- Imported: processing has finished. Check the outcome counts and recipients, not just the status label.
- Failed: processing stopped; read the reason shown beneath the file name. Earlier rows may already have changed records.
- Paused, Cancelling, or Cancelled: an operator stopped or interrupted processing. These states do not reverse completed changes.
A valid-looking preview does not guarantee that Save will succeed. Invalid email addresses, suppression, existing opt-outs, or list requirements can block the import; do not assume Cedros will always import every good row and silently discard the rest. Resolve the reported issue and check the final result.
Pause, cancel, or retry
Use the actions beside the correct job in Import status, when available to your account.
Pause stops a queued or running import so you can investigate. Resume continues a paused job. Cancel stops further processing; a running job may show Cancelling before it becomes Cancelled. Wait for the job's final status rather than relying only on the action's notification.
Neither Pause nor Cancel undoes recipients, field updates, or memberships already processed. A completed import cannot be cancelled as a way to roll it back.
Retry requeues a failed or cancelled job using its retained file and options. Use it after resolving a temporary processing problem. It retries unfinished or failed work rather than replacing the file with a corrected copy. For a bad CSV or wrong mapping, prepare the correction and review the existing results before submitting a new import.
Retry is unavailable once the original file or processing rows have expired under your site's retention settings. Keep your own source copy. If you must upload again, first check which recipients were already added or updated and select an appropriate existing-contact policy.
If a job remains queued, check any processing warning shown in Import status and ask your site administrator for help. Starting another import of the same file does not fix the original processing problem. If you have left the results screen or cannot see the relevant job, ask an administrator to inspect that import rather than creating another job just to reach its status.
Verify the recipients and resolve errors
Open the destination list and check a small set of representative records: a new recipient, an existing contact, and any recipients whose subscription state needs particular care.
- Confirm that the expected recipients appear in every intended destination list.
- Check names and other imported details against the CSV and your chosen existing-contact policy.
- Check membership status: Subscribed, Pending, or Unsubscribed should reflect the intended result. A subscribed membership can still be blocked from campaign delivery by suppression, preferences, or consent checks.
- Compare the job's added, updated, and skipped counts with what you expected. Review duplicates and reported errors before considering the import complete.
List search may cover only the first 2,000 loaded recipients. A missing result in a limited view does not prove that the full list lacks the address. See Creating an audience list for list checks and sending eligibility.
When Download error report is offered, download it promptly; access requires permission and retained error details. Use the row number and message to locate the issue in your source file. The first data row is row 2 because the header occupies row 1. A row 0 message refers to a general import setting rather than a recipient row.
Fix missing or malformed addresses in the source. Remove suppressed recipients from the attempted import rather than trying to reactivate them. Keep people who opted out excluded unless you have fresh consent and the appropriate resubscription authority. A cancelled or failed job can leave a new empty list or partially processed records, so check before repeating the import.
For help, provide the file name, destination list, approximate start time, status, and exact error message. Share a redacted example row if needed, not your full customer file. See Getting help with your Cedros site.