The Amplitude Cohort CSV Format Explained (And Why Yours Is Probably Wrong)

Published 2026-05-08

Amplitude’s cohort upload is deceptively simple but has strict requirements that cause silent failures if you get them wrong.

What Amplitude expects

For a CSV cohort upload (Audiences → Cohorts → Import CSV), Amplitude wants a file with:

  1. Exactly one column. No header row, or a header row with the column named exactly user_id or amplitude_id.
  2. One user identifier per row. No commas, no whitespace, no blank rows.
  3. Consistent ID type. Either all rows are user_id values, or all are amplitude_id values — you can’t mix them.
  4. Integers for amplitude_id, strings for user_id. If your user_id column has non-integer values mixed with integers, Amplitude will accept the upload but silently drop the non-matching rows.
  5. No duplicates. Amplitude deduplicates on its end, but duplicate rows cause upload warnings that can look like errors.

Why cohort uploads fail silently

Amplitude doesn’t reject badly formatted cohort CSVs — it processes them and shows the cohort as created but with 0 or fewer users than expected. Common failure modes:

The fix

csvtocsv.com/csv-to-amplitude-cohort takes any CSV, lets you pick which column contains your user identifier, strips blanks and duplicates, and outputs a single-column file in the exact format Amplitude expects. Free preview (no signup); $9 for 10 full downloads.

Convert CSV to Amplitude Cohort