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:
- Frontend SDK Email Methods.
- Create user or Create subscription APIs.
- Email & Phone Number Web Prompt - Allows a user to include their own email address through your website.
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
Requirements
- 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.
CSV Column Options
These are the available properties you can set in the first row of your CSV.
Column Headers | Description |
---|---|
email | Required The email addresses to be imported. |
external_id | Recommended The user ID for identifying the owner of the email address. See Aliases & External ID for details. |
subscribed | Whether 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 ). |
country | The ISO 3166-2 country code of the user. 2 characters, all caps. |
timezone_id | The timezone of the user in IANA TZ format (e.g., America/Los_Angeles. See the TZ identifier column). |
language | The language code of the user in ISO 639-1 format |
Data Tags | You 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:
email,external_id,subscribed,language,{{language}},timezone_id,country,{{country}},first_name,group,status,level
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.
Done!
Once you've imported your emails, go back to Email Quickstart to determine if you have any steps left.
Updated 17 days ago