Lifecycle lists
Airship groups your mobile app users into lists by recent activity. Use the lists for targeting and segmentation.
How lifecycle lists work
Airship captures user behaviors in your mobile app and organizes channelsA 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. into lists that represent app activity across various time intervals. After enabling them from your project, they are available for targeting and segmentation.
When building a messaging audience, add a lifecycle list to include or exclude its members. For example, reach users who opened your app in the last seven days, or exclude users you already messaged in the last whole day from a follow-up.
Your app must have Airship SDK analytics enabled to populate the lists. See the Privacy Manager SDK topic.
List types and intervals
There are six types of lifecycle lists:
| Type | Description |
|---|---|
| Direct Opens | These users opened the app directly from a notification within the given time interval. |
| Dormant | These users did not open the app during the given time interval but opened it at least once in a preceding window. See the tooltips in the UI for the exact windows. |
| First App Open | These users opened the app for the first time within the given time interval. |
| Opened App | These users opened the app within the given time interval. |
| Sent Notification | These users were sent a notification, in-app message, landing page, or Message Center message within the given time interval. |
| Uninstalls | These users uninstalled the app within the given time interval. Airship marks a channel as uninstalled only after attempting to deliver a push and detecting the uninstall. See Detecting uninstalled devices. This list is only available for projects using the channel-level segmentation system. |
Each list type has versions for various intervals, all of which refresh daily:
- Last Whole Day — A period starting and ending at midnight UTC
- Last 7 Days
- Last 14 Days — Sent Notification only
- Last 30 Days
For First App Open, Last Week and Last 4 Weeks replace Last 7 Days and Last 30 Days. Both cover complete Sunday-to-Saturday windows and refresh weekly.
Android devices with faulty registrations may appear in the Uninstalls list even when the app is still installed. See error UNREGISTERED in Google’s FCM Error Codes.
Using lifecycle lists with messaging
You can include or exclude members of a list in the audience 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. Using the API, include "static_list": "name_of_list" in the audience object. See Audience Selection in the API reference.
You can also include your lists in segmentsA reusable audience group you create by selecting unique or shared user data..
Enable lifecycle lists and view channel counts
Lifecycle lists are disabled by default. To enable them, go to Audience, then Lists, then Lifecycle, and select Turn On.
Data begins populating after 24 hours, the minimum window needed to generate the Last Whole Day interval. After that, each list refreshes on its schedule. You cannot send to a list while it is processing.
Once populated, you’ll see the channel count (labeled “Devices”) for each list. They include both opted-in and opted-out channels, so the count may be higher than the number of channels that can receive a push.
Download list data
Project Owners and Administrators can download any lifecycle list as a CSV containing the channel type and channel ID:
- Go to Audience, then Lists, then Lifecycle.
- Select the download icon () for a list.
For the API, see Static lists for endpoints, schemas, and error codes.