Import Builder/Guides/CSV Header Naming
Data Collection

How to Name CSV Columns So Your Team Doesn't Make Mistakes

Column headers do two jobs: they tell people what to enter, and they tell the importing system which field each column is. Get the second one wrong and the data never arrives, so start by knowing which headers must stay exactly as they are.

First: will the file be imported as it is?

Most systems match columns by their header. Shopify, HubSpot, Mailchimp and the rest expect their own names, spelled exactly, and a header such as "Email Address (required)" either isn't recognised or has to be matched by hand at every import.

Imported as it is

Use the system's header names exactly, from its sample file or an export. Put instructions somewhere else: a note above the table, a comment on the header, an instructions tab, or help text in a form.

Read by people, then mapped

If you'll rename or map the columns yourself, or the data goes into your own system, descriptive headers with format hints help. The advice below is for these.

Why header names matter

When users fill out a spreadsheet, they look at the header to understand what you want. A clear header—like "Email Address"—is better than "email" or "e". A header that includes format instructions—like" Phone (10 digits, no dashes)"—prevents mistakes.

Guides user behavior

Clear headers tell users exactly what format you expect. They're less likely to guess wrong.

Reduces validation errors

When users understand what you want, fewer submissions fail validation. Less back-and-forth.

Documents your data

Good headers make it clear what each column contains. Future readers (including you) understand the data.

Improves consistency

When users understand your format requirements, data stays consistent across all submissions.

Example: Email column

Bad header

email

User might enter: "john.smith" or "John Smith"

Good header

Email Address

User enters: "john@example.com"

Header naming best practices

Follow these rules for headers that people read. If the file is imported as it is, keep the system's names and put the hints and required markers in your instructions instead.

Be specific and descriptive

Use 'Last Name', not 'Name'. Use 'Phone Number', not 'Phone'. Every word matters.

Add format hints in parentheses

Examples: 'Phone (555-123-4567)', 'Date (MM/DD/YYYY)', 'Price (USD, no symbols)'

Mark required fields

Add an asterisk or '(required)' to fields that can't be blank, such as 'Email Address *', and explain the marker once above the table.

Avoid UPPERCASE

Write 'First Name' or 'First name', not 'FIRST NAME'. Pick one style and use it for every column.

Avoid abbreviations unless universal

Use 'State', not 'ST'. Use 'Country', not 'CTRY'. Only abbreviate if everyone understands it.

Be consistent across columns

If one column says 'Last Name', don't call another 'Firstname'. Use the same pattern everywhere.

Include validation constraints

Examples: 'Age (must be 18+)', 'ZIP Code (5 digits)', 'Quantity (whole numbers only)'

Show what NOT to do for tricky fields

For 'Price', write '(numbers only, no $)'. For 'Phone', say whether to include the country code.

Use standard field names

Use 'Email Address' not 'E-mail'. Use 'First Name' not 'Given Name'. Follow conventions users recognize.

Keep headers short but complete

Aim for one or two words plus instructions. Longer headers are harder to fit on screen.

Good vs bad header examples

For headers people read, not ones an import matches exactly.

Email

Bad

email

Good

Email Address *

Why: Specific, and marked as required

Phone

Bad

phone

Good

Phone Number (555-123-4567)

Why: Shows exact format expected, prevents user guessing

Birthday

Bad

DOB

Good

Date of Birth (MM/DD/YYYY)

Why: No abbreviations, format is explicit

Price

Bad

price

Good

Price (USD, numbers only - no $)

Why: Currency specified, format constraints clear

Website

Bad

url

Good

Website (https://example.com)

Why: Shows format, doesn't assume user knows 'URL'

Quantity

Bad

qty

Good

Quantity (whole numbers only)

Why: No abbreviations, validation rule included

Headers by field type

Different data types need different header instructions.

Text fields

First Name *
Company Name
Street Address

Email

Email Address *
Work Email (optional)

Phone

Phone Number (555-123-4567)
Mobile (no dashes)

Numbers

Age (whole numbers only)
Quantity (must be more than 0)

Currency

Price (USD, numbers only - no $)
Amount (e.g., 99.99)

Dates

Date of Birth (MM/DD/YYYY)
Start Date (YYYY-MM-DD)

Dropdowns/Selection

Status (Active, Inactive, Pending)
Country (select from list)

Yes/No

Newsletter Signup (Yes/No)
Active Account (Yes/No)

Headers in Import Builder

In an Import Builder form you don't have to choose between a friendly header and the name your import needs. Each column has both, and the rules are set separately.

What you set for each column:

  • Header: what people see in the form, such as "Email address"
  • Field: the column name in the downloaded CSV, exactly as your import expects it, such as EMAIL
  • Help text: format hints, shown when someone hovers the ⓘ next to the header
  • Rules: the column type, required, unique and the allowed values, which are checked as people type

Example: one column, set up in the builder

Header
Email address
Field
EMAIL
Type
Email, required, unique
Help text
One address per contact

People see "Email address" with a hint; the CSV they download has an EMAIL column your import recognises.

Header naming checklist

Headers are specific, not abbreviated
Headers for direct imports match the system's names exactly
Elsewhere, format hints are in parentheses
Required fields are marked, with the marker explained once
Examples are included for tricky fields
No UPPERCASE, and one capitalisation style throughout
Headers are consistent across columns
Validation rules are visible (e.g., 'no symbols', '5 digits')
Standard field names are used (Email, not E-mail)
Headers fit on one line when possible
Related fields use the same naming pattern
Dropdown/selection options are listed if short
Headers tell users what NOT to do

Design forms with clear headers

Give people friendly headers and help text while the CSV keeps the exact column names your import needs, with every value checked as it's entered.

Start building free