# Importing into Bento

Once you have exported your data, this guide walks you through importing your contacts into Bento. You'll preserve subscription status, tags, and custom fields along the way. 


> **Recommended**
> Take your time with imports. It's better to import correctly once than to clean up mistakes later. Most imports take 15-30 minutes.


## Before You Begin


  

    ### What You'll Need

     Exported CSV files from your previous platform 

     Separate files for active and unsubscribed contacts

     Access to your Bento account

     30 minutes of uninterrupted time


  
  

    ### Import Order Matters

    1. **Create custom fields first** (if needed)
    2. **Import unsubscribed contacts**
    3. **Import active contacts**
    4. **Verify everything imported correctly**
    5. **Test with a few email addresses**

  


> **Download Sample CSV**: Start with our sample CSV file to understand the exact format Bento expects. This template shows proper column naming and data formatting.


## Bento's CSV Format

### Required Fields

Only one field is absolutely required:

| Field   | Format              | Example          | Notes                               |
|---------|---------------------|------------------|-------------------------------------|
| `email` | Valid email address | john@example.com | Primary identifier for each contact |


> There is currently no way to customize or change email as the primary identifier.


### Common Optional Fields

Add these columns to enrich your contact data:

| Field          | Format          | Example           | Purpose                      |
|----------------|-----------------|-------------------|------------------------------|
| `first_name`   | Text            | John              | Personalization              |
| `last_name`    | Text            | Doe               | Full name display            |
| `tags`         | Comma-separated | customer,vip,2024 | Organization & segmentation  |
| `created_at`   | ISO date        | 2024-01-15        | Historical data              |
| `subscription` | Text            | Pro Plan          | Data Enrichment in Templates |


> ⚠️ **Warning**
> All custom field names must be **lowercase** and use **underscores** instead of spaces. For example: `company_name` not `Company Name`.


### Special Columns

These columns have specific behaviors:

| Column         | Purpose              | Format                     | Example                   |
|----------------|----------------------|----------------------------|---------------------------|
| `tags`         | Add tags to contacts | Comma-separated, no spaces | `customer,newsletter,vip` |
| `remove_tags`  | Remove existing tags | Comma-separated, no spaces | `prospect,trial`          |
| `tag_as_event` | Trigger automations  | true/false                 | `true`                    |


> Setting `tag_as_event` to `true` creates an event for each tag, which can trigger Flows. Leave it empty or set to `false` for normal tag imports.


## Step-by-Step Import Process


  
1. **1. Prepare Your Custom Fields**

    Before importing, create any custom fields your data uses:
    <ol className="list-decimal ml-6 space-y-2">
      <li>Go to `People → Fields` in Bento</li>
      <li>Click <strong>Add Field</strong></li>
      <li>Give it a friendly name for example: Subscription Status (spaces and capitals are ok here)</li>
      <li>For the Key enter exactly as it appears in your CSV (lowercase, underscores)</li>
      <li>Choose the appropriate field type (text, number, date)</li>
      <li>Save each field</li>
    </ol>
    
> Some examples of common fields you might create: company_name, phone_number, customer_id, signup_source

  

  
2. **2. Import Unsubscribed Contacts First**

    Always import unsubscribed contacts before active ones:
    <ol className="list-decimal ml-6 space-y-2">
      <li>Navigate to <strong>People → Import</strong></li>
      <li>Select your unsubscribed contacts CSV</li>
      <li>Check <strong>"Mark as unsubscribed"</strong> option</li>
      <li>Map your columns to Bento fields</li>
      <li>Review the preview carefully</li>
      <li>Click <strong>Import</strong></li>
    </ol>
    
> 🚨 **Important**
> This includes bounced, blocked, and complaint contacts. Importing them as unsubscribed prevents accidental emails.

  

  
3. **3. Import Active Contacts**

    With your unsubscribed contacts in place, import your active subscribers:
    <ol className="list-decimal ml-6 space-y-2">
      <li>Navigate to `People` and click the `Import` Button in the upper right</li>
      <li>Select the `Import CSV` button</li>
      <li>Click `Next` then Select **Subscribe Users** from the select command dropdown</li>
      <li>Make sure you select all the fields you created in step 1</li>
      <li>Leave <strong>"Mark as unsubscribed"</strong> unchecked</li>
      <li>Map columns (should auto-detect if named correctly)</li>
      <li>Verify tag formatting looks correct</li>
      <li>Click <strong>Import</strong></li>
    </ol>
    
> Large imports process in the background. You'll receive an email when complete.

  

  
4. **4. Verify Your Import**

    Check that everything imported correctly:
    <ul className="list-disc ml-6 space-y-2">
      <li>Total contact count matches your expectations</li>
      <li>Search for a few known contacts</li>
      <li>Verify tags appear correctly</li>
      <li>Check custom fields populated</li>
      <li>Confirm unsubscribed status preserved</li>
    </ul>
  


