Skip to content
Gates

People: users, traits, audiences

Users and traits

When a user is identified, the SDK sends { id, traits } with its next sync. The API keeps the user, their traits and the devices they have been seen on. Traits are string | number | boolean values you choose:

gates.identify({ id: "user_123", traits: { plan: "pro", country: "PT", beta: true } });

The People product in the dashboard lists users, their traits and the versions they are on, with the feature access each one resolves to.

Audiences

An audience is a named set of conditions, using the same attributes and operators as a rule (see Targeting). Audiences are compiled into the snapshot alongside the flags, so a rule with audience eq pro-users still evaluates on the phone with no network.

Membership rules:

  • A device is in an audience when every one of its conditions matches.
  • An unknown audience is treated as empty: eq never matches and neq always does.
  • Audiences never nest. The server rejects an audience condition inside an audience, and the phone ignores one rather than recurse on a bad snapshot.

Identity

The rollout identity is user.id when someone is signed in and the installation id when nobody is. Identifying a user therefore moves them to one stable cohort across all their phones. See Rollouts and bucketing.