My subscriber import did not work

1. Fewer subscribers than rows is often correct

An import that adds fewer people than your file had rows is usually working as designed. Broadcast skips:

  • Addresses on your suppression lists, including global suppressions that apply across every channel
  • Duplicates, both within the file and against subscribers already in the channel
  • Malformed addresses

Check your suppression list before concluding rows were lost. If you imported a suppression list first, which is the right order, some overlap is expected.

The Suppression List, which import silently skips addresses against
Imports skip suppressed addresses without comment, so a smaller count than you expected is often correct.

2. Check the file format

Imports accept CSV or TSV. Things that commonly break a file:

  • The email column not being where the importer expects it
  • A stray delimiter inside an unquoted field, which shifts every column after it
  • Smart quotes or a byte-order mark from a spreadsheet export
  • Trailing blank rows

Re-export as plain CSV from your source rather than editing by hand. Test with the first twenty rows before running the whole file.

The subscriber documentation covers what the importer expects, including tags and custom data columns.

3. Check you are in the right channel

Subscribers belong to a channel. Importing while the wrong channel is selected puts everyone in the wrong place. They are not missing, they are elsewhere. Switch channels and check before re-running the import.

The import column mapper with a Tags column, a custom field mapping and the tag separator options
Tags and custom data have to be mapped explicitly, and a multi-tag column needs the matching separator.

4. Tags and custom data did not come across

These need to be columns in the file. If they are present but not applied, the column headers are probably not what the importer expects. Check the documentation, then verify against a single test subscriber before importing everyone.

You can also attach custom data afterwards through the Subscribers API.

5. Large imports

Big files process in the background. If nothing appears to be happening, check the background jobs dashboard in Monitoring and Logs rather than re-running the import, which risks a partial duplicate pass.

Before you send to the imported list

Read bringing your existing list over. Engagement history does not migrate, and a first send to a freshly imported list from a new domain needs care.


Email us with the row count you expected and what you got.