A complete guide about contact properties

Understand how Customerly tracks contact properties and how you can add your custom ones.

Luca Micheli
Written by Luca MicheliLast update 1 year ago

A contact property is a data point on your contact to let you store any information related to it. For example, the phone_number is a contact property. Some of them are default, some might be customized depending on your needs.

Each property has a:

  • Name: The name of the property is something you will recognize, such as phone_number.

  • Description (optional): An internal description to identify your property.

  • Value: The value you want to store for each contact for the same property.

  • Type: The type of value you will store (text, number, boolean, date).

Let's see an example of a few contact properties below.

As you can see, Roberto has a phone_number property of text type with the value "+353830944032".

Important: While you read "Phone number" the actual name of the property is without spaces (phone_number). Read the Important things to know section below to discover more.

Roberto has also the company_size property of number type with the value 10.

Let's discover together which property types you can track and how to better handle them.

Properties types

There are four types of properties data you can track:

  • Text

    • Any strings with a max length of 128 chars

    • [eg. "Dublin", "Professional"]

    • Possible operations

      • is

      • is not

      • starts with

      • ends with

      • contains

      • does not contain

      • is set

      • is not set

  • Number

    • Any Integer, Float numbers are accepted values

    • [eg. 1, 3.14, 10000, -10203]

    • Possible operations

      • equal to

      • not equal

      • less Than

      • greater than

      • is set

      • is not set

  • Boolean

    • true/false, 0/1 are the only accepted values

    • [eg. true]

    • Possible operations

      • is True

      • is False

      • is set

      • is not set

  • Date

    • UNIX Timestamp format only in seconds

    • [eg. 1644933485 for 2022-02-15T13:58:05.000Z]

    • Possible operations

      • is before than X days ago

      • is in the last X days

      • is before than X hours ago

      • is in the last X hours

      • is exactly X days ago

      • is before a certain date

      • is after a certain date

      • is on a certain date

      • is set

      • is not set

Important things to know

  • Property names cannot have any spaces or special symbols you can only use

    • All characters from A to Z, uppercase o lowercase

    • All numbers from 0 to 9

    • _ and -

  • You can start a property name with a number (eg. 2type, 1attempt)

  • You cannot use any reserved name by any default property

  • The properties names are difficult to read and for this reason, you will find a human-readable name in the App for example last_page_viewed_at becomes the Last page viewed at

  • If the property does not exist on your Customerly project and you send it for the first time on a contact we'll set the value for that contact and for all the remaining contacts will be not set.

  • If the property value exists on the customer and you send us a new value, we will override it with the new one.

Default properties

These are the default properties we handle on our end. Some of them are writable from you, others are read-only. This means that if a property is read-only you cannot change it in any way. Such as the IP address of a contact. Writable means you can modify its value.

  • email

    • [text | Writable] The text property used to store the email of your contacts

    • Read/Update via Chat API, REST API, Integrations, Import

  • name

    • [text | Writable] The text property to store your primary contact name

    • Read/Update via Chat API, REST API, Integrations, Import

  • first_seen_at

    • [date | Writable] A dated property is updated only when the contact has been seen for the first time

    • Read/Update via Chat API, REST API, Integrations, Import

  • last_page_viewed

    • [text | Writable] This field updates every time a contact visit a page with the live chat snippet. It contains the full URL of the page visited

    • Read/Update via Chat API, REST API, Integrations, Import

  • last_page_viewed_at

    • [date | Writable] This property updates every time a contact visit a page with the live chat snippet installed.

    • Read/Update via Chat API, REST API, Integrations, Import

  • last_activity

    • [date | Read-only] Updated every time the contact visit a page where the live chat is loaded.

    • Update only via Chat API and Integrations

    • Read via REST API, Integrations

  • ip_address

    • [text | Read-only] Updated with the last IP address recognized from the device used to browse where a live chat snippet is installed

    • Update only via Chat API and Integrations

    • Read via REST API, Integrations

  • timezone

    • [text | Writable] It is updated when the live chat snippet recognizes a new IP address for the contact.

  • city

    • [text | Writable] We geolocate your contacts based on their IPs and update the city with a good accuracy level. Is not always 100% accurate though.

  • postal_code

    • [text | Writable] We geolocate your contacts based on their IPs and update the postal_code with a good accuracy level. Is not always 100% accurate though.

  • region

    • [text | Writable] We geolocate your contacts based on their IPs and update the region with a good accuracy level. Is not always 100% accurate though.

  • rating

    • [number | Writable] Rating is a great opportunity to score your contacts. It can be automated with workflows or manually scored in your inbox.

  • region_code

    • [text | Writable] We geolocate your contacts based on their IPs and update the region_code with a good accuracy level. Is not always 100% accurate though.

  • country

    • [text | Writable] We geolocate your contacts based on their IPs and update the country with a good accuracy level. Is not always 100% accurate though.

  • country_code

    • [text | Writable] We geolocate your contacts based on their IPs and update the country_code with a good accuracy level. Is not always 100% accurate though.

  • isp

    • [text | Writable] We lookup for the ISP based on the IP address.

  • browser_name

    • [text | Writable] The name of the browser used by the contact tracked by the live chat snippet

  • browser_version

    • [text | Writable] The version of the browser used by the contact tracked by the live chat snippet

  • browser_language

    • [text | Writable] This field is updated when the live chat snippet identifies your contact default primary language. The standard we use is the ISO RFC 5646.

  • os

    • [text | Writable] The Operating system used by your contacts when browsing on a page with the live chat snippet

    • Eg. Macintosh, iPhone, Ubuntu, Windows

  • os_version

    • [text | Writable] The Operating system version used by your contacts when browsing on a page with the live chat snippet

    • Eg. OS X Mavericks

  • web_session

    • [number | Writable] Number of sessions tracked from the live chat snippet. It increments every time a user visits a new page only if the last update was at least 1 hour before.

