# Import leads and verify emails

> How to import leads from a CSV or a pasted list into EmailPal's CRM, a list or a campaign, map columns and custom fields, skip duplicates and blocked addresses, and verify emails during the import.

Source: https://emailpal.io/help/importing-leads-and-verification

## Where to import

The same **Import leads** dialog opens from three places:

- **CRM**, **Leads**, with the **Import** button.
- **CRM**, **Lists**, with **Import into list** on a list.
- A campaign's **Leads** tab, with **Add leads** and then **Upload CSV or paste emails**.

Leads you import from a campaign are added to the CRM and to that campaign. Leads imported into a list are added to the CRM and the list.

**Add from a list**, also under **Add leads** on a campaign, adds everyone on a list who can be emailed. Unsubscribed, bounced and blocklisted contacts are skipped.

## Step 1: choose the source

Pick **Upload CSV** or **Paste emails**.

- **Upload CSV.** Drop a file or choose one. It can be `.csv`, `.tsv` or `.txt`, with up to 1,000,000 rows. The file is read in your browser, so large files are fine.
- **Paste emails.** One lead per line. Plain addresses work. So do `Name <email>` and a CSV with a header row.

Only the email column is required.

## Step 2: map the columns

For each column in your file, choose what it becomes under **Import as**:

| Option | What it does |
| --- | --- |
| Email, First name, Last name, Job title, Company name, Personalization, Phone, Website, Location, LinkedIn | Fills that field on the lead. |
| **Full name (split)** | Splits one name column into first and last name. |
| **Custom variable** | Creates a custom field and gives you a variable name for it. |
| **Do not import** | Ignores the column. |

### Custom fields

Custom fields are extra columns on every lead. An import creates one from each **Custom variable** column, and each one is usable in emails as `{{variable}}`. A name starts with a letter, uses letters, numbers and underscores, and is at most 40 characters. A workspace can have up to 50 custom fields. [Steps, waits and A/B variants](/help/campaign-steps-and-variants)

## Skip people who are already…

Before it imports, the dialog asks who to skip:

| Option | Default |
| --- | --- |
| **In any campaign** | On. Avoids contacting someone a second time. |
| **On any list** | Off |
| **Anywhere in this workspace** | Off. Turn it off to add existing contacts to this campaign or list. |

Repeats inside the file, and people already in the same campaign or list, are always skipped.

Blocked addresses and domains, platform suppressions and unsubscribed people are always skipped. [The global blocklist and unsubscribes](/help/blocklist-and-unsubscribes)

## Verify emails after import

The **Verify emails after import** checkbox is off by default. It uses verification credits, one per address, and the results are saved on each lead.

- If you do not have enough credits, the import offers to carry on without verifying.
- Imports over 250,000 addresses still load, but verification is left for you to start from the **List check** page.
- You can also verify any list later. [How to verify an email list before sending](/help/how-to-verify-an-email-list-before-sending)

How verification affects sending:

| Result | In a campaign |
| --- | --- |
| **Valid** | Sent. |
| **Invalid** | Never sent. |
| **Risky** and **Catch-all** | Sent only if the campaign has **Email risky addresses** on. |
| **Unknown** and **Not verified** | Sent on a Standard workspace. Blocked on a new one, which only sends to verified addresses. |

[Six verification verdicts](/help/six-verification-verdicts), [Campaign launch checklist](/help/campaign-launch-checklist)

## While it runs

The import runs in the background. It goes through **Checking for duplicates and blocked addresses**, **Adding leads**, **Finishing up** and, if you chose it, **Verifying emails**. You can close the window and you get a notification when it finishes.

## The result

The result shows how many leads were added, how many were new and how many were already in your CRM. If any rows were skipped it lists each reason with a count and offers **Download skipped rows (CSV)**.

Rows can be skipped because there is:

- no email address, or an invalid one;
- a duplicate of an earlier row in the file;
- a match on your blocklist, by address or by domain;
- a match on the platform suppression list, because the address unsubscribed, bounced or complained before;
- a contact who unsubscribed;
- a lead who is already in your workspace, a campaign, a list, or this campaign.

## FAQs

### Which column is required?

Only email.

### Why were so many of my rows skipped?

Open the result and read the reasons. Most are duplicates, or people who are already in a campaign because **In any campaign** is on by default.

### Can I import the same person into two campaigns?

Yes. Turn off **In any campaign** and **Anywhere in this workspace**. Repeats within the same campaign are still skipped.

### Is verification worth the credits?

A high bounce rate pauses a campaign, and unverified leads raise a warning at launch. Verify before you launch.

## Need More Help?

[Lead statuses](/help/lead-statuses), [List verification by EmailPal](/help/list-verification-by-emailpal), [Create a campaign](/help/create-a-campaign).
