An attribute is a piece of information. It is any value assigned to a user. Similar to labels or tags.

Every user that texts your bot has attributes in their profile. Attributes consist of two pieces of information: attribute and value. For example:

attribute

value

first name

Jordan

gender

male

last seen

2 days ago

With attributes you can:

  • Save user info to learn more about your audience;

  • Sort your audience into segments based on qualities or preferences, so you can retarget effectively;

  • Personalize the chat to each user.

Types of attributes

System attributes

System attributes come from a user's Facebook profile. They can not be changed. They provide general information. Some examples:

attribute

value

meaning

signed up

May 12

When a user had the first conversation with your bot

timezone

+1 GMT

What their timezone is

locale

en_US

What language is displayed for them

See more examples of system attributes.

Custom attributes

Custom attributes are assigned to a user by you. They can be created, edited and removed. The main idea is to assign some information to users to use it later.

For example, if you sell pet products you might ask users to tell you what pet they own. Your attribute is pet type, and your values might be cat, dog, parrot, fish, etc.

attribute

value

pet type

cat

For an online store this can be product types: shoes, hats, accessories, glasses, pants, etc.

attribute

value

product type

shoes

Global attributes

Global attributes are a type of Custom attributes. You can set them up by clicking ⁝ → Manage Attributes next to any Flow in Flow Builder.

They are mainly used for two reasons:

👉 Defaults for information you use regularly

Use it when you need to enter the same information — your brand's address, phone number, etc. multiple times. If you ever need to change it, you will only do it once by changing the global attribute.

Type the attribute instead of typing your information each time. For example:

Phoenix Farms > {{company name}}

👉 Fallback

Set up a generic value to appear when a user's value is empty. Your store sells balls for football and basketball.

You want to set up a message that says:

Hello! We have a great discount on {{ball type}} this week!

If the attribute ball type is empty, you customer will see this message:

Hello! We have a great discount on this week!

After you set up a global attribute sports balls for {{ball type}}

Hello! We have a great discount on sports balls this week!

Adding or removing attributes

📌 Remember, adding or removing attributes only works for custom attributes.

To add a custom attribute:

  1. Automation > Flows.

  2. Add a new block. Actions > Set User Attribute.

  3. Add an attribute and a value.

  4. Connect it to other blocks.

To remove a custom attribute:

  1. Automation > Flows.

  2. Add a new block. Actions > Remove User Attribute.

  3. Type in an attribute you want to remove.

  4. Connect it to other blocks.

Using attributes

To use attributes in Flow Builder you need to put them in curly brackets: {{first name}}, {{gender}}, {{pet type}}, etc.

Content blocks

You can show attributes in content blocks. For example, use a user's name in a message:

Hello, {{first name}}. How can I help you? = Hello, Dave. How can I help you?

Condition

Let's go back to our pet store example. You already asked users what their pet type is. To simplify, let's say your store only sells products for cats or dogs. Your pet type can either be cat or dog.

Let's use the Condition plugin. It will redirect users based on the value of your attribute. Now you can send your cat owners one way and your dog owners another way.

You can also add attributes manually to any user in the People tab.

Examples of system attributes

Below is a list of more examples of system attributes. They can help you improve your Flows.

Attribute

Description

first name

User’s first name

last name

User’s last name

gender

User’s gender

locale

User’s locale

timezone

User’s current timezone offset from UTC

profile pic url

User’s profile picture

messenger user id

A unique ID created for specific page when a user interacts with a Messenger bot (also known as PSID)

within 24h window

Indicates if a user can or can not be messaged within 24 hour window

last seen

Last time a user was seen active on Facebook

last user freeform input

Last message user typed in themselves (Quick Replies won't count)

instagram name

User’s Instagram handle

instagram follower count

Number of followers user’s Instagram has

user follows instagram account

Indicates if a user follows Instagram Account

instagram account follows user

Indicated if Instagram Account follows user

instagram user is verified

Indicates if a user has verified account status on Instagram

eu restricted

Indicated if a user is under GDPR laws

source

How a user initially subscribed to bot (ads, comments, url, etc.)

signed up

Shows a date when a user first contacted bot

Did this answer your question?