# Import SMS contacts

You can upload a CSV file to bulk import phone numbers. Imported numbers will be registered as SMS subscribers, allowing you to personalize and segment your SMS communications.

## Prepare your CSV file

### CSV formatting rules

#### General structure

* The first row must contain column headers describing the data in each column.  
* Each subsequent row represents a single contact, with values corresponding to the headers.  
* Values must be separated by commas.  
* Save the file in UTF-8 encoding to ensure proper character display.  
* The maximum file size is 100 MB.

####  Required columns

* **Phone number**:  Must be in international format, starting with `+` followed by the country code, for example *+120XXXXX234*  
* **User ID**:  The unique identifier of the user (e.g., name or email).
<Aside type="note">
The column names in your CSV file don't need to match these exactly. During the import process, you can map your existing column names to the correct fields in the system. For example, if your CSV file has a column named *Mobile* instead of *Phone Number*, you can manually assign it to the **Phone Number** field when importing.
</Aside>

#### Optional columns

Including optional columns allows for more advanced segmentation and personalization in your SMS campaigns.  Below are the optional fields you can add and how they can be used:

* **Location:**  Specifies the user's city, state, or country. Useful for sending location-based promotions (e.g., *Get 20% off at our Los Angeles store today!*).  
* **Birthday:**  Enables sending birthday messages with special discounts (e.g., *Happy Birthday, Sarah! Here's a 10% discount just for you!*). Can trigger automated birthday campaigns.  
* **Language:**  Stores the user's language preference (e.g., English, Spanish, French). Helps send messages in the recipient's language for better engagement.  
* **Customer type:**  Identifies whether the user is a new customer, VIP, or inactive. Enables targeted messaging (e.g., *Exclusive VIP offer just for you!*).

You can add any additional data relevant to your campaign (e.g., user preferences, purchase history). These can be mapped to system tags and used for segmentation in Pushwoosh.

#### Example CSV file

Here’s an example of a properly formatted CSV file:

```csv
Phone Number,User ID,Name,Location  
+120XXXXX234,john.smith@email.com,John Smith,New York  
+131XXXXX890,jane.smith@email.com,Jane Smith,Los Angeles  
```

## Upload the CSV file

1. Navigate to **Audience → Import CSV → Import SMS Contacts.**

![Screenshot showing the Audience menu with Import CSV and Import SMS Contacts options](/import-sms-contacts-1.webp)

2. Click **Upload CSV** and select your file. 

![Screenshot showing the Upload CSV button and file selection interface](/import-sms-contacts-2.webp)

If you need to upload a different file, click **Upload Another CSV** to replace it.

3. Map columns

Ensure the correct columns are selected:

* **Phone Number Column in CSV**. Select the column containing phone numbers (must be in international format, starting with `+`).  
* **User ID Column in CSV**. Select the column containing unique user identifiers.

4. Add additional data (optional)

If you want to include extra details for segmentation:

* Select a column name from your CSV.  
* Assign it a **Tag** to link it with user data in the system.  
* Click **+ Add Column** to include more attributes.

![Screenshot showing column mapping interface with phone number, user ID, and tag assignment options](/import-sms-contacts-3.webp)

5. Click **Start import** to begin processing the file. 

After the import, the contacts will be available for SMS campaigns in Pushwoosh. They will appear as a new segment in the [Segments list](/product/audience-data-and-segmentation/segmentation/) and can also be accessed via [User explorer](/product/audience-data-and-segmentation/user-explorer/).