Contact Properties can be very useful in your work with visitors or customers, and allow a lot of flexibility for handling information. They are available on every Tidio plan, including Free.

Your agents can fill them in during a conversation, your flows and Lyro (the AI agent) can save what customers tell them, and you can bring them in with a contact import.

 

In this article, you'll learn:

Silent walkthrough. Create a Shoe size contact property of the Number type, add it to a contact from the Customer data section of a conversation with the value 42.5, and give Lyro access to it in Configure > General.

 

 

What are Contact Properties?

 

Contact Properties are pieces of data you can assign to your visitors and customers. They can be filled in:

  • manually by your agents, in the Inbox,
  • by your flows,
  • by Lyro, in its Procedures,
  • by a contact import from a CSV file,
  • from your website, by your developer, with the Widget SDK.

The Contact Properties assigned to the contacts are then stored in the Contacts list, where you can show them as columns, filter by them and export them. You can also use those data later on for Condition nodes in flows so that your flows can be even more personalized.

Each property has one of five types: Text, Email, Number, Phone Number or URL.

 

 

Set new Contact Properties 

 

To create a new Contact Property, go to the Settings > Fields section in your Tidio admin panel:

 

The Settings sidebar with "Fields" selected under "General".

 

 

In there, open the Contact properties tab (next to Custom fields, which hold extra information on tickets) and you will see the option to create new Contact Properties:

 

The Fields "Contact Properties" tab showing an empty list and "Create a contact property" buttons.

 

 

Of course, if you already have some custom Contact Properties, you will see them listed:

 

The "Contact Properties" table listing Shoe size, Has purchased, and Product brand, with internal names, "Show Contacts" buttons, and visibility switches.

 

 

