User attributes (referred to also as just "attributes" in the user interface) are a no-code feature, useful for basic or advanced bot building. 🍰

What are user attributes?

User attributes are small pieces of information that can be assigned to your Messenger chatbot users as they navigate its flow. Think of them as tags or labels. Attributes allow you to automatically collect information from users about them, their interests, or their feedback.

Chatbot building

User attributes allow you to:

  • 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

  • Automatically gather user information for specific purposes, like applications and orders

How to incorporate user attributes into your chatbot's flow

You can use tags or attributes of all types anywhere in your chatbot, including in text cards, reengage messages, the Notify Admin via Email plugin, the Send Data to Google Sheets plugin, etc.

To add attributes of any kind to your bot flow or to a plugin, type two curly brackets {{. Then, start typing the name of the attribute. Existing attributes will appear in a drop-down menu. Select the one you want, if it already exists. Or, you can create a custom attribute on the spot by typing out a new name and finishing with two closed curly brackets }}.

For example, if you wanted to add a personalized greeting to your chatbot's Welcome Message, you could start typing {{first name}} and select that system attribute when it appears in the drop-down. When a user goes through the flow, the name from their Facebook profile will appear.

Chatbot building

It works the same way for adding a custom or global attribute to the flow or to a plugin.

Chatbot building

Types of user attributes

There are three types of user attributes in Chatfuel:

  1. System attributes ⚙️

  2. Custom attributes 🎨

  3. Global attributes 🌎

Let's dive into the specifics of custom and system attributes. To learn more about global attributes, see Create and manage global attributes article.

System attributes ⚙️

System attributes are automatically pulled from the users' Facebook profiles and contain information like their Messenger ID, gender, first and last name, etc. They can't be edited by you, the bot builder. The only way the value of a system attribute could change is if the user changed the information on their profile.

Chatbot building

What do you need system attributes for

If you want your chatbot to greet users by name, you can tell it to pull that data from their Facebook profile and add it to the Welcome Message. For example, your bot will say Hi Jeremy! instead of just generic Hi!, for instance.

Custom attributes 🎨

Unlike global attributes, custom attributes are user tags that you, the bot builder, can create and set up your chatbot to collect values from each user. You can create as many attributes as you need.

Chatbot building

How do custom attributes work

Here's an example. The chatbot for this ecommerce skincare brand created a {{skin type}} custom attribute.🧴The bot quizzes the user to find out what their skin type is—oily, dry, or combination,— and automatically saves the data to this custom attribute. The brand then uses the attributes to recommend products relevant to each user.

How to gather values for custom attributes

Your chatbot can gather values for custom attributes from users during the conversation. To do that, you can use one of the four Chatfuel plugins:

  • Save User Input plugin

  • Set User Attribute plugin

  • Quick replies


#1. Quick replies

The easiest way to set values for custom attributes is with quick replies.

  1. Choose Quick reply from the Add Element menu at the bottom of the screen in the Blocks tab in Automation.

  2. In the Save to: field, create a name for your new custom attribute (or start typing an existing one and select it from the drop-down). Then, whichever quick reply the user chooses from that set will be saved to that attribute.

#2. Save User Input plugin

Your chatbot can automatically collect values for custom attributes with the Save User Input plugin. Here's how:

1. In the Blocks tab in Automation, choose any block where you'll be asking users for information. From the Add Element menu at the bottom of the screen, click +More and select the Save User Input plugin from the menu that appears.

2. Add text in the Message to user box that asks the user for the information you want. (Add extra fields below if needed.)

3. Under Save answer to attribute, name the attribute you want to save user responses to. Do this by typing two open curly brackets {{, the name of your new custom attribute, and two closed curly brackets }}. (Or, if you want to save values to an attribute that already exists, start typing its name and select it from the drop-down.)

Chatbot building

4. Once users have gone through this flow and answered the question, you can find their values for the attribute(s) in the People tab.

#3. Set User Attribute plugin

This plugin will automatically assign a custom-attribute value for a user based on the part of your chatbot's flow they've seen. Example values for this plugin include yes, no, and not set. You can set a custom value too.

For example: If you want to have a record of how many users have seen Block A in your flow, set up this plugin below that block. Have your chatbot assign the value yes to any user who makes it to that block.

Here's how to set up this plugin:

1. In the Blocks tab in Automation, click +More on the Add Element menu at the bottom of the screen and select the Set User Attribute plugin from the menu that pops up. Once the plugin appears in your workspace, drag and place it under the desired block.

Chatbot building

2. Create the attribute name and assign a value. In our example, the attribute name would be {{Block-A}} and the value could be yes or received to indicate that the user reached this block.


Advanced users can also add custom attributes using the JSON API plugin.

Chatbot building

Example use cases for system and custom user attributes

Remember, you can always see the values of system and custom user attributes in the People tab. Here are six scenarios where these types of attributes can be especially helpful.

#1. Improve ad targeting

In the People tab, you can sort users into segments based on any attribute(s). Then, you can use Segment Sync to export this data to Facebook Ads Manager. That way, you can easily create custom or Lookalike audiences for highly targeted and effective Facebook ads. Learn more about using Segment Sync to better reach your target audience.

#2. Accept applications

If your bot accepts user applications of some kind, it can store the values for each part as a custom attribute. First, collect the information via the Save User Input plugin.

Chatbot building

Then, use the Notify Admin via Email plugin to have the data sent to your email each time there's a new submission.

You can organize the automated email however you like. Here's an example of how it could look.

#3. Collect feedback

Easily collect feedback on your workshop, webinar, support team's performance, a user's stay at your Airbnb, etc. Use the same two plugins as you would for accepting applications (above).

#4. Take orders

Businesses that need to accept and fill pickup or delivery orders can use attributes to streamline the process, like:

  • restaurants accepting to-go orders

  • brick-and-mortar stores accepting pickup orders

Custom attributes let you easily process a customer's order without having to read their entire conversation with your chatbot. That means you can quickly confirm the order and prepare it for delivery or pickup, and the user can receive or collect the order sooner.

#5. Make recommendations

You can set your bot to ask questions, capture the data from user answers, and save it to attributes. Based on those attribute values, the bot can then make recommendations, like:

  • suggesting the nearest location of your business

  • recommending a restaurant or hotel in the area

  • helping guide the user through news or blog posts on a topic of interest to them (possible with the Save User Input and Google Site Search plugins. Get more information on user-defined searches).

Chatbot building

#6. Offer quizzes
You can use custom attributes with math operations to:

  • provide quiz scores or results to chatbot users

  • qualify users for a loan or credit

  • or simply route people through your bot flow based on their answers

Did this answer your question?