Importing Historical Data
Gathering all customer feedback in one place is crucial for fully understanding their needs and building a successful Customer Experience strategy. If you have been using other survey tools (e.g., external CRM systems, forms, or dedicated survey platforms) and want to transfer the collected responses to Customer Hero, this document is for you.
The following step-by-step guide explains how to properly format and prepare a file with historical data. Thanks to a correct import, you will maintain analytical continuity, be able to track trends over time, and gain full insight into your customers' satisfaction – all in one central system.
The specification defines the requirements for the format and structure of CSV files to be imported into the Customer Hero platform. Proper file preparation is crucial to ensure data consistency and integrity.
General file requirements
- File format: The file must be in CSV (Comma-Separated Values) format.
- Encoding: The required character encoding is UTF-8. This ensures the correct display of special characters and symbols.
- Separator: The default column separator is a comma (
,). - Structure:
- The first row of the file must contain column headers. Header names must be unique.
- Each subsequent row represents one complete survey submission by a single respondent.
Column structure and naming
The import file can contain two types of data, which should be placed in separate columns: Question Results and Respondent Attributes.
Question Results Columns
Header names for questions should be created according to a consistent schema so the system can automatically recognize the question type.
Naming schema: [question_number]-[question_type]
[question_number]: Question identifier in the survey, e.g.,q1,q2. For matrix questions, you should add the sub-question number, e.g.,q5.1,q5.2.[question_type]: Specifies the question type. Below is a list of supported types:
| Question Type | Identifier | Description and data format |
|---|---|---|
| Open-ended question | open | Respondent's text answer. E.g., "The service was very professional." |
| NPS question | nps | Numerical answer on a scale from 0 to 10. |
| Single choice question | single | Numerical index of the selected answer. The choices are counted starting from 1. E.g., 1 for the first option, 2 for the second. |
| Multiple choice question | multiple | Numerical indices of selected answers, separated by a comma. E.g., 1,3,4. |
| Matrix question | matrix | Each column of the matrix (sub-question) is a separate column in the file. The data format depends on the scale (e.g., numerical 1-5). |
| Form question | form | Each form field is a separate column, e.g., q14.1-form, q14.2-form. The content is the text entered by the user. |
Respondent attributes columns (Tags)
These are additional pieces of information about the respondent or the context of the survey completion that allow for advanced segmentation and filtering of results.
- Naming: Column names for attributes should be concise and understandable, e.g.,
email,contact_date,account_manager,region. - Example attributes:
completion_date: Survey completion date (recommended format: YYYY-MM-DD).email: Respondent's email address (if available).customer_id: Unique customer identifier in your system.branch: Branch or location name.- Any other business data allowing for categorization of results.
Data formatting rules
- Missing answers: If a respondent did not answer a given question, the cell in the CSV file should remain empty. Do not enter values such as
NULL,NA, ornone. - Conditional logic: The file should reflect the survey logic. If a question was displayed only to respondents who gave a specific answer to a previous question (e.g., an open-ended question after a low NPS score), the data should only appear in those rows that meet this condition.
- Data consistency: Ensure that the data across the entire row is consistent. For example, if a respondent gave a rating of 10 in the NPS question, their answer in the open-ended question should have a positive tone.
Example CSV file structure
Below is a simplified example of an import file for a satisfaction survey.
Survey structure:
q1-nps: NPS Score (0-10)q2-open: Score justification (open-ended question)q3-single: Which department did you get help from? (1=Sales, 2=Technical Support, 3=Accounting)- Attributes:
email,completion_date,account_manager
Example import.csv file:
q1-nps,q2-open,q3-single,email,completion_date,account_manager
10,"Everything was great, quick and efficient help from Mr. John.",2,anna.kowalska@example.com,2025-10-13,John Smith
8,"Overall I am satisfied, but the response time could be shorter.",1,tomasz.zalewski@example.com,2025-10-13,Anna Red
3,"No one solved my problem, and the matter was urgent.",2,katarzyna.lis@example.com,2025-10-12,John Smith
9,"",1,piotr.wojcik@example.com,2025-10-12,Anna Red