Default marketing properties

These properties are handled on our side automatically and in some cases, you can override them.

  • bounced

    • [boolean | Read-only] A property that defines the contact status if it's bounced or not in the last sendings to their email address.

  • unsubscribe

    • [boolean | Read-only] A property that defines the status of the contact if they decided to unsubscribe from any of your email messages.

  • spam

    • [boolean | Read-only] A property that changes based on the block/unblocks action in your inbox section.

  • utm_source

    • [text | Writable] The UTM source is an URL parameter we store automatically for you when someone lands on a page with the live chat installed.

  • utm_campaign

    • [text | Writable] The UTM campaign is an URL parameter we store automatically for you when someone lands on a page with the live chat installed.

  • utm_medium

    • [text | Writable] The UTM medium is an URL parameter we store automatically for you when someone lands on a page with the live chat installed.

  • utm_term

    • [text | Writable] The UTM term is an URL parameter we store automatically for you when someone lands on a page with the live chat installed.

  • utm_content

    • [text | Writable] The UTM content is an URL parameter we store automatically for you when someone lands on a page with the live chat installed.

  • referrer

    • [text | Writable] The referrer is the page or domain your contact is coming from.

Suggested marketing properties

These properties are strongly suggested to manage marketing preferences in compliance with GDPR rules.

  • marketing

    • [boolean] You can use a boolean to collect consensus for your marketing communications.

  • newsletter

    • [boolean] You can use a boolean to collect consensus for your newsletter communications.

  • product_updates

    • [boolean] You can use a boolean to collect consensus for your product_updates communications.

  • offers

    • [boolean] You can use a boolean to collect consensus for your offers communications.

Default mobile properties

When you install the Customerly SDK on your mobile apps, we are going to track automatically for you the following properties for any of your contacts using your mobile apps.

  • android_app_name

    • [text | Writable] The name of the app your contact is using.

  • android_app_version

    • [text | Writable] The version of the app your contact is using.

  • android_device

    • [text | Writable] The android device your contact is using your app from.

  • android_os_version

    • [text | Writable] The android device OS version your contact is using your app from.

  • android_session

    • [number | Writable] The number of sessions from the android app

  • android_last_seen_at

    • [date | Writable] The last seen date when your contact has used the mobile android app.

  • ios_app_name

    • [text | Writable] The version of the app your contact is using.

  • ios_app_version

    • [text | Writable] The version of the app your contact is using.

  • ios_device

    • [text | Writable] The iOS device your contact is using your app from.

  • ios_os_version

    • [text | Writable] The iOS version your contact is using your app from.

  • ios_session

    • [number | Writable] The number of sessions from the iOS app

  • ios_last_seen_at

    • [date | Writable] The last seen date when your contact has used the mobile iOS app.

These are the standard properties we track for each contact. On top of these, you might want to add your own custom properties.

Track custom properties

To track a custom property you just need to pass the information to us via:

  • JS API

  • REST API

  • CSV/XML import

  • Outbound Profiling chats messages

  • data connectors (eg. Zapier, Integromat)

Find more on how to track custom properties for your contacts.

Did this answer your question?