Segmenting your audience
Build a custom audience of users who share some criteria for message targeting, experiments, and trigger conditions.
While some messages may require broadcasting to all users, typically you want to target a specific audience. The same applies to message A/B test and feature flag audiences.
Here are a few common scenarios and the target for each:
- App upgrade — Send an announcement about a new app version and encourage users to upgrade. Target: App version
- External user list — Send messages to a list of users created from your CRM data. Target: Uploaded List
- Re-engagement prompt — Send a re-engagement message based on users’ likelihood to stop using your app or website. Target: Predictive ChurnAnalyzes your audience for users that exhibit behaviors indicating they are likely to become inactive, and tags the users as High, Medium, or Low Risk. risk profile
- Localized content — Display different in-app messages based on your users’ language and country settings. Target: Locale
Building audience groups
When defining audiences using the Target by conditions or Target specific users options, you can select data to include, such as:
- AttributesMetadata used for audience segmentation and personalization. Attributes extend the concept of tags by adding comparison operators and values to determine whether or not to target a user, helping you better evaluate your audience.
- Lifecycle listsAn audience list Airship automatically populates based on user activity in your app, such as app opens, uninstalls, notifications received, and dormancy.
- 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. ID
- Device propertiesInformation about a channel, such as language and time zone settings, OS and browser versions, and notification opt-in status. Values come from the user’s device when an SDK is present, or are set via the API for channels without one. Each property is automatically made available as an attribute, a tag, or both for audience segmentation.
- EventsA record of an action in your app, on your website, in the Airship system, or in an external system. Examples are a message send, an app open, or a purchase transaction.
- Named userA customer-provided identifier used for mapping multiple devices and channels to a specific individual. ID
To build the audience, you add conditions organized in blocks, or select a saved segment. The procedure is the same.
Build the audience by adding conditions organized in blocks. A block contains one or more conditions, providing a way to mix and match boolean operators. For example, you might use an OR operator for conditions in a block, and use an AND operator to join the blocks together.

Segments
To save a defined audience group for reuse within your project, create a segmentA reusable audience group you create by selecting unique or shared user data.. You can then select that segment when using Target by conditions or Target Specific Users. The same interface and procedure apply to both targeting specific users and creating segments. You can also include any saved segment within another segment. See the full procedure in Segments.
To create segments using the API, see the /api/segments endpoint. To target specific users using the API, use the "audience" object. See the Audience Selection API schema.
Channel-level filtering
After building an audience group to target specific users or in a segment, you can filter messages to specific channels at the message composition stage using channel conditions. For example, to send to only devices that have language set as English, add a channel condition for {ua_language=EN}.
Client-side vs server-side data
Airship client-side data mostly comes from apps and websites that use our SDK. This is the source of client-side data used for targeting. Client-side data includes device propertiesInformation about a channel, such as language and time zone settings, OS and browser versions, and notification opt-in status. Values come from the user’s device when an SDK is present, or are set via the API for channels without one. Each property is automatically made available as an attribute, a tag, or both for audience segmentation. and attributesMetadata used for audience segmentation and personalization. Attributes extend the concept of tags by adding comparison operators and values to determine whether or not to target a user, helping you better evaluate your audience..
You can also group users and add attributes and tags yourself. This is considered server-side data. CRM and POS systems are common sources. For segmentation, you can create:
- AttributesMetadata used for audience segmentation and personalization. Attributes extend the concept of tags by adding comparison operators and values to determine whether or not to target a user, helping you better evaluate your audience.
- Audience listsA reusable group of message recipients you can select as your audience or include in a segment.
- Named usersA customer-provided identifier used for mapping multiple devices and channels to a specific individual.
- TagsMetadata 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_enthusiastorweather_alerts_los_angeles. Tags are case-sensitive. and tag groupsAn array of tags that you can associate with both channels and named users.
You can then set attributes or tags on channels and named users, or group channels into named users. See:
Channel registration is asynchronous, so it may take up to an hour before you can target newly-created channels.
Segmentation evaluation
Airship evaluates segmentation criteria at the contact level, not individual channels. This means that channel-level data, such as device propertiesInformation about a channel, such as language and time zone settings, OS and browser versions, and notification opt-in status. Values come from the user’s device when an SDK is present, or are set via the API for channels without one. Each property is automatically made available as an attribute, a tag, or both for audience segmentation. and primary device tags, is automatically available to the contact for segmentation purposes. When viewing audience counts, the results include the total number of contacts and channels in the audience, as well as the total number of channels and the number of opted-in channels for each engagement channel and mobile app platform.
Contact-level evaluation enables cross-channel messaging, such as:
- Sending an SMS to users who haven’t opened the app in 60 days
- Sending a follow-up push to users who haven’t opened an email
- Limiting the frequency of a campaign across all of a user’s channels
Channel-level segmentation
Projects in accounts created on or before February 26, 2026, use the channel-level segmentation system, which uses a mix of channel- and contact-level evaluation. For example, using the criteria: {custom_tag=gold} AND {ua_language=EN}:
- The channel-level segmentation system targets all channels with a custom tag of
GoldAND where the device language is set to English. - The contact-level segmentation system targets all channels of contacts with a custom tag of
GoldAND any device where the language is set as English.
Migration and how to identify your segmentation system
All customers will be migrated to the contact-level evaluation system:
- Airship will contact you to coordinate migration.
- Until migration is complete, you will not experience any changes to the Airship service or see changes in the dashboard.
- After completing migration, mobile apps will require the minimum SDKs Android 19.9 and iOS 19.6. You will not be able to create legacy A/B tests.
You can identify your project’s current segmentation system. Next to your project name, select the dropdown menu (), then Project Details. If your project is using the contact-level system, you will see “Contact-level segmentation: Enabled.” If you are on the channel-level system, no segmentation status is listed.