---

## CSV Formatting Examples

### ✅ Correct Format
| email            | first_name | last_name | tags                 | company_name |
|------------------|------------|-----------|----------------------|--------------|
| john@example.com | John       | Doe       | customer, vip        | Acme Corp    |
| jane@example.com | Jane       | Smith     | prospect, newsletter | Tech Inc     |

### ❌ Common Mistakes
| Email Address     | First Name | Last Name | Tags                   | Company Name |
|-------------------|------------|-----------|------------------------|--------------|
| john@example.com  | John       | Doe       | customer, vip          | Acme Corp    |
| jane@example.com  | Jane       | Smith     | prospect, newsletter   | Tech Inc     |


> ⚠️ **Warning**
> Don't use **semicolons (;)** and **pipes (|)** as tag delimiters, which isn’t standard for CSV files.
 Column names should match the **sample csv file**, be all lower case and use an underscore (_) in place of spaces. 
 Importantly you must match formatting for things like names for Stripe integrations so you do not have multiple versions of a contact's name.


  
    **Problems with the incorrect example:**
    - Column headers use capitals and spaces
    - Tags separated by semicolons instead of commas
    - Inconsistent tag separators
  
  
    **The correct format uses:**
    - Lowercase column names with underscores
    - Commas to separate multiple tags
    - No spaces between tags
  


---

## Advanced Import Options

### Triggering Automations on Import

To have tags trigger Flows during import:

| email            | tags           | tag_as_event |
|------------------|----------------|--------------|
| john@example.com | welcome_series | true         |
| jane@example.com | customer       | false        |


> Only use `tag_as_event` if you want to trigger automations immediately. For most imports, leave this column out.


### Updating Existing Contacts

When importing contacts that already exist in Bento:

- **Email matches**: Existing contact is updated
- **New fields**: Added to the contact
- **Existing fields**: Overwritten with new values
- **Tags**: Added (not replaced) unless using `remove_tags`

### Removing Tags During Import

To remove tags while importing:

| email            | tags     | remove_tags          |
|------------------|----------|----------------------|
| john@example.com | customer | vip, trial, prospect |

This adds "customer" while removing "vip", "trial", and "prospect".

## Troubleshooting Common Issues


## Import Best Practices


  
    
      
        
        Do This
      
    
    
      <ul className="space-y-2">
        <li>• Test with 10-100 contacts first</li>
        <li>• Create custom fields before importing</li>
        <li>• Import unsubscribes before active contacts</li>
        <li>• Use our sample CSV as a template</li>
        <li>• Keep original export files as backup</li>
        <li>• Verify data after each import</li>
      </ul>
    
  

  
    
      
        
        Avoid This
      
    
    
      <ul className="space-y-2">
        <li>• Importing all contacts in one file</li>
        <li>• Using spaces in field names</li>
        <li>• Mixing active and unsubscribed contacts</li>
        <li>• Rushing without checking formatting</li>
        <li>• Deleting original exports too soon</li>
        <li>• Ignoring import error reports</li>
      </ul>
    
  


## After Successful Import

Once your contacts are in Bento:


  
5. **Set Up Segments**

    Recreate your dynamic segments using Bento's powerful filtering:
    <ul>
      <li>Go to People → Segments</li>
      <li>Use tags, fields, and behavior to build segments</li>
      <li>Test each segment shows expected contacts</li>
    </ul>
  

  
6. **Configure Flows**

    Rebuild your automations as Bento Flows:
    <ul>
      <li>Start with welcome sequences</li>
      <li>Add abandoned cart flows</li>
      <li>Set up re-engagement campaigns</li>
    </ul>
  

  
7. **Test Everything**

    Before going live:
    <ul>
      <li>Send test emails to yourself</li>
      <li>Verify personalization works</li>
      <li>Check unsubscribe links function</li>
      <li>Test form submissions</li>
    </ul>
  


## Quick Reference

### Import Checklist

Before starting any import:


### Field Naming Cheat Sheet

| ❌ Incorrect  | ✅ Correct    |
|--------------|--------------|
| First Name   | first_name   |
| Company Name | company_name |
| Phone Number | phone_number |
| signupDate   | signup_date  |
| User-ID      | user_id      |
| ZIPCode      | zip_code     |

## Need Help?

If you encounter any issues during import:

- **Email**: support@bentonow.com
- **Discord**: [Join our community](https://discord.gg/ssXXFRmt5F)
- **Import Report**: Check your email for detailed error logs
- **Documentation**: Visit [docs.bentonow.com](https://docs.bentonow.com)


> Our support team handles migrations every week. If you get stuck at any point, reach out and we'll help you through it.


> ⚠️ **Warning**
> Remember: You can always re-import if something goes wrong. Keep your original export files until you're completely satisfied with the import.