# Can I bring my existing list?

> Import subscribers into Broadcast by CSV or TSV, or through the API. Here is what carries over, what does not, and how to protect deliverability on the first send.

Source: https://sendbroadcast.net/how-to/bring-your-existing-list

Yes. There are three ways in, and one thing worth planning before you send.

## Getting the data in

- **CSV or TSV import** for a one-time move. Include tags and custom data as columns
  and they come across with the subscriber.
- **The [Subscribers API](https://sendbroadcast.net/docs/api-subscribers)** for ongoing sync from your own system.
- **Manually**, for small numbers.

[The subscriber documentation](https://sendbroadcast.net/docs/managing-subscribers) covers all
three, including what the import expects your file to look like.

![The CSV import column mapper, matching file columns to subscriber fields, tags and custom data](https://sendbroadcast.net/assets/docs/subscribers/import-column-mapping-c04023ab.png)

Broadcast guesses each column from its header. Anything it gets wrong you remap here, before a single subscriber is created.

## Coming from a specific platform

We have step-by-step guides for the common moves:

- [Migrating from Mailchimp](/migrate/from-mailchimp)
- [Migrating from ConvertKit](/migrate/from-convertkit)
- [Migrating from beehiiv](/migrate/from-beehiiv)

## From Shopify

Shopify exports customers as a CSV file. Broadcast imports it.

1. In Shopify, open **Customers** and click **Export**. Choose all customers and
   the plain CSV format. Tick **Customer tags** if you want them. Exports over 50
   customers arrive by email.
2. Open the file and keep only rows where **Accepts Email Marketing** is `yes`.
   The other customers did not agree to marketing email. Do not import them.
3. Import the file. Map **Email**, **First Name** and **Last Name** to the
   subscriber fields. Map **Total Orders** or **Total Spent** to custom data if
   you want to segment on them.
4. Tag them `customer`, so you can tell buyers from newsletter signups later.
   Without Shopify's tags in the file, add a **Tags** column with `customer` in
   every row. With them, add `customer` to each row's **Tags** cell. Map the
   column to **Tags** and pick the comma separator.

A CSV is a one-time copy. To keep new orders flowing in, see
[connecting Shopify to Broadcast](/how-to/connect-shopify-to-broadcast).

## What does not come across

Engagement history. Opens and clicks from your old platform stay there, so
engagement-based segments start empty and fill as people interact with mail you send
from Broadcast. Plan for a short window where "opened in the last 30 days" matches
nobody.

Bring your **suppression list** over separately. Hard bounces and complaints from
your previous platform should go into
[suppressions](https://sendbroadcast.net/docs/suppression-lists) before your first send, not
after. Mailing addresses that already bounced elsewhere is the fastest way to damage
a new sending domain.

![The import preview showing the first six rows as they will be read, before anything is created](https://sendbroadcast.net/assets/docs/subscribers/import-preview-cafc5da4.png)

The preview reads your file exactly as the import will. Worth checking on a short file before running the whole list.

## Before the first send

You are sending from a new domain and a new IP, and mailbox providers have no
history for either. Read the [domain warm-up guide](/warm-up-email-domain) and start
with your most engaged people rather than the whole list.

Confirm [SPF, DKIM, and DMARC](https://sendbroadcast.net/docs/dns-health) are green
first. See [fixing DNS authentication](/how-to/fix-dns-authentication) if they are not.

---

Large or unusual list? [Ask before you import](mailto:simon@sendbroadcast.net?subject=List%20import%20question).
