Audience hub
The Audience hub is the landing grid at/audience that groups every operator surface of the customer data platform into one tile set — the answer to “where do I go to work on who I can reach?” when you open the sidebar’s Audience entry.
One page holds the whole picture the individual consoles typically get described through: import identifies the person behind each row, identity resolution and merge collapse the duplicates, lists and linked audiences define a membership, activation pushes that membership out, and consent with opt-outs govern whether the push is allowed. Read top to bottom, the hub is the lifecycle.
What the hub surfaces
Four families of consoles share the grid, in the order a contact record usually walks them:- Bring data in. Import, Imports (the migration and job history), Identity resolution, and Merge turn raw rows into one clean golden profile per person. Run them first: every tile downstream reads the profile they leave behind.
- Define who. Lists, Linked audiences, Computed traits, Decisioning, and Contact fields build and describe the membership — static hand-picked groups, relational audiences over warehouse entities, deterministic derived tags, and the next-best-action scorer.
- Push it out. Activation syncs first-party segments to the paid-media ad networks for acquisition or suppression.
- Govern it. Consent, Opt-outs, and Churn risk keep the membership lawful and worth keeping — a per-contact consent ledger with live delivery verdicts, the suppression and evidence surface, and the retention-risk ranking.
The tile map
Every tile on the grid is one console. The table is the map of the hub — the route each tile opens and the one-line job it performs:When to open which
Four tasks cover most visits. Walk the decision tree from the top and open only the tile the branch names:- Bring data in. Fresh rows arriving today — open Import for one CSV-through-wizard job, or Imports for the platform-migration connectors and the job history. Duplicates piling up — open Identity resolution for the probabilistic review queue when a fuzzy match needs a human call, or Merge for the deterministic collapse you already decided. New identifiers still fragmented — open Identity resolution and check the rule simulator before you merge by hand.
- Define who. A fixed hand-picked group — open Lists. A rule over contact facts that re-evaluates itself — open Computed traits for the deterministic predicate, or Linked audiences when the predicate traverses your warehouse entities. A per-profile choice among message variants — open Decisioning. Before any of these, Contact fields (and Fields on the schema side) tells you which attributes exist to build on.
- Push it out. Any audience readied above — open Activation, choose the ad-network destination, and confirm the segment syncs as acquisition or suppression.
- Govern it. Before you queue a send for one contact — open Consent and run the verdict check. Evidence for a carrier, DPA, or audit — open Opt-outs and export. A membership worth defending — open Churn risk and save the high-tier scorers as a retention segment before they lapse.
RBAC — which tiles render for which role
The hub itself renders every tile to every member role; the gating lives on the destination surface, not on the grid:- Read access. Every tile’s underlying read endpoint gates to the owner, admin, or developer role plus the
contacts:readscope — the same gate that protects every CDP surface exposing PII-bearing traits. A viewer seat sees the tiles in the grid, but the destination page refuses the read with a 403. Restricting the grid was rejected on purpose: the tile hide is presentation-only, never an authorisation boundary, and the same guard fires either way. - Write access. Identity-resolution merges, consent grants, opt-out edits, and activation syncs each carry the owner/admin/developer gate plus their own scope (
contacts:write, or the destination-specific credential). Viewer seats can run none of the writes even when the read side of a surface is open to their role (the consent ledger read is the one open case). - Developer seats equal owner/admin on every tile here — the split that actually changes the grid is viewer versus the rest, because writes and PII-bearing reads close at the same boundary.
Deep-link list — a guide per console
Each tile has one long-form guide; open the hub tile for the console and the guide for the workflow:Concepts behind the consoles
Four concept pages explain the models every tile above leans on:- CDP identity resolution — how deterministic rules and the probabilistic scan fold into one golden profile.
- Decisioning — how the bandit ranks arms under consent and timing eligibility.
- Consent and suppression model — how the ledger, the verdict, and the suppression list decide each send.
- Contact merge policy — which values survive a collapse and how consent follows the survivor.
Troubleshooting
Two failure modes recur across the hub:- A tile is visible but the page refuses to load. The role gate fires server-side even when the grid rendered the tile — the hub does not pre-filter by role, so a viewer seat sees the full grid and hits the 403 at the destination. Grant the seat the owner, admin, or developer role plus
contacts:read(and the write scope where it applies) rather than hunting the grid for a missing tile. - The grid shows a tile whose console is empty. An empty Identity resolution queue with known duplicates usually means the deterministic rules already merged the easy pairs and the scan has not re-run; an empty Activation list means no segment has been synced yet. Start at the family entry — Import first, then Identity resolution, then the membership tiles — and the downstream consoles fill in order.