Intercom lets you create and track custom data attributes about your customers, based on criteria that’s specific to your business. 

You can use this data to filter and create customer segments, and to send targeted messages and campaigns. You can also use it as ‘qualification data’ to qualify leads and trial users. 

What’s a data attribute?

A data attribute tracks facts about your customers — like the plan someone is on, or when they signed up — as opposed to an event, which tracks recurring customer actions

Here’s an example: if your product is a project management tool, you could track data about the number of files each user has. Then, if you want to message users who haven’t started adding files to the tool and might need some help onboarding, you could set up a message targeted to users with "files less than 1".

The most common data attributes set up on Intercom are about customer development, such as:

  • Price plan
  • Value of purchases
  • Number of teammates added
  • Number of songs played
  • Date subscription ends

Note: If you create more than 100 custom data attributes, it could degrade your performance. There’s a limit of 250 custom data attributes per app. 

How do I create custom data attributes?

You can do this anytime by adding additional key/value pairs to your intercomSettings code snippet. (The key is the attribute name; the value is a placeholder for the data you’ll track). 

Once you add your custom key/value pairs, Intercom will regularly ping to see if the values have updated. 

Double check that your keys always have a JSON-valid value that is a string (text), number, or boolean (true or false). That means using double quotes around text strings and sending NULL to cater for cases when no value exists for a user. 

You can also send us dates or URLs. You can track URLs as a text string, e.g. "http://www.google.com". Intercom will recognize this and automatically turn it into a hyperlink. Track dates by sending us a unix timestamp in seconds. If you create a key name that ends with “_at” we'll automatically treat it as a date rather than a number (see  "last_order_at"  below).

Here are some examples of data attribute key and value pairs:

window.intercomSettings = {
  email: "bob@example.com",
  user_id: "123",
  app_id: "abc1234",
  created_at: 1234567890,
  "subdomain": "intercom", // Put quotes around text strings
  "teammates": 4, // Send numbers without quotes
  "active_accounts": 12,
  "last_order_at" : 1350466020, // Send dates in unix timestamp format and end key names with "_at"
  "custom_domain": null // Send null when no value exists for a user
}

Things to remember:

  • Key names are case sensitive, and can’t contain periods ('.'), dollar signs ('$'), characters like ~`!@#%^&*'{}|\'"  or the NULL character.
  • Data values must be sent as JSON strings, numbers or booleans (true or false). We can’t accept object, nested hashes and array data formats.
  • Text string values can only hold up to 255 characters.
  • You can clear existing data values by sending empty strings. 

Once you’ve updated your code snippet and started tracking the data, you should: 

What is custom qualification data?

Qualification data is a special set of attributes you can manually update in your customer profiles as you qualify them. You can set these up via a simple form in Intercom. If you intend to update this data manually, you don’t need to do anything else. 

If you want to track this data via a ping, you need to add the key/value pairs to your intercomSettings code snippet, just as you would with other custom data.

To create new custom qualification data: 

  1. Open your profile menu in the bottom left hand of the Intercom app screen and choose ‘Settings’
  2. Choose ‘App settings’ in the top navigation bar.
  3. Select 'Qualification data’ on the left hand side.

On that page, click on ‘Add data’ at the bottom of the page. 

Then select ‘Create new data’ from the dropdown menu. Here you can create a name (that’s your key) and choose a format for the values you’ll collect (Text, Number, True or False, or List). If you choose the List format, which creates a defined list of options to choose from, you’ll be able to define the values for the list here as well. Finally, you can add a description to help your teammates understand the data.

Note: choose simple names for your custom qualification data. If you decide you want Operator to qualify this data, customers will see these names in the Messenger.

How do I archive data attributes?

You can archive data anytime. Archived data won’t appear as a filter in your user or lead lists, so it’s a good way to clean up data you don’t need. Here's how to do it: 

  1. Open your profile menu in the bottom left hand of the Intercom app screen and choose ‘Settings’.
  2. Choose ‘App settings’ in the top navigation bar.
  3. Select 'People data’ on the left hand side.
  4. Choose a piece of data you'd like to archive. Then, click 'Archive' in the pop-up box. You can unarchive them if you change your mind — right now, you can’t completely delete custom data attributes.

Problems?

If you have any issues with adding custom data attributes to Intercom, just start a conversation in our Messenger (bottom right of this page) or email us at team@intercom.com.We'll get you set up and tracking the data you need in no time.

Did this answer your question?