Create and Send
Create and Send is a way to target recipients of a single channel type by providing a list of user identifiers when creating a message. You can send to Channel IDs, email addresses, phone numbers, or Open channel addresses. Unknown identifiers are registered as new email, SMS, and Open channels.
Unlike an Uploaded ListA reusable audience list that you create. Uploaded lists are static and updatable. In the API, they are referred to as Static Lists., which must be added to your project ahead of time, with Create and Send, you provide your audience at send time. You can send messages to a list of users generated from Performance AnalyticsA customizable marketing intelligence tool that provides access to reports and graphs based on engagement data. or other reporting platforms without having to re-create your audience criteria.
Create and Send is also a convenient way to register new users while simultaneously sending a message. Channel registration is handled automatically for your app and web users through integration with the Airship SDK. Since email, SMS, and Open channels do not use an SDK, you can message a list of email addresses, phone numbers, or Open channel identifiers without worrying about their registration statuses.
Create and Send supports personalization.
Identifier formats and usage
You can use Create and Send in both the dashboard and API. Each supports different identifier formats and channels:
Use | ID format | Supported channels | Composer or endpoint | Steps |
---|---|---|---|---|
Dashboard | CSV | App, Web, Email, SMS, Open | Message | Select Upload users in the Audience step, and you will be prompted to upload your CSV in the Review step. |
API | CSV | App, Web, Email, SMS, Open | First, provide audience identifiers to obtain a bulk_id , and then send your message to the ID using a Create and Send endpoint. New channels are created at send time, not when requesting the ID. | |
API | Array | Email, SMS, Open | Provide audience identifiers in the create_and_send array in the audience object when sending a message using a Create and Send endpoint. |
You cannot combine channels when using this feature. When using the APIs, attempting to set multiple device_types
in the request will return a 400 response. For delivery, you cannot use Optimal Send TimeAn algorithm that determines the best hour for optimal engagement activity — when each individual member of your audience is most likely to receive and act on your message. iOS, Android, and Fire OS platforms only..
CSV formatting
CSV files must be smaller than 150 MB, with a maximum of 3 million rows. The header row must contain the required ua_
-prefixed channel fields as column headers, with values in corresponding fields. Airship ignores rows that are empty or contain malformed channel information.
For Channel IDsAn Airship-specific unique identifier used to address a channel instance, e.g., a smartphone, web browser, email address.:
- The first column header must be
ua_channel_id
. Entries in the first column contain the Channel ID you want to send a message to. - Your audience must all belong to the same device type. For App channels, this means one of iOS, Android, or Fire OS channels at a time. For example, if you want to send a message to both iOS and Android channels, you must curate separate lists of iOS and Android users and send two separate messages.
For email, SMS, or Open channel identifiers:
- The first column header varies per channel. Entries in the first column contain the identifier you want to send a message to.
- For existing channels, you must provide an
opted_in
date-time value that is newer than anopted_out
value on the channel.Important Setting a newer
opted_in
date-time value within the CSV data does not update theopted_in
value on the channel. It only overrides theopted_out
value to send the current message. You must update theopted_in
value using the appropriate channel API to opt it back in to your messaging audience. - Opt-in/out dates must be formatted as ISO 8601 strings. See Date-Time Format in the API reference.
- Required fields and formatting information per channel type:
1. TheChannel First column header field value First column row field values Additional header field values SMS ua_msisdn
A MSISDNThe mobile phone number of an individual in your Airship audience. Each MSISDN represents an individual mobile device. ua_sender
ua_opted_in
1
Email ua_address
An email address ua_commercial_opted_in
orua_commercial_opted_out
1,2ua_open_tracking_opted_in
orua_open_tracking_opted_out
1,3ua_click_tracking_opted_in
orua_click_tracking_opted_out
1,3ua_email_suppression_state
4timezone
5
Open ua_address
A unique address that your Open channel uses n/a opted_in
values for email and SMS channels are the date-time when the user subscribed to messages.
2. An opt-in or -out date is required for commercial emails. You can also provide dates forua_transactional_opted_in
orua_transactional_opted_out
, but they are optional. Opt-in/out dates are mutually exclusive. Providing a date for both opted in and opted out in the same row is considered invalid.
3. By default, new channels are opted in to both open and click tracking. A channel can be opted out of tracking by setting an opted out date. The channel can be opted back in to tracking by setting an opted in date that is newer than the opted out date. Providing a date for both opted in and opted out in the same row is considered invalid.
4. With valueBOUNCE
,SPAM_COMPLAINT
,COMMERCIAL_SPAM_COMPLAINT
, orIMPORTED
. See Suppression types in Email Bounce Handling and Suppression.
5. Format time zones according to the IANA time zone database. For example,America/Los_Angeles
.
1ua_address,ua_commercial_opted_in,name,city,state
2someone@example.com,2022-04-01T18:45:30,Joe Someone,Portland,OR
3else@example.com,2022-04-21T16:13:01,Sir Else,Seattle,WA
Personalization
Your CSV can contain additional columns with information you want to use for personalizing messages using HandlebarsHandlebars is Airship’s templating language for personalization. Handlebars expressions use double curly braces wrapped around a content template, ranging from a simple variable, e.g., {{first_name}}
, to complex evaluations of personalization data.. See Personalize your Create and Send messages.
Categories