Formatting CSV files to speed up ingestion into Viable

Formatting CSV files to speed up ingestion into Viable

A lot of customer text data you want to analyze comes in CSV format. Free form responses in NPS, CSAT, and in-app surveys, as well as product reviews are some examples.

CSV documents, however, don’t all come formatted in the same way.

To speed up CSV data ingestion so you can start asking questions faster, here are tips for formatting the data before you send it our way.

Download sample CSV templates for a survey or all other feedback.

Data required for CSV uploads in Viable

Data sent to us for ingestion should have rows of entries with the following columns:

  • Comment – that is, the free text response to a feedback survey, product review, etc
  • Timestamp – the date and/or time the response was submitted
  • Unique user identifier (email address, user ID, etc) – not all submissions will have a corresponding email address or user ID, which is ok (see User ID section below for more)

Optional data


Any customer segmentation data for respondents. Some examples include:

  • Behavioral traits such as active user, occasional shopper, promoter, device type
  • Demographics such as age, occupation, job title
  • Geographic such as country, city, zip code


Any metadata that applies to the textual comment itself. Some examples include:

  • Review metrics, such as NPS or CSAT scores
  • Tags, such as any custom fields tagged in the source of the data
  • Prompts, such as the question asked of the user where their feedback was the answer (e.g. in an NPS survey, a question such as “Tell us more about why you chose x”)


The ID of the piece of data from the source tool, i.e. the ID of a Zendesk ticket or Delighted survey.

How to structure your columns

The Comment column is where free text data will be captured. It doesn’t have to be labeled Comment specifically but it should be labeled the way you’d like to see it appear in Viable.

The Timestamp column should preferably be in a format that the Javascript programming language can parse. It can be labeled as timestamp, created at, submitted at, etc.

These are some of the acceptable timestamp formats:













M/D/YYYY HH:mm:ss













3/3/2018 11:22

03/03/2018 20:59

3/3/2018 11:22:33

03/03/2018 11:22:33

The Unique ID column should include the end user’s email address, user ID, or other unique identifier if applicable. If no unique user identifier is available, we’ll associate the data to a uniquely identifiable Anonymous user.

Customer traits and metadata should be formatted similarly to each other by labeling the column as the type of trait or metadata (e.g. CSAT Score, NPS, Location, Age), the way you’d want to see it in Viable; that is how it'll show up as filters in Viable. For example, a location trait column should be labeled Location rather than user_geo_listed.

The cleaner the column header in the CSV, the cleaner it will appear in Viable.

Data within a trait or metadata cell: if a cell contains more than one trait or metadata value (e.g. “design system, Figma, Jira” for metadata column Tags), these values should be separated by a comma.

Download sample CSV template for a survey or all other feedback. To download as a CSV file, go to File >> Download >> Comma-separated values (.csv, current sheet)

Formatting CSV files to speed up ingestion into Viable
Viable Team, April 19, 2021
Ready to get started?
Our product experts are here to walk you through how easy qualitative analysis can be. Book a demo to see the power of our Quailitative AI with your data.
Book a Demo