Attributes & tags

Attributes and tags are predefined keys allowing data values to be stored against a user profile or devices.

An Attribute is linked one-to-one to a user profile or a device profile, holding a single value that may be updated at any time, for example, "First Name" or "Membership Level". Attributes may be used for segmentation or personalisation of messaging campaigns.

A Tag can be set multiple times against a device with different values (eg. a one-to-many relationship). Each record is timestamped and cannot be modified. Tags may be used to record user behaviour over time and can be used in segmentation for messaging campaigns.

View and edit

To view or edit the attributes and tags already defined for a project, navigate to Data > Data Manager > Attributes & Tags.

The table shows which are configured as Device or Profile attributes.

The list can be filtered by using the search fields at the top of the table.

A tag can be edited or deleted using the icons on the relevant table row.

Create a new attribute or tag

In order to store data against a user or device profile, the attribute or tag must be created first by pressing the Create tag button.

Set the name, data type and choose whether the new key should be used as a User Profile or Device attribute, or remain as a regular tag.

Data type

Value format

String

Text characters (max 101 characters)

Number

Numeric values

Date

Date with optional time, ISO-8601 format, eg. 2020-12-31 or 2020-12-31 23:59:59

Array

JSON object, eg.

{
  order_total: "12.34",
  item_count: 3,
  items: [{...}, {...}, ...]
}

🚧

Naming

The name should avoid spaces and dots, and ideally limit to lowercase letters, digits and underscore. This will allow easier use of the attribute through the mobile and web SDKs and the API.

The Display Name field can be used to provide a friendly name for the field in the Xtremepush interface.

You can also set an Alias, useful if you have named an Android and an iOS tag differently and you need to alias the two together to keep analytics consistent between apps.

System attributes

Field name

Description

user_id

Unique user ID from your backend system.

customer_id

Unique customer ID from your backend system.

email

User email address. Importing this value will automatically update email_addressable.

email_addressable

If the email address is reachable. This field should not usually be imported. It is set automatically when importing a value for email based on basic validation of the format of the email address. It will also be set to false by the system if messages sent to the user fail as permanently undeliverable.

email_subscription

Status of user's email subscription.
1 = subscribed, 0 = unsubscribed, or leave blank for undefined (not explicitly unsubscribed but not yet gained permission to contact).

mobile_number

User mobile number. See the information in Manual entry for the correct E.164 number format.

sms_addressable

If the SMS number is reachable. This field should not usually be imported. It is set automatically when importing a value for mobile_number based on basic validation of the format of the mobile number. It will also be set to false by the system if messages sent to the user fail as permanently undeliverable.

sms_subscription

Status of user's SMS subscription.
Use the same format as email_subscription.

whatsapp_number

Use the same format as mobile_number

whatsapp_addressable

If the WhatsApp number is reachable. This field should not usually be imported. It is set automatically when importing a value for mobile_number based on basic validation of the format of the mobile number. It will also be set to false by the system if messages sent to the user fail as permanently undeliverable.

whatsapp_subscription

Status of user's WhatsApp subscription.
Use the same format as email_subscription.

language

Language must be set using a two-letter ISO 639-1 language code.
Eg. English should be entered with the code en

timezone

Timezone must be set using the format from the ICANN tz database.
Eg. The timezone for the London has the Format Europe/London, New York is America/New_York & Lagos is Africa/Lagos

Updating values for existing attributes

Once that tags or attributes have been created, there are several ways to ingest data into the system.

Assigning attributes manually from the platform

It is possible to assign attributes against user profiles and set the value, which is practical when testing from the platform. To do so, navigate to Data > Users, click on the desired profile ID and navigate to the Data > scroll to the Attributes section.

Click on Assign attribute. Select one of the predefined attributes from the project and type the value for this attribute > click on the Save icon.

From this same page you will be able to review stored attributes and delete them.

Importing data

Whenever you are importing user profiles (from a CSV or via API) into the system you can assign them attributes. Review our guide on importing and creating user profiles for more details.

Passing data from the SDKs

Our web and mobile SDKs allow you to set attributes and tag interactions.

You can set values against the current device accessing your website or apps for existing attributes or tags by using the tagHit method.

For more details on this method review our dedicated guides for web, Android and iOS.

📘

If you haven't set the user ID for the current device, then the data will be associated against an anonymous profile. That's why it's important to set the user ID every time your customer ID is available on app open or when a user logs in to make sure the identity is set.

Updated about a month ago


Attributes & tags


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.