> This page is part of the [Customer.io documentation](https://docs.customer.io). For the complete index, see [llms.txt](https://docs.customer.io/llms.txt).
> Last updated: July 29, 2026

# Create segments based on mobile devices

To group profiles by mobile device information, you can create segments based on predefined device attributes like `platform`, `last used`, and `last status`, and custom attributes.

## How it works

When you integrate with our mobile SDKs, we automatically collect some device data like `platform`, `last used`, and `last status`. You can also pass custom attributes to your workspace.

You can use these attributes in segment conditions to group profiles with shared mobile device data together.

### Device conditions are evaluated per profile, not per device

Segment conditions match *profiles*, but profiles can have more than one device. Framed another way, segments evaluate conditions across devices, not per device, which means it’s possible a profile meets your conditions when a single one of their devices does not.

So if one of a profile’s two devices matches your segment criteria, that profile—and both of their devices—enter your segment.

For example, if your segment conditions include `Device platform = iOS AND app_version = 3.16`, and a profile has two devices, they could match this criteria if one of the devices uses iOS 3.15 while the other devices uses Android 3.16.

If you want to send messages in an automation only to iOS devices with a specific app version, you could try one of these workarounds:

*   Set a custom attribute on a profile that tracks platform + app version like `"device_1": "ios_316"`. Then trigger an automation based on that attribute or add it as a condition to a message action.
*   Send a custom event when a device with both conditions is identified. Then trigger an automation based on that event.

## Add a condition for a device’s app

If your workspace has [more than one mobile app for sending push notifications](/messaging/channels/push/getting-started/#add-your-apps-and-push-credentials), you can group profiles into segments based on the app on people’s devices. You might do this track the quantity of people that use any one of your apps.

[![device-app-condition.png](https://docs.customer.io/images/device-app-condition.png)](#1d0f7cd94c7ca32b38468b86c9c35c4e-lightbox)

Note, devices that don’t report an app identifier, like devices registered by older SDK versions, are routed through your workspace’s [default app](/messaging/channels/push/getting-started/#the-default-app). So if you group people by the `app_identifier` of your default app, it could contain more people than you expect because it includes people whose devices aren’t reporting an `app_identifier` back.

## Add a condition for a device’s `platform`

You can segment profiles based on their device platform—iOS or Android. You might do this if you want to notify profiles about an update to your app on a specific operating system.

[![The condition reads device platform is equal to iOS](https://docs.customer.io/images/device-platform-segment.png)](#645c8b71fb3cdc8b6224d544e1af5c58-lightbox)

## Add a condition for `last status`

The `last status` attribute shows the delivery outcome of the last push notification. This doesn’t track any other mobile message channel, like in-app messages or SMS.

Statuses include `sent`, `bounced`, `suppressed`, or `unused`. `Unused` means that the `last status` isn’t one of the previous three, but it’s commonly seen when a device is new and hasn’t yet been sent a push notification.

You can use this attribute to group profiles that have been receptive to previous messages or who haven’t received a push notification from you before.

[![The condition reads Device last status is sent](https://docs.customer.io/images/device-last-status-segment-2.png)](#a7448859231be124ee7738b7b20f26de-lightbox)

## Add a condition for `last used`

The `last used` attribute contains the timestamp when the device was last identified. You can use it to find devices within a recent timeframe or between two dates.

[![The condition reads Device last used is after a relative date of 7 days ago.](https://docs.customer.io/images/device-timestamp-segment-2.png)](#f71134ee23d850d6961119497691032e-lightbox)

*   *   [How it works](#how-it-works)
        *   [Device conditions are evaluated per profile, not per device](#device-conditions-are-evaluated-per-profile-not-per-device)
    *   [Add a condition for a device’s app](#add-a-condition-for-a-devices-app)
    *   [Add a condition for a device’s `platform`](#add-a-condition-for-a-devices-platform)
    *   [Add a condition for `last status`](#add-a-condition-for-last-status)
    *   [Add a condition for `last used`](#add-a-condition-for-last-used)

Copy page

Copy page [Download .md](/messaging/segmentation/device-segments.md)

Is this page helpful?

![](https://docs.customer.io/images/export-success.png) ![](https://docs.customer.io/images/export-failure.png)

# How can we make it better?

Close

Do you need help from Customer.io support?  No  
 Yes

What part of Customer.io do you need help with? 

How can we improve this page?

Email (optional):  Please provide a valid email address

 I am not a bot

 

We appreciate your feedback!

Our support team will contact you as soon as possible
