ContextSuite

Traits

The traits object is a specialized structure within a Semantic Event designed to hold information about a user or a group. It's the primary mechanism for creating a profile of your users, which is essential for personalization, segmentation, and detailed analysis.


A GDPR-Compliant Approach to Personal Data

At Context Suite, we treat personal and sensitive information with the utmost care, ensuring our architecture is compliant with privacy regulations like GDPR. A critical aspect of this is how we handle traits.

Unlike other event properties, the data within the traits object is never stored directly with the event log. When an identify or group call is made, the traits payload is processed separately. It's stored in a secure, dedicated profile store that is segregated from the immutable event stream. The event itself only contains the user_id or group_id, which acts as a pointer to this external profile.

This separation provides two key benefits:

  1. Data Minimization: The main event stream, used for broad analytics, does not contain sensitive Personally Identifiable Information (PII).
  2. Right to be Forgotten: When a user requests data deletion, we can remove their profile from the traits store without altering the immutable, historical event log. This honors the user's request while preserving the integrity of the anonymized analytical data.

Event Types with Traits

According to the standard specification shared by platforms like Segment.com, traits are primarily associated with two specific event types:

  • identify: The traits object contains attributes of an individual user. This call is used to create or update a user's profile.
  • group: The traits object contains attributes of a group, such as a company or an account. This call links a user to that group and updates the group's profile.

Trait Properties

The properties within the traits object range from standard user information to advanced fields used for deeper business context.

Standard Traits

These are commonly used fields for identifying and describing a user.

PropertyDescriptionProvided By
nameThe user's full name (e.g., "John Doe").User-Provided (Optional)
first_nameThe user's first name.User-Provided (Optional)
last_nameThe user's last name.User-Provided (Optional)
emailThe user's email address.User-Provided (Optional)
phoneThe user's phone number.User-Provided (Optional)
usernameThe user's unique username.User-Provided (Optional)
birthdayThe user's date of birth.User-Provided (Optional)
avatarA URL to the user's profile picture.User-Provided (Optional)
genderThe user's gender.User-Provided (Optional)
descriptionA free-form description of the user.User-Provided (Optional)
websiteThe user's personal or company website.User-Provided (Optional)
addressAn object containing address details like street, city, state, postalCode, and country.User-Provided (Optional)
created_atThe timestamp of when the user account was created.User-Provided (Optional)

Advanced Context Suite Traits

These properties provide deeper, business-specific context about a user's role and value.

PropertyDescriptionProvided By
social_security_nrThe user's social security number. This is highly sensitive and should only be used where legally required.User-Provided (Optional)
ageThe user's age.User-Provided (Optional)
companyThe name of the company the user works for.User-Provided (Optional)
titleThe user's job title.User-Provided (Optional)
pronounsThe user's preferred pronouns (e.g., "she/her").User-Provided (Optional)
salutationA formal salutation for the user (e.g., "Mr.", "Dr.").User-Provided (Optional)
industryThe industry the user works in.User-Provided (Optional)
employeesThe number of employees at the user's company.User-Provided (Optional)
planThe user's current subscription or service plan (e.g., "Premium", "Enterprise").User-Provided (Optional)
total_billedThe total amount billed to the user.User-Provided (Optional)
loginsThe total number of times the user has logged in.User-Provided (Optional)