# 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 [channels](https://www.airship.com/docs/reference/glossary/#channel_term) 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](https://www.airship.com/docs/sdk-topics/privacy/) 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](https://www.airship.com/docs/guides/reports/engagement/#detecting-uninstalled-devices). This list is only available for projects using the [channel-level segmentation system](https://www.airship.com/docs/guides/audience/segmentation/about/#channel-level-segmentation). |
{class="table-col-1-20"}

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.

> **Note:** 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](https://firebase.google.com/docs/cloud-messaging/error-codes).


## Using lifecycle lists with messaging

<p>You can include or exclude members of a list in the audience for messages, [feature flags](https://www.airship.com/docs/reference/glossary/#feature_flag), <a href="https://www.airship.com/docs/guides/experimentation/a-b-tests/">A/B tests</a>, and <a href="https://www.airship.com/docs/guides/experimentation/intelligent-rollouts/">Intelligent Rollouts</a>. Using the API, include <code>&quot;static_list&quot;: &quot;name_of_list&quot;</code> in the audience object. See <a href="https://www.airship.com/docs/developer/rest-api/ua/schemas/audience-selection/">Audience Selection</a> in the API reference.</p>
<p>You can also include your lists in [segments](https://www.airship.com/docs/reference/glossary/#segment).</p>

## 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](https://www.airship.com/docs/guides/getting-started/messaging/teams-and-access/#access-levels) can download any lifecycle list as a CSV containing the channel type and channel ID:

1. Go to **Audience**, then **Lists**, then **Lifecycle**.
1. Select the download icon () for a list.

For the API, see [Static lists](https://www.airship.com/docs/developer/rest-api/ua/operations/static-lists/) for endpoints, schemas, and error codes.
