Skip to content

Importing Contacts

PrimoCRM’s migration engine imports your existing audience from a CSV file, with column mapping, duplicate handling, and a safe, resumable process for large lists.

  1. Go to Migration then Import.
  2. Upload your CSV.
  3. Map columns: match each CSV column to a contact field. Email is required; map the rest to first name, last name, or a custom field.
  4. Choose lists and tags to apply to everyone in this import.
  5. Start the import.

New contacts are set to Subscribed by default.

  • Use a header row with clear column names.
  • Include one column for email. This is the only required column.
  • Use UTF-8 encoding so names and accents import cleanly.
  • One contact per row.

A minimal example:

email,first_name,last_name,company
ada@example.com,Ada,Lovelace,Analytical Engines
grace@example.com,Grace,Hopper,Navy

The import runs in the background in batches, so a big file does not time out. You can watch progress, and the process is resumable. Existing contacts are matched by email and enriched: new data fills gaps rather than clobbering values you already have.

Very large CSVs can exceed your server’s PHP upload limits, upload_max_filesize and post_max_size. A file larger than post_max_size is discarded by PHP before it reaches PrimoCRM, and the importer reports the exact limit it saw.

To fix it, either:

  • ask your host to raise post_max_size and upload_max_filesize (see Requirements), or
  • split the CSV into smaller files and import them one after another.
  • Check a few contacts to confirm fields mapped correctly.
  • Review the applied lists and tags.
  • If something mapped wrong, you can re-import; matched contacts are enriched, not duplicated.

Moving from FluentCRM or another tool keeps more than a plain CSV can. See From Another CRM.