Import Email Addresses

How to import email addresses to use OneSignal Email Messaging

This guide explains how to upload a CSV list of email addresses through the dashboard or manually add emails if needed. Other options include:


Duplicate Email Records

OneSignal will automatically remove duplicate email subscriptions. If the email subscription is marked as unsubscribed, it will continue to be marked unsubscribed unless updated.

Dashboard CSV Upload


  • Must have email column with lower-case spelling. (All propert headers need to have the same case as indicated on the import page. e.g., must use "timezone_id" and not "timezone_ID")
  • Limited to UTF-8 encoding.
  • Columns must be unique.
  • No quotes.
  • Commas only, no semi-colons.
  • If an existing data tag key is also a property, double curly braces {{key}} must be used to update the data tag. Not using the braces will result in updating the property.
  • Remove any + sign from your CSV file name.

CSV Column Options

These are the available properties you can set in the first row of your CSV.

Column HeadersDescription
emailRequired The email addresses to be imported.
external_idRecommended The user ID for identifying the owner of the email address. See Aliases & External ID for details.
subscribedWhether the email address is opted-in to receive emails. Values can be yes or no. If column is not present, all email addresses default to being opted-in (yes).
countryThe ISO 3166-2 country code of the user. 2 characters, all caps.
timezone_idThe timezone of the user in IANA TZ format (e.g., America/Los_Angeles. See the TZ identifier column).
languageThe language code of the user in ISO 639-1 format
Data TagsYou can include up to 1000 data tag keys. Tags are custom key : value pairs that can be unique per user. It is recommended to review the Data Tags guide before implementation.

If you want to set subscribed, country, timezone_id, and/or language as a tag key, you will need to wrap these column headers in double curly brackets (e.g {{country}}). Do not wrap all tags in double curly brackets.

Example CSV Column Headers:


CSV Upload Steps

Navigate to Audience > Subscriptions > Update/Import Users.

Under "Import/Update emails" select Upload CSV. There is also a CSV Template you can download to check your format.

After uploading check for any errors. You may need to fix the CSV then upload again if you have any errors.

Select the column(s) that are a data tag

Checked columns will be imported as tags. Uncheck the columns you do not want set as tags.

Advanced Settings

If you want to create a segment to send messages to this list, toggle on the Automatically create a segment for this import to set a new tag and create a segment for these users.

Delete existing data tag values when the uploaded value is null

Check this option if you want to delete the tag on the user if the key is present on the user and no value set in the CSV.

Review and click Confirm and Update when ready to import. You will get an email to the current address when the upload is finished.

Manually Add Emails

Navigate to Audience > Subscriptions > Arrow next to Update/Import Users > Manually Add Emails to open a new modal where you can add an individual user's email and tag data.



Once you've imported your emails, go back to Email Quickstart to determine if you have any steps left.