# Audiences

> Segment one customer into multiple user groups — each with its own rules, capabilities, and leaderboards.

Source: https://docs.hatched.live/docs/concepts/audiences

An audience is a label (e.g. `student`, `teacher`) that propagates through
every buddy, event, rule, and chart. You declare them on customer settings
with a short brief the rule engine and LLM can read.

## Why audiences exist

Real products have multiple roles. A teacher doesn't care about the
lesson-completion streak; a student doesn't care about class-level
leaderboards. Audiences keep these experiences cleanly separate **without
forking your customer** into two accounts.

## Example

> Declare `student` and `teacher` audiences. A rule scoped to
> `audience: "student"` only fires for student buddies, even though both
> student and teacher buddies live under the same API key.

## How to set it up

1. Add audiences under Settings → Audiences, with a one-paragraph brief for
   each.
2. Scope rules, streaks, items with the `audience` field.
3. Ingest events with the `audience` key — Hatched auto-creates per-audience
   buddies when needed.
4. Filter every analytics card by audience from the top-of-page dropdown.

## Gotchas

- Removing an audience is blocked while any buddy still references it. The
  dashboard shows you the blocking buddies.
- A single `externalUserId` can have **one buddy per audience** — handy for
  users who play both roles.
- Audience briefs are read by the LLM that generates copy and images. Short,
  direct briefs produce better results than verbose ones.

## Related

- [Config versions](/docs/concepts/config-versions) — audience-scoped rules live in the same versioned snapshot.
- [Leaderboard](/docs/concepts/leaderboard) — scope rankings per audience.
- [Configure rules](/docs/guides/configure-rules) — adding per-audience overrides.
