Device Properties
Device properties are metadata representing the default attributes and property tags of a device, such as language and time zone settings, OS and browser versions, and notification opt-in status. Device properties are used for audience segmentation. The data used for the tags and attributes is collected automatically from the Airship SDKs, and are updated daily. See also: AttributesMetadata used for audience segmentation and personalization. They 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., TagsMetadata that you can associate with channels or Named Users for audience segmentation. Generally, they are descriptive terms indicating user preferences or other categorizations, e.g., wine_enthusiast
or weather_alerts_los_angeles
. Tags are case-sensitive..
Default attributes differ from device property tags in providing evaluation operators such as equals, less than/greater than, contains, before/after, to determine whether or not to target a user. Additionally, they can be used for message personalization.
Default attributes require: iOS SDK 14.2+Android SDK 14.1+
Default Attributes
Airship default attributes are built-in metadata that represent device attributes that are collected by the SDK and used to segment your audience, target specific devices, and personalize messages.
Name | ID | Type | Channels | Example |
---|---|---|---|---|
Language | ua_language | Text | App, Web | en |
Language Country | ua_country | Text | App, Web | Two-letter ISO country code like DE , or Unknown |
Location Settings | ua_location_settings | Text | App | true /false value indicating if location services are enabled |
iOS/Android App Version | ua_app_version | Text | App | 1051.c3eca0 , 957 |
SDK Version | ua_sdk_version | Text | App, Web | 12.0.0-beta3 (Point version) |
Device Model | ua_device_model | Text | App | Pixel 3a , iPhone8,1 |
Device OS | ua_device_os | Text | App | 13.1.2 , 10 |
Carrier | ua_carrier | Text | App | Verizon , AT\u0026T , Free , Google Fi |
Local Time Zone | ua_local_tz | Text | App, Web | Africa/Abidjan |
Browser Name | ua_browser_name | Text | Web | chrome , firefox |
Browser Version | ua_browser_version | Text | Web | chrome-77 , firefox-69 |
Browser Type | ua_browser_type | Text | Web | mobile or desktop |
NDC | ua_ndc | Text | SMS | The 2- or 3-digit national destination code, commonly known in the US as the area code, e.g., 503 . This attribute is country-specific and is only populated if the MSISDNThe mobile phone number of an individual in your Airship audience. Each MSISDN represents an individual mobile device. has a discernible code. |
Subdivision | ua_subdivision | Text | SMS | The ISO 3166 country and subdivision for the channel — state, province, etc e.g., US-OR . |
Named User ID | ua_named_user_id | Text | App, Web, Email, SMS | a.user or abd3c488-52c8-4fb7-942b-10ffSAMPLEb5 |
Device Property Tags
Airship device property tags are built-in metadata tags that represent the properties of a device, are collected by the SDK and used to segment your audience and target specific devices.
UI Name | Tag Group ID | Valid Tags | Sentinel Value |
---|---|---|---|
Timezone | timezone | Time zone | Unknown (UI) or NO_TIME_ZONE (API) |
Notification Opt-in | ua_opt_in | "true" or "false" † | None available |
Background Enabled | ua_background_enabled | "true" or "false" 1 | None available |
Location Enabled | ua_location_enabled | "true" or "false" 1,2 | None available |
Application Version | ua_app_version | Any sanitized string3 | Unknown |
Language | ua_locale_language 4 | ISO 639-1 | Unknown |
Language Country | ua_locale_country 4 | ISO 3166-1 (alpha-2 codes) | Unknown |
SDK Version | ua_sdk_version | SDK version number | Unknown |
Device OS Version | ua_os_version | Device OS version number | Unknown |
Device Model | ua_ios_model | iOS Model | Unknown |
1 Note that when pushing to these tags via the API, you use a
string that represents a boolean value, not an actual boolean. In other words, the valid tags are "true"
and "false"
rather than true
and
false
. For example:
{ "group": "ua_background_enabled", "tag": "true" }
2 The Location Enabled tag group only contains devices with SDK 6.0+.
3Because we cannot check whether a string describing your app
version is correct, the iOS App Version and Android App Version tag groups
will accept any sanitized string as valid. However, a push will only reach
your users if you use a valid version string for your app. For example,
while the API will not flag a push to the following as invalid, presumably
none of your iOS users are using the "pizzzzzza"
version of your app, so
no one will receive the message:
{ "tag": "pizzzzzza", "group": "ua_ios_app_version" }
4 See Locale below.
- UI Name
- How the tag group is displayed within the Airship dashboard.
- Tag Group ID
- The ID used to refer to the tag group in the API.
- Valid Tags
- The tags contained within the tag group.
- Sentinel Value
- A special tag that is equivalent to “unknown”.
Note Example: If our system is unable to determine a device’s language settings, the device will receive an
"Unknown"
tag in the"ua_locale_language"
tag group. You could target such devices like so:This push goes to all devices with unknown language settings.{ "group": "ua_locale_language", "tag": "Unknown" }
Note There are no sentinel values for Background Enabled, Location Enabled, or Notification Opt-in; every device will be tagged with either
"true"
or"false"
for each of these groups.Sentinel values will be presented as Unknown, both in the UI and API, with the exception of Timezone. Due to legacy reasons, the sentinel value for Timezone will display as Unknown in the UI but must be referred to as
"NO_TIME_ZONE"
via the API, e.g.:{ "group": "timezone", "tag": "NO_TIME_ZONE" }
Collected Properties
Apps and web browsers
- Language
- Language country
- Time zone
By default, for web browsers the language and country data are retrieved from the browser. Under some conditions, the browser might not have Country information set. Using the Locale Override methods in the Web SDK, you can set the language and country and override the browser defaults.
Apps only
- Device model
- Device OS
- Application version
- Location
- SDK Version
- Push Notification opt-in
- Background enabled
Web browsers only
- Browser name
- Browser version
- Browser type
Time Zone
A time zone (timezone
) tag is identical to its UI name.
This is not a full list of possible device time zones. If a device has a time zone setting that is not listed below, our system will attempt to resolve it to the nearest available time zone, then tag the device accordingly.
Make sure to use quotes around the tag when using the API. Example:
{ "group": "timezone", "tag": "Africa/Addis_Ababa" }
Time Zone Tag / UI Name | UTC Offset | UTC DST Offset |
---|---|---|
Africa/Addis_Ababa | +03:00 | +03:00 |
Africa/Harare | +02:00 | +02:00 |
Africa/Lagos | +01:00 | +01:00 |
America/Argentina/Buenos_Aires | -03:00 | -03:00 |
America/Bogota | -05:00 | -05:00 |
America/Caracas | -04:30 | -04:30 |
America/Chicago (Central time zone) | -06:00 | -05:00 |
America/Costa_Rica | -06:00 | -06:00 |
America/Denver (Mountain time zone) | -07:00 | -06:00 |
America/Halifax | -04:00 | -03:00 |
America/Juneau (Alaska time zone) | -09:00 | -08:00 |
America/Lima | -05:00 | -05:00 |
America/Los_Angeles (Pacific time zone) | -08:00 | -07:00 |
America/New_York (Eastern time zone) | -05:00 | -04:00 |
America/Phoenix | -07:00 | -07:00 |
America/Santiago | -03:00 | -03:00 |
America/Sao_Paolo | -03:00 | -02:00 |
Asia/Bangkok | +07:00 | +07:00 |
Asia/Dhaka | +06:00 | +06:00 |
Asia/Dubai | +04:00 | +04:00 |
Asia/Hong_Kong | +08:00 | +08:00 |
Asia/Jakarta | +07:00 | +07:00 |
Asia/Karachi | +05:00 | +05:00 |
Asia/Kolkata | +05:30 | +05:30 |
Asia/Manila | +08:00 | +08:00 |
Asia/Seoul | +09:00 | +09:00 |
Asia/Singapore | +08:00 | +08:00 |
Asia/Tehran | +03:30 | +04:30 |
Asia/Tokyo | +09:00 | +09:00 |
Asia/Vladivostok | +10:00 | +10:00 |
Australia/Adelaide | +09:30 | +10:30 |
Australia/Brisbane | +10:00 | +10:00 |
Australia/Sydney | +10:00 | +11:00 |
Etc/GMT | +00:00 | +00:00 |
Europe/Istanbul | +02:00 | +03:00 |
Europe/Lisbon | +00:00 | +01:00 |
Europe/London | +00:00 | +01:00 |
Europe/Moscow | +03:00 | +03:00 |
Europe/Paris | +01:00 | +02:00 |
Pacific/Auckland | +12:00 | +13:00 |
Pacific/Honolulu (Hawaii time zone) | -10:00 | -10:00 |
UTC | +00:00 | +00:00 |
SDK Version
SDK version tags are in the format #.#.X
, e.g., 14.0.X
. We do not allow
targeting of specific patches, such as 14.0.1
.
When setting a tag, searching for the SDK version group will resolve any
queries of specific patches to the nearest possible version. For example,
searching for 14.0.1 will return 14.0.X as a result. When using the API, you
must use the #.#.X
format or the push will not reach your audience.
Example:
{ "tag": "14.0.X", "group": "ua_ios_version" }
Platform Version
Platform version tags are in format #.#.X
, e.g., 14.2.X
. We do not allow targeting of specific patches, such as 14.2.6
.
Device Model
A device model tag’s UI name appears in the dashboard when using Target Specific Users or Target Specific Users: In-App Experiences.
Example:
UI Name | Device Model |
---|---|
iPhone 12 Pro | iPhone13,3 |
Locale
A device’s locale is determined by its language and country settings. Target a
specific locale via tag groups ua_locale_language
and ua_locale_country
.
Keep in mind that a device’s language and country settings imply nothing about the user’s actual language or location. E.g., an English speaking citizen of the US could set the phone’s country to China and language to Arabic, and the device locale would reflect those changes.
It is best to think of ua_locale_country
and ua_locale_language
as useful approximations only.
Device Settings
On iOS, the locale is a combination of the iPhone Language and Region
settings. Using ISO standards, an iPhone with language English and region United States has a locale of en_US
.
With Android devices, you choose the language/country combination together, e.g., English (United States).
Example
The ua_locale_language
tag group is used to specify the language-half of the
locale. To target the two example devices in
Device Settings above, use the tag en
:
{ "group": "ua_locale_language", "tag": "en" }
Categories