Customer Profile Schema Reference
Every user's profile is a record built from identity fields, system fields, and attributes. This reference lists every field on that record and what it means.
Overview
Every user in Intempt has a Customer Profile: one record that combines identity fields, system fields computed from event activity, and attributes. Segments, journeys, analytics, and the User details page all read from this same record.
Identity fields
These fields identify the profile and link it to events and an account. They exist on every profile.
| Field | Type | Description |
|---|---|---|
Master ID (id) | string | Intempt's unique, auto-generated identifier for the profile. Used internally to join events to the user who performed them. |
| Identifier | string | The identifier your app sent during sign-up or login (for example, an email or an internal user ID). See Identity resolution. |
| Full name | string | The profile's display name, built from name attributes when available. |
| string | The profile's primary email address, when known. | |
| Account ID | string | The ID of the account this profile belongs to, if it's grouped into one. See Users & Accounts. |
| Avatar | string | URL of the profile's avatar image, when available. |
System fields
System fields are computed from event activity rather than entered manually. You can add them as columns on the Users list and use them as segment conditions, but you can't edit their values directly. The internal field key is included below since a few of these don't have a fixed display label in the product yet.
| Field | Description |
|---|---|
| First seen | Timestamp of the profile's first tracked event. |
| Last seen | Timestamp of the profile's most recent tracked event. |
| Total events | Total count of events the profile has performed. |
Active days (active_days) | Number of distinct days the profile has been active. |
Session activity (session_activity) | Summary of the profile's session behavior. |
Avg. session duration (avg_session_duration) | Average length of the profile's sessions. |
Avg. events per session (avg_events_per_session) | Average number of events per session for the profile. |
| Intent level | The profile's current intent level, based on how often it performs events marked as intent signals. |
Intent trend (intent_trend) | Direction of change in the profile's intent level over time. |
Last email interaction (last_email_interaction) | Timestamp of the profile's most recent email interaction. |
Last calendar interaction (last_calendar_interaction) | Timestamp of the profile's most recent calendar interaction. |
| Consents | The profile's consent status per category, as granted or revoked through the SDK's consent() call. See Managing consents. |
Attributes
Beyond identity and system fields, a profile carries attributes: named fields manually entered, calculated from events, or scored by an AI model, as described in Attributes and Attribute reference. Each attribute value on a profile has the same shape:
| Field | Type | Description |
|---|---|---|
| title | string | The attribute's display name, as shown on the profile page. |
| value | string, number, array, date, or object | The attribute's current value. Shape depends on the attribute's data type. |
| type | string, number, array, date, or object | How the profile page renders the value. Arrays render as a comma-separated list; objects render as JSON. |
A profile's Attributes section on the User details page lists every attribute the profile has, including reserved ones like name, country, city, time_zone, tags, and owner assignments (user_owner, account_owner).
📘 Good to know
The type on a profile's attribute value describes how it's displayed, not how it was defined. A Boolean attribute, for example, still renders through this same title/value/type shape. For the full list of attribute types you can create (Text, Number, Date, Boolean, RFM, Likelihood, Next Best Product, and more), see Attribute reference.
Use cases
- Build a segment condition on a system field, like Last seen or Intent level, to target recently active or highly engaged profiles.
- Filter a Users list column by Total events or Active days to find your most engaged customers.
- Reference the Master ID when joining exported profile data with data from another system.
- Use the Identifier field to reconcile a profile with the ID your own backend uses for that user.
- Check a profile's Consents field before sending a message, to confirm the required consent category is granted.
- Map an incoming source field to a reserved attribute like
nameorcountryso it appears in the profile's Attributes section. See Attribute mapping. - Read a profile's
type: arrayattribute value (for example, a multi-select field) as a list when building an export.
Where to go next
CSV Import
CSV import allows you to upload your users, accounts, or events from a CSV file to your Intempt account’s customer data platform (CDP). This feature is especially helpful when you have data that yo...
Deals
The Deal feature represents a business agreement between a customer (the organization using Intempt) and an account (the customer’s client organization).
