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 that you can use for audience segmentation. Attributes differ from tags in that when evaluating users with attributes, Airship uses operators, e.g., equals, less than/greater than, contains, before/after, to determine whether or not to target a user. Supported attribute types are TEXT, NUMBER, and DATE. , TagsMetadata that you can associate with channels or named users for audience segmentation. Tags are generally descriptive terms indicating user preferences or other categorizations, e.g., wine_enthusiast or weather_alerts_los_angeles. Tags are case-sensitive. .

 Note

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.0 and Android SDK 14.1.0 or later.

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.

NameIDTypeChannelsExample
Languageua_languageTextApp, Web“EN”
Language Countryua_countryTextApp, WebTwo-letter ISO country code like “DE”, or “Unknown”
Location Settingsua_location_settingsTextApp“true”/“false” value indicating if location services are enabled
iOS/Android App Versionua_app_versionTextApp“1051.c3eca0”, “957”
SDK Versionua_sdk_versionTextApp, Web“12.0.0-beta3” (Point version)
Device Modelua_device_modelTextApp“Pixel 3a”, “iPhone8,1”
Device OSua_device_osTextApp“13.1.2”, “10”
Carrierua_carrierTextApp“Verizon”, “AT\u0026T”, “Free”, “Google Fi”
Local Time Zoneua_local_tzTextApp, Web“Africa/Abidjan”
Browser Nameua_browser_nameTextWeb“chrome”, “firefox”
Browser Versionua_browser_versionTextWeb“chrome-77”, “firefox-69”
Browser Typeua_browser_typeTextWeb“mobile” or “desktop”
NDCua_ndcTextSMSThe 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.
Subdivisionua_subdivisionTextSMSThe ISO-3166 country and subdivision for the channel — state, province, etc e.g., US-OR.

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 NameTag Group IDValid TagsSentinel Value
TimezonetimezoneTime zoneUnknown (UI) or NO_TIME_ZONE (API)
Notification Opt-inua_opt_in"true" or "false"None available
Background Enabledua_background_enabled"true" or "false"1None available
Location Enabledua_location_enabled"true" or "false"1,2None available
Application Versionua_app_versionAny sanitized string3Unknown
Languageua_locale_language4ISO 639-1Unknown
Language Countryua_locale_country4ISO 3166-1 (alpha-2 codes)Unknown
SDK Versionua_sdk_versionSDK version numberUnknown
Device OS Versionua_os_versionDevice OS version numberUnknown
Device Modelua_ios_modeliOS ModelUnknown

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 Please 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:

{ "group": "ua_locale_language", "tag": "Unknown" }
This push goes to all devices with unknown language settings.

 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
 Note

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.

 Note

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.

 Tip

Make sure to use quotes around the tag when using the API. Example:

{ "group": "timezone", "tag": "Africa/Addis_Ababa" }

Time Zone Tag / UI NameUTC OffsetUTC 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 Automation.

Example:

UI NameDevice Model
iPhone 12 ProiPhone13,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.

 Warning

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" }