About events
Use events to target and trigger messages, personalize content, and measure campaign performance.
How events work
Events are records of activity. Airship SDKs and APIs generate many events automatically. You can also define your own and send them from your app, website, or server. Events can represent the following:
- User behavior, such as app opens, page views, and purchases
- Airship system activity, such as compliance events, message sends, and message expiration
- External activity from your other systems, such as POS transactions or CRM updates
Each event typically includes when it occurred, which user or device it is associated with, the event type, and additional details or properties.
For events submitted from your server or an external system, also called server-side events, see Track events using the Custom Events API.
When you only need presence or absence for future campaigns, such as purchaser, use a tagMetadata that you can associate with a channel or named user for audience segmentation. Generally, a tag is a descriptive term indicating a user preference or other categorization, such as wine_enthusiast or weather_alerts_los_angeles.. Use an event such as purchased when you need timing, frequency, properties, conversion measurement, or to start a message when the activity occurs.
Using events with messaging
Events support the following messaging capabilities:
- Targeting — Target audiences for messages, feature flagsAn experimentation tool for controlling the availability of content or functionality in your app or website. A flag’s Configurations determine the audience, schedule, and property values to apply when the flag is enabled. Flag properties enable making immediate code updates, bypassing the need for traditional code changes and release processes., A/B tests, and Intelligent Rollouts based on whether an event happened, how often it happened, when it happened, and by event properties or values. You can also include events in segmentsA reusable audience group you create by selecting unique or shared user data..
- Triggering — Trigger messages when an event occurs, or even for inactivity. You can also use events as reasons to cancel a message or exit a SequenceA series of messages that is initiated by a trigger. Airship sends messages in the series based on your timing settings, and you can also set conditions that determine its audience and continuation. Sequences can be connected to each other and to other messaging components to create continuous user experiences in a Journey.. For example, a help tip that emits
start_product_tourcan launch a follow-up experience for that tour. - Personalization — Use event properties to customize message content. For example, if the triggering event includes a
user_nameproperty, you can add{{user_name}}to the message. - Goals — Select events as GoalsSelected events that generate a set of performance reports. Goal event attribution appears in message reports. You can also use Goals for measurement in Holdout Experiments and feature flag A/B tests. to measure campaign performance. For example, track
promo_clickedfrom a promotional message, then measure how many of those users complete a purchase.
Event types, data sources, and setup
Events can come from Airship, the Airship SDKs, and you. The following table shows the data source, description, and setup required for each event type:
| Type | Data source | Description | Setup |
|---|---|---|---|
| Default | Airship SDKs or system | The Airship SDKs automatically record standard events such as app opens and web clicks. Airship also records system events such as message sends and email unsubscribes. See Default events in the Events Reference. | None. |
| Custom | Customer | You can define the event name and properties, such as a purchase with a product SKU and price. | Add the event in your project settings. Track it from the SDKs, the Custom Events API, or message actions. |
| Predefined | Customer | Predefined events are custom events with reserved names and default properties you can modify or extend, for common actions such as purchases and registering an account. See Predefined events in the Events Reference. | Add the event in your project settings. Track it with an SDK template, the Custom Events API, or message actions. |
Default events are always available for segmentation. When adding predefined and custom events to your project, you can activate them for segmentation.
Where events are stored
The following table shows where each event type is stored:
| Event type | Storage |
|---|---|
| Default | Channel |
| Custom | Contact or channel |
| Predefined | Contact or channel |
An event stored on a contactAny user in your project. Contacts are identified as either an anonymous contact or a named user. Airship can set targeting data on these identifiers, which are also used to map devices and channels to a specific user. applies across all channels associated with that user, and an event stored on a channelA device or address registered with Airship to receive messages, such as a mobile app, web browser, email address, or SMS number. It stores opt-in status, device-specific information, and metadata used for targeting. Each channel has a unique channel ID. applies only to that channel. Events from any channel roll up to the contact, so channel-level event activity is available for contact targeting.
For the broader audience-data storage model, see Data storage in Your audience. For details on the segmentation systems and how to check your project’s setting, see Channel-level segmentation in Segmenting your audience.
Reporting
Custom and predefined events appear in message and Scene reports so you can see which messages drove conversions. Airship attributes an event to a push after a direct open, or after an open within a 12-hour window without a notification tap.
See:
- Push attribution, Events, and Goal Attribution in Message Reports
- Events and Goal Attribution in Scene Reports
- Event Tracking in Engagement Reports
- Goals
- Custom Events Explore in Performance Analytics
Real-Time Data Streaming
Default events appear in Real-Time Data StreamingA service that delivers user-level events in real time to your backend or third-party systems using the Data Streaming API. with distinct type values. Those types and names may differ from the names used for segmentation. For segmentation names, see the Events Reference. For stream schemas, see Real-Time Data Streaming events.
Custom and predefined events appear in the stream as type CUSTOM and are differentiated by name. Performance AnalyticsA customizable marketing intelligence tool that provides access to reports and graphs based on engagement data. uses the same name.