Overview
A Signal is a named segment used for targeting — an audience, contextual cohort, or first-party data slice. Signals are registered with Scope3 (or auto-discovered from external signals agents like LiveRamp), exposed via the v2 REST API, and deployed to DSPs/SSPs for use in media buys. The v2 signal model is conceptually identical to v1 — the same registration, discovery, access tier, and deployment semantics apply — but is now exposed via stable v2 REST endpoints under/api/storefront/signals.
Storefront-mounted: Signal management endpoints live on the storefront router (
/api/storefront/signals/...) even though buyers and seat operators interact with the resulting signals on campaigns. This is because signals are owned by the agent/seat (storefront context) and surfaced to buyers via discovery and campaign attachment.Signal sources
First-party (custom)
Audiences you upload — CRM segments, behavioral cohorts, geographic territories. No additional cost.
Agent-managed
Surfaced by external signals agents (LiveRamp, Optable, custom) using the ADCP signals protocol. Agents own the segments they create.
Third-party
External data providers (weather, behavioral, contextual). Premium signals incur additional CPM cost.
Built-in
Scope3-provided quality and viewability signals always available — no setup required.
Key fields
| Field | Type | Notes |
|---|---|---|
signalId | string | Stable signal identifier |
name | string | Human-readable name |
description | string | What the segment represents |
keyType | enum | The identifier the segment is keyed on (e.g. RAMPID, EMAIL_HASH, MAID) |
regions | string[] | ISO regions where the signal is available |
visibility | enum | PUBLIC, PRIVATE, SHARED access scope |
isLive | boolean | Deployed and accepting buys |
agentId | string | Owning agent (for agent-managed signals) |
seatId | string | Owning advertiser/seat |
seatName | string | Display name for the owning seat |
pricing | object | Optional CPM premium for premium signals |
Lifecycle
Register or discover
Register first-party signals via
POST /api/storefront/signals. Discover external signals via POST /api/storefront/signals/discover against signals agents.Deploy
Deploy signals to DSPs/SSPs so they become addressable in media buys. Agent-managed signals deploy through the agent.
Activate in campaigns
Reference the signal as a target audience on a campaign (
audienceConfig.targetAudienceIds) or in a brand story.Common operations
Register a first-party signal
Discover signals from an agent
List / get / update / delete
Access tiers
| Visibility | Description |
|---|---|
PUBLIC | Available to all customers (e.g. Scope3 built-in signals) |
PRIVATE | Owned by one customer/seat — invisible to others |
SHARED | Selectively shared with named partner seats |
seatId filter on list lets a partner narrow to one client at a time; seatName is returned so dashboards can show ownership without an extra lookup.
Signal RAG and optimization
When a campaign runs, Scope3’s RL optimizer uses signals as inputs alongside built-in quality and viewability data:- Collect — gather available signals on each impression opportunity (custom, third-party, agent-managed, built-in)
- Retrieve — pull signals relevant to the campaign’s brief and optimization goals
- Optimize — bias bidding and budget allocation toward signal combinations that perform well
- Learn — feed measured outcomes back to inform future signal usage
Deployment
Some signals require deployment to a DSP before they’re addressable:- First-party: deployed by Scope3 to integrated DSPs after registration
- Agent-managed: deployed by the agent (e.g. LiveRamp deploys RampIDs to its connected DSPs)
- Built-in: always available, no deployment needed
isLive: true in the response confirms the signal is deployed and bidding is possible.
Pricing
| Source | CPM premium |
|---|---|
| First-party | None |
| Agent-managed | Per-agent (LiveRamp, Optable, etc.) |
| Third-party | Per-provider; surfaced in pricing fields |
| Built-in | None |
mediaBudget vs fees reporting.
Related concepts
Campaign
Reference signals as
audienceConfig.targetAudienceIdsBrand
Brand identity that contextualizes signal usage
Discovery
Discovery uses signals to refine product matches
Storefronts
Browse storefronts and register credentials per inventory source