Differentiating email and SMS event types

Some email and SMS activities have two events. Learn about their types and uses.

View as Markdown

One event, two records

Most activities for email and SMS are recorded as a single event in Airship. However, some are represented by two events:

Where to use each event type

Use default events for the following:

Use custom events for the following:

Custom events also appear in Performance AnalyticsA customizable marketing intelligence tool that provides access to reports and graphs based on engagement data. as Dimensions and Measures. See Email in Performance Analytics and SMS in Performance Analytics. You can also use a dedicated Explore. See Custom queries and reference for the Custom Events Explore.

The Custom Event trigger for Scenes and In-App Automations requires events tracked by the Airship SDKs, so it can’t use email and SMS events, which come from delivery providers instead.

Email events

The following are the default and custom event names for email activities:

ActivityDefault eventCustom event
Bounceemail_bouncebounce
Clickemail_clickclick
Delayemail_delaydelay
Deliveryemail_delivereddelivery
Initial openinitial_openinitial_open
Injectionemail_injectioninjection
Openemail_openopen
Unsubscribeemail_unsubscribeunsubscribe

When adding the custom events to your project, use the values in the Custom event column.

For stream schemas and example payloads, see Custom Email Events in the Real-Time Data Streaming API reference. For segmentation properties and paths, see Email events in the Events Reference.

SMS events

The following are the default and custom event names for SMS activities:

ActivityDefault eventCustom event
Abortedsms_abortedaborted
Deletedn/adeleted
Deliveredsms_delivereddelivered
Dispatchedsms_dispatcheddispatched
Expiredsms_expiredexpired
Failedsms_failedfailed
RCS readn/aread
Rejectedsms_rejectedrejected
Short link clickshort_link_clickn/a
Undeliverablesms_undeliverableundeliverable
Unknownsms_unknownunknown

When adding the custom events to your project, use the values in the Custom event column.

For more on RCS read events, see RCS event reporting in RCS branded senders.

For stream schemas, see SMS delivery report in the Real-Time Data Streaming API reference. For segmentation properties and paths, see SMS events in the Events Reference.

Differentiating custom events using properties

The Custom Event trigger, Sequence exit events, and Automation cancellation events all match by the exact string you enter. If your app or website sends its own custom event with the same name as one listed in Email events or SMS events, for example an app event named click, it matches both your event and the Airship-generated one.

Rename your own event to remove this ambiguity for all future use. If renaming isn’t practical, such as with an established event already used elsewhere, you can filter the events by a property unique to the Airship-generated event, such as link_url for click.

When adding the custom events to your project, you only need to add properties you will use in filters or 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. personalization. For filtering steps, see the following:

Email custom event properties

Refer to these properties when configuring email custom events:

Custom eventProperties
bouncebounce_class, bounce_event_type, email, sender, subject
clickagent_family, device_brand, device_family, email, is_mobile, is_prefetched, link_name, link_url, os_family, os_version, sender, subject
delayemail, sender, subject
deliveryemail, sender, subject
initial_openagent_family, device_brand, device_family, email, is_mobile, is_prefetched, os_family, os_version, sender, subject
injectionemail, sender, subject
openagent_family, device_brand, device_family, email, is_mobile, is_prefetched, os_family, os_version, sender, subject
unsubscribeunsubscribe_event_type

All properties are strings, except is_mobile and is_prefetched, which take Boolean values.

These properties have specific values or behavior:

  • is_prefetched is always false on click events.
  • link_name is the name you assigned to the link.
  • link_url is the tracked URL the user selected.
  • unsubscribe_event_type is link_unsubscribe or list_unsubscribe. See Unsubscribe events in Email content.

Message identifiers such as push ID, group ID, and campaign category are available for event segmentation using the paths in the Events Reference. In Real-Time Data Streaming they appear on triggering_push, not in the custom event properties object you add here.

SMS custom event properties

Refer to these properties when configuring SMS custom events:

PropertyTypeDescription
senderStringThe number or short code the message originated from
vendorStringThe delivery service for the message
vendorDeliveryIdStringA unique identifier for the message from the SMS vendor
error_codeStringAn error code from the short message service center, if applicable, for all custom events except read
is_rcsBooleanWhether the message was delivered as RCS
recipient_country_codeStringThe country code of the message recipient, for read events
number_of_message_partsNumberThe number of message parts delivered, for read events

Any SMS custom event except read can also represent an MMS message. MMS shares the sender, vendor, error_code, and is_rcs properties above. MMS custom events also have the following properties:

PropertyTypeDescription
carrier_idStringIdentifies the carrier the message was sent through
handsetStringThe profile of the handset that received the message, only present when result_status is N102
result_codeStringA status code from the vendor, if applicable
result_statusStringThe delivery status of the message from the vendor
sent_asStringWhether the MMS was delivered as MMS or as SMS
tracking_IdStringAn ID assigned by the delivery service, only available for CLX

For the full schema, see SMS delivery report in the Real-Time Data Streaming API reference. For the RCS read report schema, see RCS read report in the same reference.