For each property, the list shows its Property Label and Internal Property Name, the agent who created it (Created by), and a Show Contacts button that lists every contact with a value for it. You can also choose to hide your Contact Properties if you wish, by switching off the Visible toggle, so they do not come up in certain lists later on (to avoid using a property that shouldn't be used anymore).

 

Click on the Create contact property button in the top-right to start creating a new one. In the Create a new contact property window, give the property a Property Label, e.g., 'Favorite color' or 'Shoe size,' depending on what you need. Tidio suggests an Internal Property Name based on the label - it's the name used in the CSV file with exported contacts:

 

The "Create a New Contact Property" dialog for "Shoe size", with internal name "shoe_size" and "Number" selected in the property type menu.

 

You also need to select the Property Type, which is crucial; this will determine what kind of data your new Contact Property can handle: Text, Email, Number, Phone Number or URL. When an agent types in a value, Tidio checks it against the type - a Number property, for example, accepts numbers with up to 2 decimals. Please note: you cannot modify the type or the internal name later on, so make sure you select the correct ones for your new property! Then, hit Create.

💡

Please note: creating and editing Contact Properties needs the Fields permission (Manage Custom fields and Contact properties). If the Create contact property button is greyed out for you, ask your admin - see Permissions.

 

To edit an existing Contact Property's label, hover your mouse over the property and click the pencil icon. Only the label can be changed - the internal name and the type stay as they are. To show the contacts assigned to a specific property, click the Show Contacts button.

 

The contact property list with the pencil icon beside "Shoe size" circled.

 

To learn more about managing your contacts, visit our complete guide about the Contacts list.

 

💡

Please note: at the moment, existing Contact Properties cannot be deleted. They can be hidden with the Visible toggle; once hidden, the property stops being listed when you add a property to a customer in the Inbox. It will still remain listed when editing a flow, however (e.g. when using the Update contact property action).

The contact property list showing "Show Contacts" buttons and a "Visible" switch turned off for one property.

 

 

Updating Contact Properties via Flows

 

Now that you know what Contact Properties are let's go over the scenarios and how they work in practice. Some default properties are already available in Tidio; if you'd like to use custom bits of information, you'll need to define your properties first. 

In other words, if you want to store and track a contact's favorite color and age, you will need to define a 'color' property and an 'age' property. 

Once set, you can export your contact list that contains an email address, favorite color, and age for each matching recipient.

 

💡
If you're using Lyro Actions to collect certain Session Variables, those Session Variable values can be stored as Contact Property values through flows! Among other things, this could let you save a customer's current order status (or other external data collected via API) in a Contact Property, and send that value to Zapier, for example.

 

 

Example

In this example, we'll be looking at an automatic customer-product grouping scenario. Our goal is to group our customers by clothing brand and provide availability info for the specific brand they select. To do so, we'll be using a custom property (that we created earlier in the Settings section) and contact segmentation.

 

In this example, the custom Contact Property will be mainly Product brand, which is a text type property - but we will also be using Shoe size, a number type property.

 

Create a Decision (Quick Replies) node to let the customer choose their brand and then use an Update contact property action with the brand as a value - select the Product brand property and set the value to be a brand name:

 

The "Update Contact Property" action configured to set "Product brand" to "Van Eyck".

 

💡

Please note: if you have multiple Contact Properties that you want to create (or update), you can do that in just a single action! Simply click the Update another contact property option (with the + icon) at the bottom, and specify the details as needed:

 

An action updating two contact properties: "Product brand" to "Van Eyck" and "Product category" to "shoes".

 

The entire flow allows the customer to select one of three brands in this example, and the general setup looks as follows:

 

The "Shoe brand" flow branching into three brand choices, each updating a contact property before sending a message or asking a question.

 

 

Whenever a specific brand is selected in the Decision (Quick Replies) action, the flow uses the Update contact property action to apply a specific property (or properties) to that customer, and apply a value to each property as well.

 

Here's what the example Decision (Quick Replies) step looks like in the editor:

 

The "Decision (Buttons)" editor asking which brand interests the visitor, with Faln, RCM surplus, and Van Eyck choices.

 

 

When the customer chooses one of the brands, the flow applies the appropriate Product brand value (the brand name) to that customer, and follows up with a message and link to the correct product page. Here, the actual Product brand property is used inside the message itself:

 

The "Send a chat message" action with a product_brand variable in the message and a second message linking to the selected brand’s products.

 

 

This way, the customer can see the selected brand name when they receive the message:

 

The chat widget after the visitor selects Faln, showing a personalized stock message and a link to Faln products.

 

 

In another example in our flow, when the customer chooses a specific brand that may be out of stock, the flow informs about that specifically - and then goes on to ask the customer about their shoe size (so the store staff can check for availability later, and contact the customer via email):

 

 

The "Ask a question" action requesting shoe size, validating a number, and saving the answer in the shoe_size contact property.

 

 

The flow uses the Ask a question action to ask for the shoe size. This simple action is a great way to collect single bits of information like that, but it needs to be set up properly to actually save the information in a usable way. Specifically, make sure that you enable the option called Save the answer as a contact property, available at the bottom of the action's settings:

 

The enabled "Save the answer as a Contact Property" setting with "Shoe size" highlighted in the property selector.

 

 

Select the correct Contact Property from the list that appears (Shoe size in this example), and the flow will be able to save the customer's answer properly. Of course, this will only work if the customer provides the answer correctly - the shoe size needs to be a number, after all (this is determined by the Contact Property type).

 

Notice how you can use any existing Contact Property inside your flow messages; simply click on the braces icon ({ }) to insert a property, or start typing inside an open brace:

 

The message editor showing contact property suggestions for "Product brand" and "Product category" after an opening brace is typed.

 

 

In the flow editor, you will always see properties inserted this way in your flow messages, and you can modify them anytime, of course. Using properties in messages can be useful when you are sending a message that needs to use different bits of information, based on what the customer had provided earlier.

 

 

The "Send a chat message" action containing a shoe_size variable in a promise to notify the visitor when their size is available.

 

 

From the customer's perspective, the message will simply include the appropriate information - as long as it was available in your Tidio project for that customer:

 

 

A chat where the visitor chooses RCM surplus and enters shoe size 41, followed by a reply that includes the selected size.

 

 

Whenever you're chatting with a customer, you will see all of the Contact Properties that have any value assigned in their specific case, e.g. a shoe size they provided, or the product brand they selected:

 

The "CUSTOMER DATA" sidebar showing contact properties for shoe size 41, product category shoes, and product brand RCM surplus.

 

 

The same information is available when you browse your Customers list, in columns:

 

 

A contact table row displaying a contact’s email, "Product brand" as RCM surplus, and "Shoe size" as 41.

 

 

Adding Contact Properties manually

 

If you want to add a contact property to your contact during a conversation or a ticket - you can do that in the Customer data section of the customer profile, on the right. This may be helpful when you're trying to save important data about the visitor that you may use in the future. Click the + icon (Add contact property) in the section's header:

 

A live conversation in the Inbox with the customer profile open on the right; the Customer data section shows the name, email and two custom properties (e.g. Shoe size 42, Product brand Nike), and the + (Add contact property) icon in the section's header is highlighted

 

You can choose the contact property from the list of available properties (type in the search box to find it), or create a completely new contact property with Create a new contact property at the bottom of the list. Hidden properties, and the ones the customer already has, aren't listed:

 

The Add contact property dropdown open in the Customer data section, with the Search box at the top, a list of custom properties (e.g. Order number, Plan, Company website) and "Create a new contact property" with a + icon at the bottom

Type in the value and press Enter (or click anywhere outside the field) to save it. Tidio checks the value against the property's type - if it doesn't match, you'll see a message like Email is invalid! or Number is invalid! under the field. To remove a value, hover over it and click the X on the right. When a customer has more than three properties, click Show all to see the rest.

 

Using Contact Properties with Lyro

Lyro (the AI agent) can use your Contact Properties to personalize its replies. By default, Lyro can access the visitor's name, email address and current URL. To let it read your own properties as well, head over to Lyro AI Agent > Configure, open the General tab, and pick the properties in the Contact properties field of the Access permissions section - or choose All custom:

Lyro AI Agent > Configure, General tab, with the Access permissions section in view and the Contact properties dropdown open: All custom at the top, a divider, three custom properties with two of them checked, and Add new contact property at the bottom; the Manage contact properties link below the field

Selected properties may be referenced in Lyro's replies to customers, so share only what's necessary. You can also reference them in Lyro Guidance, and in Lyro Procedures you can add a Read Contact property or Update Contact property step, so Lyro looks up a value or saves what the customer tells it (e.g. their order number).

💡

Please note: the Access permissions selection controls which properties Lyro can reference, not which ones it can update in a Procedure.

 

 

How to use Lead Scoring in Tidio

 

Lead scoring is the process of assigning values to each lead you generate for the business, often in the form of numerical points. You can score your leads based on multiple attributes, including the information they've submitted to you and how they've engaged with your website. This process helps prioritize leads, respond to them appropriately, and increase the rate at which those leads become customers.

 

You can award points for a variety of actions. Points can be assigned once, awarded, and/or subtracted after each completed activity.

 

Please note that you need to register the email address first for the contact to appear on the contacts list. To ask for the email, use the Pre-Chat Survey or a Lead Generation flow; most lead-scoring scenarios are based on returning visitors. As soon as you register their email address - you will see it assigned to a Contact Property.

 

Example 

 

Number of Page Views

 

In this example, we'll create a new Contact Property and automation for lead scoring. 

 

If you'd like to create lead scoring for a specific contact, the number of pages viewed can be your best indication of a person's interest in a particular product. This property keeps a running counter of the number of times the person has viewed one of your web pages. The higher the number, the more engaged they are; you can note the right moment to contact such highly interested users.

 

First, create a new Contact Property and set number as its type:

 

The "Create a New Contact Property" dialog with label "Pages viewed", internal name "pages_viewed", and type "Number".

 

 

Once the property is ready, create a new flow from scratch. Use Visitor opens a specific page as the trigger. Use the option unlimited (send on each visit) to let it work whenever someone visits that particular page.

 

The "Visitor opens a specific page" trigger set to the exact pricing page address with "unlimited (send on each visit)" selected.

 

 

Drop the action node Update contact property into the workspace & choose the Contact Property created earlier. Set the contact property to Increase (+) by a value of 1. 

 

The "Update Contact Property" action with "Pages viewed" selected and "Action: Increase (+)" set to 1.

 

 

This property will now keep a running tally of the number of times the person has viewed a specific page. To check matching contacts, visit the Contacts section. 

 

💡
The Visitor needs to have an email address assigned to the contact to appear on the Contacts list. 

 

 

Merging multiple Contact Property values into one new value

 

When you're collecting several different pieces of information from a customer (e.g. their first name, address, number, company name, etc.), it is possible to copy those multiple separate values into a brand new Contact Property - as just one custom value. This way, you can mix different types of data, like text and numbers, and store them in one handy Contact Property if you like.

 

In the example below, the Send a form action asks the visitor for their full name and team size. Asking for these two separate pieces of information is practical and efficient from the customer's perspective, and does not allow much room for error - the two values remain separate, as the Contact Properties 'Name' and 'Team size'.

 

The "Send a form" action requesting "Full name" and "Team size" before an update-property action and a chat message.

 

 

The Send a form action is configured properly to save the provided information, each in their own Contact Property:

 

The "Team size" form field configured as a required Number answer saved to the "Team size" contact property.

 

 

However, for the purposes of quick technical support, the project owner prefers to store all this information in just one Contact Property called 'Info' - where both the customer's name and team size are saved as a single value.

This new "mixed" value can be created inside the Update contact property action, which allows you to format it in a way that makes most sense as well:

 

The "Update contact property" action combining the name and Team size variables into the "Info" text property with a team label.

 

 

In the example above, the new Contact Property is called 'Info', and the value uses the visitor's two other Contact Properties: 'Name' and 'Team size'. The new value is also formatted for clarity.

Also in this example, the flow asks the customer to confirm if the info is correct - by displaying the newly crated Contact Property for them on chat:

 

The "Send a chat message" action asking the visitor to confirm their information and inserting the info property below.

 

 

In practice, the customer first fills out the form:

 

The chat widget form filled with a customer’s name and team size 37, ready to submit.

 

 

... and then sees the new value that resulted from their input:

 

The submitted form followed by a confirmation message, with the combined customer name and team size 37 outlined.

 

 

The agents can see the same info as the new 'Info' property when chatting with the customer, instead of two separate properties:

 

The customer data sidebar with the "Info" property outlined, combining a customer’s name and team size 37.

 

 

Naturally, the same information can be displayed in (and exported from) the Contacts list:

 

The contacts table with Name, Info, and Team size columns, showing the combined information alongside team size 37.

 

Further reading