Intempt Docs
GuidesAudiences

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.

FieldTypeDescription
Master ID (id)stringIntempt's unique, auto-generated identifier for the profile. Used internally to join events to the user who performed them.
IdentifierstringThe identifier your app sent during sign-up or login (for example, an email or an internal user ID). See Identity resolution.
Full namestringThe profile's display name, built from name attributes when available.
EmailstringThe profile's primary email address, when known.
Account IDstringThe ID of the account this profile belongs to, if it's grouped into one. See Users & Accounts.
AvatarstringURL 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.

FieldDescription
First seenTimestamp of the profile's first tracked event.
Last seenTimestamp of the profile's most recent tracked event.
Total eventsTotal 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 levelThe 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.
ConsentsThe 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:

FieldTypeDescription
titlestringThe attribute's display name, as shown on the profile page.
valuestring, number, array, date, or objectThe attribute's current value. Shape depends on the attribute's data type.
typestring, number, array, date, or objectHow 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

  1. Build a segment condition on a system field, like Last seen or Intent level, to target recently active or highly engaged profiles.
  2. Filter a Users list column by Total events or Active days to find your most engaged customers.
  3. Reference the Master ID when joining exported profile data with data from another system.
  4. Use the Identifier field to reconcile a profile with the ID your own backend uses for that user.
  5. Check a profile's Consents field before sending a message, to confirm the required consent category is granted.
  6. Map an incoming source field to a reserved attribute like name or country so it appears in the profile's Attributes section. See Attribute mapping.
  7. Read a profile's type: array attribute value (for example, a multi-select field) as a list when building an export.

Where to go next

On this page