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.
One user across your sites
Section titled “One user across your sites”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.
Details
Section titled “Details”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.
Traits
Section titled “Traits”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
Section titled “The profile”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:paidwhen at least one live grant reaches the site, otherwiseregistered.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.nullwhen 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, ornull. 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.
Your warehouse and marketing platform
Section titled “Your warehouse and marketing platform”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.
Who can change what
Section titled “Who can change what”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 |