Skip to content

User Attributes & Tags

Values that define a customer—from name and date of birth to remaining points, level, and marketing opt-in status—are integrated through user attributes and custom tags. With these, you can split customers into segment groups or automate message delivery.

Difference between user attributes and tags

Section titled “Difference between user attributes and tags”

User attributes are special data such as phone number and date of birth that you integrate in a predefined format and use across many features. Any other free-form data is integrated as custom tags.

User attributesCustom tags
TargetUserUser, device
FormatPredefinedFree-form
DataOnly certain data (phone number, date of birth, time zone, etc.)No restrictions
PurposeSending to phone numbers, birthday segments, etc.Segments (tags), personalized messages, etc.

For user-specific data that ties closely into FlareLane's various features, integrate the user attribute data below in the correct format.

keyvalue
Emailemailabc@example.com
Phone numberphoneNumberE.164 format (+821011112222)
Date of birthdobYYYY-MM-DD (1992-03-01)
Time zonetimeZonetz database (Asia/Seoul)
NamenameNo restrictions
CountrycountryISO-3166-1 alpha-2 standard (KR)
LanguagelanguageISO-639-1 standard (ko)

Use the userAttributes value of the track API.

Use the API below for periodic syncing via bulk batches and the like:

  • REST API: POST /v1/projects/PROJECT_ID/track

Example: integrating user attributes via the API

curl --request POST \
--url https://api.flarelane.com/v1/projects/PROJECT_ID/track \
--header 'Authorization: Bearer API_KEY' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"userAttributes": [
{
"userId": "userid1",
"name": "name",
"phoneNumber": "+821011112222",
"email": "john@example.com",
"dob": "1990-01-01",
"timeZone": "Asia/Seoul",
"country": "KR",
"language": "ko"
}
]
}
'

You can review the integrated user attributes in the user list.

FlareLane user list showing integrated user attribute fields

Beyond user attributes, free-form attribute values such as purchase history, owned coupon lists, and marketing opt-in status are integrated as tags. Using integrated tags, you can perform more granular segment targeting or use them as hyper-personalization message variables.

An example of tags is shown below.

{
"gender": "male",
"order_count": 2,
"liked_products": [1,2,3],
"coupon_names": ["coupon1","coupon2","coupon3"],
"firstPurchasedAt": "2024-04-19T14:23:56+09:00"
"ad_agreement_datetime": "2024-04-19T14:23:56+09:00"
}

You can use the tags value of the track API, and you can also add tags via the SDK.

When you integrate tags, only the tags you include are applied. To delete a tag, set its value to null.

Use the API below for periodic syncing via bulk batches and the like:

  • REST API: POST /v1/projects/PROJECT_ID/track

When values change on the client side:

Example: integrating tags via the API

curl --request POST \
--url https://api.flarelane.com/v1/projects/PROJECT_ID/track \
--header 'Authorization: Bearer API_KEY' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"tags": [
{
"subjectType": "user",
"subjectId": "userid1",
"tags": {
"gender": "male",
"order_count": 2,
"liked_products": [1,2,3],
"coupon_names": ["coupon1","coupon2","coupon3"],
"firstPurchasedAt": "2024-04-19T14:23:56+09:00"
"ad_agreement_datetime": "2024-04-19T14:23:56+09:00"
}
}
]
}
'

A tag's value supports the following data types:

  • String
  • Number
  • Time (use one of the two and follow the exact format)
  • Boolean (true/false)
  • Array (types must match: all strings or all numbers)
  • null (deletes the tag)

How device tags change by User ID scenario

Section titled “How device tags change by User ID scenario”

When a User ID is integrated, the current device's tags change along with it depending on the scenario. For details, see the How Device Tags Change by User ID Scenario guide.

We generally recommend managing tags consistently by User ID. However, if you need to manage tags on a per-device basis, prefix the tag key with @device_ and this policy will not be applied.

You can review integrated tags in the user or device list.

In the integrated tags list further down the same page, you can review the data available for use. When you integrate a new tag, it is added to the list automatically after a short delay; rather than waiting, you can also add it to the list manually and use it right away. (Being added to the list does not necessarily mean the data has been integrated correctly.)

FlareLane tag list page showing integrated tags available for use

Using tag filters in segment filters, you can freely build groups of all kinds. You can create conditions using a variety of criteria, such as equals, comparison operators, and existence checks.

Segment filter using tag conditions with equals, comparison, and existence criteria

Use case 2) Message personalization variables

Section titled “Use case 2) Message personalization variables”

Integrated tags can be inserted into message content using the personalized message (Liquid) syntax.

Usage: {{ tags.tagName | default: defaultValue }}

Message editor inserting a tag as a Liquid personalization variable

  • Tag data is subject to a count limit. Dynamically assigning tag names is discouraged because of this limit.
  • Arrays of objects will be supported in the future.