Skip to main content

Dynamic content

Audience

Conditional content per visitor segment — Phase 6 personalization.

Status

<Audience> is a stub component today. The for prop is accepted and the call site is forward-compatible, but segment-based filtering ships in Phase 6 alongside the personalization engine. Until then, only blocks with default set are rendered.

This component was called <View> until 2026-08-10. It was renamed to free that name for View, which switches a page between languages or frameworks — a different job with the same old name. <View for> is still accepted as a deprecated alias, so existing pages keep working.

Target API (Phase 6)

<Audience for="authenticated">
  Your API key is in your dashboard.
</Audience>

<Audience for="anonymous" default>
  [Sign up](https://app.nookdocs.com/signup) to get an API key.
</Audience>

When Phase 6 ships, the platform will read visitor state (auth status, plan tier, cookie segments) and render the matching block. Until then, the one with default is what every reader sees.

Props

forstring | string[]

Segment(s) this content targets. Common values: anonymous, authenticated, plan tiers (starter, pro, business), roles (admin, editor, viewer).

defaultbooleandefault: false

Render this block when no segment matches — and, today, the only thing that makes a block render at all.

Plan for it now

<Audience default> renders and <Audience> without default is hidden, so you can author pages against the target API today and they'll behave correctly when Phase 6 ships — no rewrites needed.

Only the default block reaches the Markdown export today, because the others render nothing. Once segment filtering ships, treat every branch as page content rather than assuming one canonical variant.

Related

  • View — switch a page between languages or frameworks

  • Visibility — split content between human readers and LLMs

Was this page helpful?

Last updated August 10, 2026

Audience | NookDocs | NookDocs