# CSV Upload & Mapping

Import your contact lists and map data fields to personalize videos at scale. Upload CSV files with your audience data and automatically create personalized experiences for each contact.

## Preparing Your CSV File

### Required Format

Your CSV file should have:

* **Header row** with column names
* **One row per contact**
* **Email addresses** (required for identification)
* **Consistent formatting** (no extra spaces, proper delimiters)

### Sample CSV Structure

```csv
email,first_name,last_name,company,industry,company_size,job_title
john.smith@acme.com,John,Smith,Acme Corp,Technology,Enterprise,Marketing Director
sarah.jones@startup.com,Sarah,Jones,Startup Inc,Finance,Small,CEO
mike.wilson@enterprise.com,Mike,Wilson,Enterprise LLC,Healthcare,Large,IT Manager
```

## Uploading Your CSV

### Step 1: Access the Upload Interface

1. Go to your project's **Data** section
2. Click **Upload CSV** or **Import Contacts**
3. Select your prepared CSV file

### Step 2: Preview and Validate

* Review the first few rows of your data
* Check that column headers are recognized correctly
* Verify data types (text, numbers, dates) are detected properly
* Look for any formatting issues or missing data

### Step 3: Map Your Fields

Match your CSV columns to Blings data fields:

**Common Mappings:**

* `email` → Email Address (required)
* `first_name` → First Name
* `last_name` → Last Name
* `company` → Company Name
* `industry` → Industry
* `company_size` → Company Size
* `job_title` → Job Title

## Field Mapping Options

### Standard Fields

Pre-defined fields that work with our templates:

**Personal Information:**

* First Name, Last Name, Full Name
* Email Address, Phone Number
* Title, Department, Job Level

**Company Information:**

* Company Name, Industry
* Company Size, Revenue Range
* Location, Country, Time Zone

**Custom Fields:**

* Any additional data you want to use
* Product preferences, purchase history
* Custom attributes specific to your business

### Advanced Mapping

Create custom field mappings for unique data:

**Examples:**

* `customer_segment` → Segment
* `total_purchases` → Purchase Count
* `last_order_date` → Last Purchase Date
* `preferred_products` → Product Preferences

## Data Validation and Cleaning

### Automatic Validation

The system checks for:

* **Valid email formats** — Ensures proper email structure
* **Required fields** — Identifies missing critical data
* **Data consistency** — Flags unusual values or formats
* **Duplicate detection** — Finds and handles duplicate entries

### Manual Review

Review flagged issues:

* **Invalid emails** — Fix or remove malformed addresses
* **Missing data** — Decide whether to exclude or use defaults
* **Format inconsistencies** — Standardize date formats, company names, etc.
* **Outliers** — Review unusual values that might be errors

## Best Practices

### Data Preparation

* **Clean before upload** — Remove duplicates and fix formatting
* **Use consistent naming** — Standardize company names, job titles, etc.
* **Validate email addresses** — Ensure all emails are valid and active
* **Test with sample data** — Upload a small subset first to test mapping

### Field Mapping

* **Map all relevant fields** — Don't leave useful data unmapped
* **Use descriptive names** — Make field names clear and consistent
* **Consider data types** — Ensure numbers, dates, and text are properly categorized
* **Plan for growth** — Structure your data to accommodate future fields

### Quality Assurance

* **Preview personalized content** — Test how your data looks in videos
* **Check for missing data** — Ensure fallbacks work for empty fields
* **Validate personalization** — Confirm dynamic content displays correctly
* **Monitor performance** — Track how personalized videos perform

## Common Issues and Solutions

### Upload Problems

* **File too large** — Split into smaller files or compress
* **Encoding issues** — Save as UTF-8 format
* **Delimiter confusion** — Use commas, not semicolons or tabs
* **Header row issues** — Ensure first row contains column names

### Mapping Issues

* **Unrecognized fields** — Create custom field mappings
* **Data type mismatches** — Adjust field types in mapping
* **Missing required fields** — Add default values or exclude records
* **Duplicate field names** — Rename conflicting columns

### Data Quality Issues

* **Inconsistent formatting** — Standardize before upload
* **Missing values** — Decide on fallback strategies
* **Invalid data** — Clean or exclude problematic records
* **Outdated information** — Update data before uploading

## Advanced Features

### Batch Processing

* **Large file support** — Upload files with thousands of contacts
* **Background processing** — Continue working while data uploads
* **Progress tracking** — Monitor upload and processing status
* **Error reporting** — Get detailed reports on any issues

### Data Updates

* **Incremental updates** — Add new contacts without re-uploading all data
* **Field updates** — Modify existing contact information
* **Sync capabilities** — Keep data current with regular updates
* **Version control** — Track changes to your contact data

***

**Need to pass data via URLs?** Learn about [URL parameters](/personalization-data-management/url-parameters.md) for dynamic personalization.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.blings.io/personalization-data-management/csv-upload-mapping.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
