# Uploading Contacts

Before uploading, make sure your CSV file is formatted correctly. (You can still map columns later even if they aren’t formatted exactly.)

#### Example CSV Format

| Full name  | First name | Last name | Email address       | Phone number    | Tags                  | Genres             | Address           | Brithday    |
| ---------- | ---------- | --------- | ------------------- | --------------- | --------------------- | ------------------ | ----------------- | ----------- |
| John Smith | John       | Smith     | <example@email.com> | +1-234-567-8910 | "Top Spenders", "VIP" | "Dance/Electronic" | San Francisco, CA | Jan 1, 1990 |

{% file src="/files/zdjh0jxlLSd666DFsgwc" %}

#### Supported Date Formats

When including dates in your CSV (e.g., birthdays), Cymbal supports the following formats:

* **2006-01-02** - International Standard (ISO 8601)
* **2006/01/02** - International Standard with slashes
* **02 Jan 2006** – Human-readable (day first, abbreviated month)
* **2 Jan 2006** – Human-readable, no leading zero
* **January 2, 2006** – US-style written date
* **Jan 2, 2006** – US-style with abbreviated month
* **01/02/2006** – US short format (MM/DD/YYYY)

#### Steps to Upload Contacts

1. Go to [**Audience**](https://manager.cymbal.co/audience) tab:&#x20;
2. Click **Add contacts** (top right).

<figure><img src="/files/eXv4R83W71tsylEoevE4" alt=""><figcaption></figcaption></figure>

3. Select **Upload CSV**.

<figure><img src="/files/vu8l7TOXkel6iCGMbfCm" alt=""><figcaption></figcaption></figure>

4. Upload your file by either:

* Clicking **Choose a file**, or
* Dragging and dropping your file onto the screen.

<figure><img src="/files/uiZ1h0QBPNRlfOHt9AfO" alt=""><figcaption></figcaption></figure>

5. Choose how to handle **Email** and **Text subscriptions**:

* **Subscribe everyone** – marks all contacts as subscribed, even if they previously opted out.
* **Subscribe only if not opted out** – adds contacts without re-subscribing anyone who unsubscribed.
* **Unsubscribe everyone** – marks all as unsubscribed.
* **Unsubscribe only if not subscribed** – unsubscribes only those not already subscribed.
* **Don’t change subscription** – keeps current subscription status.\
  Click **Continue**.

<figure><img src="/files/9vHz3a7ijBXAaQQRsYQN" alt=""><figcaption></figcaption></figure>

6. Map your CSV fields to **Cymbal attributes**:

* Left column = your CSV column names.
* Middle = assign each to the correct Cymbal field (e.g., email, phone, first name, last name).
* Right column = preview of your CSV data for accuracy.\
  Click **Continue**.

<figure><img src="/files/TIwYK2Be0RgOeanxgwsM" alt=""><figcaption></figcaption></figure>

***

⚡ **Note:** Only contacts with **explicit consent** may receive emails or texts.

***

7. Add **tags** or **lists** to organize contacts:

* **Tags**: Internal only, customers cannot see them. Used for segmentation and tracking.
* **Lists**: Can be public or private. Customers can subscribe/unsubscribe if public. Used for managing preferences.\
  Select tags and/or lists, then click **Continue**.

<figure><img src="/files/Gm0FyXX5GQkx5sHTwjBx" alt=""><figcaption></figcaption></figure>

8. Cymbal will process your CSV (this may take a few minutes). Your **audience size** will update once complete.


---

# 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://docs.cymbal.co/help/contacts/uploading-contacts.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.
