Skip to content

Profile

EdgeKit Profile keeps one record for each person your sites know by email address. The record has three parts: the person’s own details, the answers they give to the traits you declare, and a profile that EdgeKit derives for them on each site. Your staff define what the profile holds, and your Paywall rules can read it.

Your users live in your organization’s own database and its own sign-in instance. Neither is shared with any other organization.

A person is one user in your organization, whichever of your sites they sign in on, so their details and their trait answers are the same on every site. See One user per person.

A user is attached to a site when they register on it, buy on it, join one of its newsletter lists or sign in on it through your identity provider, and when EdgeKit’s one-off import of your billing accounts creates them. A sync from your billing provider creates no user. The attachment does not limit what they can do; it decides which sites they get a profile on. See Users.

A user’s details are their name, first name, last name, email address, whether the address is verified, and their answers to the traits they write themselves. A user has one set of details, whatever the site. The user reads them with GET /v1/id/user-details and changes their names and answers with PATCH; see Let users manage their account.

A trait is a question you ask a person about themselves, such as their industry or job level, and what other platforms call a custom field. You declare traits in Identity › Audience › Traits; see Ask users about themselves. What matters for the profile is who writes a trait:

  • The user: a profile field reads the answer at Unverified trust, because it is what somebody typed about themselves.
  • Your staff: a profile field reads it at Computed trust. No console screen or API request writes its value, so it reads as empty for every user. To bring values from your own systems into the profile, use a streaming input.

A trait you save is asked and checked at once, with no deploy. A profile field that reads the trait waits for the next deploy, like every other profile change. See the one exception.

The profile is a document EdgeKit builds for each user on each site they are attached to. Nobody edits it: every rebuild replaces the whole document. It holds:

  • Your profile fields, each written under its own name. See Define a profile field.

  • EdgeKit’s access fields, under access:

    • state: paid when at least one live grant reaches the site, otherwise registered.
    • productIds: the products the live grants on the site reach.
    • siteIds: every site the user’s live grants reach, not only this one.
    • expiresInDays: whole days from the rebuild until the longest-lived live grant ends. null when a live grant has no end date, or when there is no live grant.
    • lapsedAt: the latest end date of the user’s grants on the site that no longer give access, or null. A revoked or suspended grant counts, so the date can be in the future.

    A profile field can never write under access.

  • _profile_schema_version, the version of the document’s shape.

EdgeKit rebuilds a user’s profiles when their details or traits change, when one of their grants changes, when a billing account linked to them syncs, when they are attached to a site, and when a streaming input for them arrives. Every deploy rebuilds every profile in your organization. A rebuild that fails writes nothing, so the previous document stays until the next rebuild succeeds.

To see a user’s profiles, one block per site, open the user from Identity › Audience › Users; see Users.

A Paywall rule reads a profile field as profile.<name>. It cannot read the access fields: access is read live from the user’s grants. When a signed-in user has no profile value yet, a condition that reads it does not hold, and it never sends the request to the error outcome.

Every value a profile field reads has a trust level, shown in the console beside the field:

  • Computed: the user’s record, grants and billing accounts, traits your staff write, and streaming inputs.
  • Unverified: answers to traits the user writes.

A field is only as trusted as the weakest value it reads. A field that reads one user-written trait answer is Unverified, however many computed values sit beside it. The console warns about such a field but does not refuse it.

What EdgeKit forwards to your marketing platform and loads into your warehouse is events, not the profile or the trait answers. Each event carries the user’s EdgeKit user id once your page sets it on the tracker, so your warehouse can join events to the same person. See the Profile FAQ.

Anyone in your organization can view Identity › Audience › Profile.

Change Roles
Create or edit a profile field, a resolution or an aggregation Owner, Admin, Developer
Deploy, so that profile field changes reach users Owner, Admin
Declare a streaming pipeline EdgeKit staff