Menu

Contact attributes

Store custom customer details and use them in segments, personalisation and journey triggers.

Attributes store customer details beyond standard fields such as name, email and phone. Use a plan, city, loyalty tier or birthday to build relevant segments, personalise messages and trigger journeys.

Attribute types

Type Example
Text city: “Lisbon”
Number orders_count: 12
Yes / no vip: yes
Date birthday: 1990-04-18, or --04-18 for a date with no year
List diet: vegetarian, gluten-free

Dates are calendar dates written as YYYY-MM-DD, or --MM-DD when the year doesn’t matter. Date attributes can start date-based journeys, such as a birthday treat or a renewal reminder.

How attributes get onto contacts

You don’t need to create attributes in advance. They’re added as data arrives:

  • Imports: map a column to Keep on the contact. See Import contacts.
  • Signup forms: a form field can save to an attribute.
  • By hand: open a contact, choose Edit, and add or change values under Custom attributes.
  • Your app: a developer can set attributes through the API. See the API quickstart.
  • Journeys: an Action step can set an attribute, or add to or remove from a list. See Build a journey.

To remove an attribute from one contact, edit the contact and remove it.

See every attribute in your workspace

Go to Data index and switch to Attributes. You’ll see every attribute your contacts have, with its type. If contacts hold different kinds of value under the same name, the type shows as Mixed. Keep each attribute to one type so segments and personalisation behave as you expect.

A single contact’s attributes are on their profile, in the Attributes panel.

Use attributes

In segments. Add a Profile attribute condition, for example loyalty_tier equals gold, or birthday is within the last 7 days. See Segments.

In messages. Add an attribute as a merge tag in an email or push, with a fallback for contacts who don’t have it:

Hi {{ contact.firstName | fallback: "there" }}, your {{ contact.attributes.favourite_dish | fallback: "favourite dish" }} is back on the menu.

The email designer has a picker for these, so you don’t have to type them. See Merge tags and personalisation.

In journeys. Start a journey when an attribute changes, or when a date in an attribute arrives. Filters and splits inside a journey can check attributes too.

Hide sensitive attributes from members

The owner can hide attributes, such as a date of birth or an internal score, from people with the Member role.

  1. Open Settings, then People.
  2. Under Hidden attributes, enter the attribute’s name as it appears on a contact.
  3. Choose Hide from members. You can hide up to 50 attributes.

Members then see the value as Hidden and can’t use it in conditions. In their previews and test sends, the merge tag’s fallback shows instead. Admins, the owner, API keys, exports and real sends still use the real value.