> ## Documentation Index
> Fetch the complete documentation index at: https://agenticadvertisingorg-snap-format-preview-links.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Glossary

> AdCP glossary: definitions of agents, accounts, audiences, signals, governance, media buys, creatives, and other Ad Context Protocol terms.

## A

**Account**
A billing relationship between a buyer and a seller. The account determines rate cards, payment terms, and billing entity. An agent may have access to multiple accounts (e.g., an agency managing accounts for different clients). See [Accounts and Agents](/docs/building/integration/accounts-and-agents).

**Account Type**
Classification of MCP session credentials as either "platform" (aggregator) or "customer" (direct advertiser/agency).

**Audience** (AdCP context)
A named group of users uploaded by a buyer for targeted advertising. Distinct from signals: audiences are buyer-owned first-party CRM data uploaded via `sync_audiences`; signals are named targeting dimensions discovered through product signal options, provider-published signal definitions, or `get_signals`. Audiences are account-scoped — an `audience_id` cannot be used across sellers. Reference audiences in `targeting_overlay.audience_include` or `audience_exclude` in `create_media_buy`. See also [Audience Member](#audience-member) and [Hashed Identifier](#hashed-identifier).

**Audience Member**
A hashed identifier record representing one person in a CRM audience. Contains at least one of: `hashed_email`, `hashed_phone`, or `uids`. All PII is normalized and hashed (SHA-256) by the buyer before transmission — the wire format never carries cleartext email or phone. Hashing is data minimization at the transport boundary, not anonymization: see [Hashed Identifier](#hashed-identifier) for the pseudonymous-PII caveat that governs retention and consent. Providing multiple identifiers for the same person improves match rates. See also [UID](#uid-universal-id).

**Audience Constraints**
Plan-level include/exclude rules that structurally prevent prohibited targeting patterns. Each constraint is an [Audience Selector](#audience-selector). The governance agent evaluates `check_governance` requests against these constraints to detect prohibited targeting before any ad is served.

**Audience Selector**
A discriminated union describing one targeting criterion - either a `signal_ref` or a natural language description. Audience selectors appear in plan audience constraints and `planned_delivery.audience_targeting`.

**Action Source**
Where an event physically occurred: `website`, `app`, `in_store`, `phone_call`, `chat`, `email`, `offline`, `system_generated`, or `other`. Set on each event in `log_event` and declared at the product level in `conversion_tracking.action_sources`. Use `surface` on events and event sources when this flat value needs structured context such as an owned channel, profile, feed, podcast, or newsletter list.

**Activation**
The process of making a signal available for targeting on a specific platform and seat.

**Ad Context Protocol (AdCP)**
An open standard for AI-powered advertising workflows. AdCP defines domain-specific tasks and schemas that work over MCP and A2A as transports, enabling natural language interfaces for advertising operations.

**Agentic Commerce Protocol (ACP)**
An open standard developed by OpenAI and Stripe for programmatic commerce flows in AI assistants. ACP defines how agents can initiate checkout, delegate payment, and complete transactions without becoming the merchant of record. In the context of Sponsored Intelligence, ACP handles the transaction after a brand agent hands off a user with purchase intent.

**Agentic eXecution Engine (AXE)**
Deprecated. The original real-time execution layer for impression-time targeting decisions. Replaced by the [Trusted Match Protocol (TMP)](/docs/trusted-match), which adds structural privacy separation and multi-surface support. See [AXE documentation](/docs/media-buy/advanced-topics/agentic-execution-engine) for legacy reference.

**AgenticAdvertising.org**
The member organization that stewards the Ad Context Protocol (AdCP) and related open standards for AI-powered advertising.

**Agent** (AdCP Context)
The authenticated entity making API calls—may be a brand's internal team, an agency's trading desk, or an automated buying system. Identified by the authentication token. Distinct from "Sales Agent" (the MCP server exposing inventory) and "AI Agent" (the AI assistant). See [Accounts and Agents](/docs/building/integration/accounts-and-agents).

## B

**Budget**
Total monetary allocation for a media buy, which can be distributed across multiple packages.

## C

**Context Match**
TMP operation that evaluates available packages against content context. Contains artifact IDs, context signals (topics, sentiment, keywords, embedding), and available packages. Carries no user identity. See [Trusted Match Protocol](/docs/trusted-match).

**Conversion Tracking**
The mechanism for sending buyer-side marketing events to a seller for attribution. Involves two steps: configure event sources on the seller account (`sync_event_sources`), then send events (`log_event`). Seller-level capabilities (supported event types, UID types, attribution windows) are declared in `get_adcp_capabilities`; product-level support is declared in `product.conversion_tracking`. See also [Event](#event) and [Optimization Goal](#optimization-goal).

**CPC (Cost Per Click)**
Pricing model based on cost per click on the advertisement.

**CPCV (Cost Per Completed View)**
Pricing model based on cost per 100% video or audio completion.

**CPM (Cost Per Mille)**
Pricing model based on cost per thousand impressions. Traditional display advertising pricing.

**CPP (Cost Per Point)**
Pricing model based on cost per Gross Rating Point (GRP), commonly used in TV and audio advertising.

**CPV (Cost Per View)**
Pricing model based on cost per view at a publisher-defined threshold (e.g., 50% video completion).

**Completed View**
A video or audio ad that has been viewed to 100% completion. Used for CPCV pricing and completion rate metrics.

**Completion Rate**
The percentage of video or audio ads that are viewed to 100% completion (completed\_views / impressions).

**Customer Account**
Direct advertiser or agency account with specific seat access and negotiated rates.

## D

**Data Provider**
An organization that owns and publishes audience or contextual data (e.g., Polk, Experian, Acxiom). Data providers publish signal definitions via `/.well-known/adagents.json` on their domain, enabling discovery and authorization verification. See [Data Provider Guide](/docs/signals/data-providers).

**Data Provider Domain**
The domain where a data provider publishes adagents.json `signals[]` definitions (e.g., `polk.com`). Used in `signal_ref` objects to reference provider-published signals: `{ "scope": "data_provider", "data_provider_domain": "polk.com", "signal_id": "likely_tesla_buyers" }`.

**Daypart**
Specific time-of-day segment for time-based advertising, commonly used in DOOH (e.g., morning\_commute, evening\_prime, overnight).

**Delegation Type** (`delegation_type`)
Field in adagents.json that describes the commercial relationship between a publisher and an authorized agent: `direct` (publisher treats this as their direct sales path), `delegated` (agent manages monetization on the publisher's behalf), or `ad_network` (inventory sold through a network/package). Corresponds to `relationship` in brand.json for bilateral verification.

**Deployment** (Signals Protocol)
The availability status of a signal on specific platforms, including activation state and timing.

**Devices** (Signals Protocol)
Size unit representing unique device identifiers (cookies, mobile IDs) - typically the largest reach metric.

**Device Type** (Media Buy Protocol)
Targeting and reporting dimension for device form factors: desktop, mobile, tablet, ctv, dooh, unknown. Complements device platform (operating system) with hardware classification.

**Decisioning Platform**
Technical infrastructure that selects which ad to serve at impression time. Receives activated signals and executes campaigns. Examples: DSPs (The Trade Desk), SSPs (Index Exchange, OpenX, PubMatic), ad servers (Google Ad Manager, Kevel).

**DOOH (Digital Out-of-Home)**
Digital advertising displayed on screens in public spaces such as billboards, transit stations, airports, and retail locations. Uses CPM or flat\_rate pricing with parameters for SOV, duration, and venue targeting.

**DSP (Demand-Side Platform)**
A type of decisioning platform that allows advertisers to buy advertising inventory programmatically.

## E

**Event**
A marketing event logged via `log_event` for attribution and optimization. Covers the full funnel from engagement (`page_view`, `view_content`, `content_view`, `follow`, `watch_milestone`, `search`) through intent (`add_to_cart`, `initiate_checkout`) to conversion (`purchase`, `lead`, `complete_registration`, `subscribe`). Each event has an `event_id` (for deduplication), `event_type`, `event_time`, and optional `user_match`, `custom_data`, `action_source`, and `surface`. Defined in the `event.json` schema.

**Event Source**
A configured data channel that receives conversion or marketing events from a buyer. Event sources are set up on a seller account via `sync_event_sources` and referenced by `event_source_id` when logging events or setting optimization goals. Can be managed by the buyer (e.g. a website pixel) or by the seller (e.g. Amazon sales attribution).

**Event Type**
A standardized classification for marketing events (e.g. `purchase`, `lead`, `add_to_cart`, `page_view`, `follow`, `content_view`, `watch_milestone`, `refund`). Covers the full lifecycle: engagement (`select_content`, `share`, `follow`, `content_view`, `watch_milestone`), e-commerce (`add_to_cart`, `remove_from_cart`, `viewed_cart`, `purchase`, `refund`), lead management (`lead`, `qualify_lead`, `close_convert_lead`, `disqualify_lead`), paid subscriptions (`subscribe`), and app events. Used to categorize events logged via `log_event` and to specify optimization goals on packages. Aligned with IAB ECAPI.

**Estimated Activation Time**
Predicted timeframe for signal deployment, typically 24-48 hours for new activations.

## F

**Flat Rate**
Fixed-cost pricing model where a single payment is made regardless of delivery volume. Common for sponsorships and takeovers.

**Flight**
A time-bounded advertising campaign segment, mapped to line items in ad servers.

**Frequency**
The average number of times an individual is exposed to an advertisement during a campaign.

## G

**GRP (Gross Rating Point)**
A unit of measurement for television and radio advertising representing 1% of the target audience. Used in CPP pricing models. Total GRPs = Reach % × Average Frequency. Measured by third-party providers such as Nielsen, Comscore, iSpot.tv, or Triton Digital.

## H

**Hashed Identifier**
Buyer-normalized personally identifiable information (PII) hashed with SHA-256 before transmission. Used in audience uploads (`sync_audiences`) and event attribution (`log_event`). Normalization: emails to lowercase+trim, phone numbers to E.164 format. The seller matches by independently hashing its own user data with the same algorithm. Unsalted SHA-256 of email or phone is **pseudonymous PII, not anonymous**: the input namespace is small enough that precomputed dictionaries recover plaintext, so hashed identifiers MUST be treated as PII for retention, consent, and access-control purposes. See [Privacy Considerations](/docs/reference/privacy-considerations#unsalted-hashed-identifiers-are-pseudonymous-not-anonymous). Distinct from [UIDs](#uid-universal-id), which are tokenized identifiers resolved by identity graph operators (e.g. UID2, RampID) under their own privacy architectures.

**Households**
Size unit representing unique household addresses, useful for geographic and family-based targeting.

**Human-in-the-Loop (HITL)**
Protocol feature allowing publishers to require manual approval for operations.

## I

**Identity Match**
TMP operation that evaluates user eligibility against package criteria using an opaque user token. Returns a boolean `eligible` flag and optional `intent_score` per package. Carries no page context. The buyer computes eligibility from frequency caps, audience membership, and other signals; the reasons are opaque to the publisher. See [Trusted Match Protocol](/docs/trusted-match).

**Idempotency**
The property that repeating the same operation produces the same result as running it once, with no extra side effects. Every mutating AdCP request carries a required `idempotency_key`; on retry with the same key and payload, the seller returns the cached response with `replayed: true` instead of re-executing. This is what lets an agent safely retry a `create_media_buy` after a network timeout without creating two buys. See the [Security Model](/docs/building/understanding/security-model#layer-3-idempotency--at-most-once-execution) for the narrative and [Security: Request Safety](/docs/building/implementation/security#idempotency) for the normative rules.

**Idempotency Key**
A unique, unguessable identifier (UUID v4 or equivalent CSPRNG output) attached to every mutating AdCP request. Scoped per `(authenticated agent, account)`. The seller uses it as the cache key for at-most-once execution within the declared `replay_ttl_seconds` window (minimum 1 hour, recommended 24 hours, maximum 7 days). Same key + same payload = replay; same key + different payload = `IDEMPOTENCY_CONFLICT`. See [Security: Request Safety](/docs/building/implementation/security#idempotency).

**Impressions** (Media Buy Protocol)
The number of times an ad is displayed, used for pricing and delivery tracking.

**Included Signals**
Non-selectable signal metadata on a product. `included_signals` describes signals already bundled into, included in, or seller-planned into the product; buyers do not add or remove these signals in package `signal_targeting_groups`. Use `signal_targeting_options` for buyer-selectable signal controls.

**Individuals** (Signals Protocol)
Size unit representing unique people, best for frequency capping and demographic targeting.

**Inventory**
Available advertising space on websites, apps, or other media properties.

## L

**Line Item**
The basic unit of inventory in ad servers like Google Ad Manager, represented as packages in AdCP.

**Loop Duration**
The length of time for a complete rotation of ads in a DOOH display, measured in seconds. Used to calculate frequency and share of voice.

**Loop Plays**
The number of times an ad was displayed in a DOOH loop rotation. Key metric for DOOH delivery reporting.

## M

**Marketplace Signal**
Third-party signal available for licensing from data providers.

**MCP (Model Context Protocol)**
The underlying protocol framework that enables AI assistants to interact with external systems.

**Media Buy**
A complete advertising campaign containing packages, budget, targeting, and creative assets.

## N

**Natural Language Processing**\
The AI capability that allows audience discovery through conversational descriptions rather than technical parameters.

## O

**Offer** (TMP)
A buyer's response to a TMP context match request. Ranges from simple activation (`package_id` only, for GAM key-value targeting) to rich proposals with brand, price, summary, and inline creative manifest (for AI assistants and dynamic surfaces). See [TMP Specification](/docs/trusted-match/specification).

**Optimization Goal**
A single entry in a package's `optimization_goals` array. Three kinds: `kind: "event"` (optimize for advertiser-tracked conversion events via an `event_sources` array of source-type pairs, with optional `cost_per`, `per_ad_spend`, or `maximize_value` target), `kind: "metric"` (optimize for a seller-native delivery metric — clicks, views, completed views, engagements, etc. — with optional `cost_per` or `threshold_rate` target), and `kind: "vendor_metric"` (optimize for a vendor-attested metric bound to a specific measurement vendor via `(vendor, metric_id)` — attention, panel-based brand lift, emissions, retail-media partner metrics — with optional `cost_per` or `threshold_rate` target). Event goals with `per_ad_spend` or `maximize_value` targets require `value_field` on event source entries. When the seller supports `multi_source_event_dedup` (declared in `get_adcp_capabilities`), they deduplicate by `event_id` across sources; otherwise buyers should use a single event source per goal. Vendor\_metric goals require a matching `committed_metrics` entry on the same package — optimization without committed reporting is unverifiable and is rejected at the wire level. When multiple goals are present, `priority` (1 = highest) controls which the seller treats as primary.

**Owned Signal**
First-party signal data belonging to the advertiser or platform.

## P

**Package**
A specific advertising product within a media buy, representing a flight or line item with its own pricing and targeting.

**Platform Account**
Master account representing an advertising platform that can syndicate signals to multiple customers.

**Policy Category**
A regulatory regime that applies to a campaign plan (e.g., `children_directed`, `fair_housing`, `fair_lending`, `fair_employment`). Each policy category defines `restricted_attributes` — personal data types that must not be used for targeting when that category applies. Governance agents resolve policy categories from both the plan and the brand's compliance configuration.

**Pricing Model**
The method by which advertising inventory is priced and billed. AdCP supports CPM, CPC, CPCV, CPV, CPA, CPL, CPP, and flat rate models.

**Pricing Option**
A specific pricing model offered by a publisher for a product, including rate, currency, and parameters.

**Principal**
*Deprecated term.* See [Account](#a) (billing relationship) and [Agent](#a) (authenticated caller). Previously used to refer to the authenticated entity with its associated platform mappings. AdCP now splits these responsibilities: the **Agent** handles authentication and API access, while the **Account** handles billing, rate cards, and platform mappings.

**Product**
Advertising inventory available for purchase, discovered through natural language queries.

**Product Signal Targeting Option**
A signal a seller makes selectable, defaulted, or fixed for a specific product through `signal_targeting_options`. Product-local options define their name and `value_type` inline; data-provider and signal-source options can use `signal_ref` as a reference to an authoritative external definition. Buyers select eligible options through package `signal_targeting_groups`.

**Prompt**
Natural language description used to discover relevant signals (e.g., "high-income sports enthusiasts", "premium automotive content", "users in urban areas during evening hours").

**Property**
A digital advertising surface: website, mobile app, CTV app, podcast, or other media endpoint. Properties appear in `adagents.json` (publisher-declared inventory) and `brand.json` (operator-declared portfolio with `relationship` field). Identified by type + identifier (domain for websites, bundle ID for apps).

**Provider**
The company or platform that supplies signal data (e.g., LiveRamp, Experian, Peer39, weather services).

## Q

**Quartile (Video)**
Milestones in video ad viewing: Q1 (25% viewed), Q2 (50% viewed), Q3 (75% viewed), Q4 (100% complete). Used to measure video engagement.

## R

**Reach**
The number or percentage of unique individuals exposed to an advertisement at least once during a campaign.

**Relationship** (brand.json field)
Field on brand.json properties declaring how the brand relates to a property: `owned` (default), `direct`, `delegated`, or `ad_network`. Delegated and network values align with `delegation_type` in adagents.json; `owned` is a brand.json-only ownership claim. Non-owned properties create bilateral verification — the operator declares the relationship in brand.json, the publisher confirms by authorizing the operator's agent in adagents.json. The AdCP equivalent of sellers.json.

**Resolution Model**
Product-level signal targeting rule that tells buyers how selected signals are applied. `direct_targeting` means selected signals behave like targeting predicates on the package inventory. `seller_planned` means selected signals are planning inputs the seller resolves against product-specific inventory, timing, availability, reach, or pacing constraints.

**Restricted Attribute**
A personal data category (e.g., `health_data`, `racial_ethnic_origin`) that must not be used for targeting under one or more policy categories. Restricted attributes are defined at the registry level (GDPR Article 9 categories) and self-declared on signal definitions. Governance agents match restricted attributes structurally — if a signal carries a restricted attribute that a plan's policy categories prohibit, targeting with that signal is denied.

**Relevance Score**
Numerical rating (0-1) indicating how well a signal matches the discovery prompt.

**Relevance Rationale**
Human-readable explanation of why an audience received its relevance score.

**Revenue Share**
Pricing model based on a percentage of media spend rather than fixed CPM.

## S

**Sales Agent**
An MCP server that exposes publisher inventory for discovery and purchase. Handles product discovery, media buy creation, and campaign management. Examples: Publisher ad servers exposing AdCP interfaces, sales house platforms.

**Seller**
The AdCP participant role that provides advertising inventory. A seller exposes products, accepts media buys, manages creative delivery, and (optionally) provides conversion tracking capabilities. In AdCP schemas, "seller" is the standard term for this role (not "platform"). The seller's technical capabilities are declared via `get_adcp_capabilities`.

**Selection Group**
A product-defined composability bucket on `signal_targeting_options`. Sellers use `selection_group` and `selection_group_rules` to declare which signals can be OR-combined in one package signal group and which must be represented as separate ANDed clauses.

**Screen Time**
Total duration an ad was displayed across all DOOH screens, measured in seconds. Used for DOOH delivery reporting.

**Seat**
A specific advertising account within a decisioning platform, typically representing a brand or campaign.

**Segment ID**
The specific identifier used for signal activation. This may differ from `signal_ref` because activation handles are destination-specific execution ids, not signal identity.

**Share of Voice (SOV)**
Percentage of available ad inventory allocated to a specific advertiser in DOOH loops. Expressed as 0.0-1.0 (e.g., 0.15 = 15% SOV).

**Signal Agent**
A server (via MCP or A2A) that provides signal discovery and activation services. Enables natural language audience discovery and deploys signals to decisioning platforms. Can be private (owned by a single buyer and visible only to that buyer's accounts) or marketplace (licensing data across multiple accounts). Signal agents are authorized by data providers via `adagents.json` to resell specific signals. Examples: LiveRamp, The Trade Desk, Peer39.

**Signal Definition**
A single signal entry in a data provider's `adagents.json` `signals[]`. The required fields are `id`, `name`, and `value_type` (`binary`, `categorical`, or `numeric`). Optional enrichment can describe taxonomy mappings, DTS-style source and methodology disclosures, modeling disclosures, jurisdiction and consent metadata, governance-sensitive categories, and per-signal rights-routing channels.

**Signal Discovery**
The process of finding relevant data signals (audiences, contextual, geographical, temporal) using natural language descriptions or structured `signal_ref` lookup.

**Signal ID**
Deprecated structured identifier previously used by the Signals Protocol for discovery and activation. New discovery, activation, product targeting, and buy-time surfaces use [Signal Ref](#signal-ref).

**Signal Ref**
A structured signal reference using `scope` as the discriminator. `scope: "data_provider"` references a signal published in adagents.json `signals[]` (`data_provider_domain` + `signal_id`, verifiable). `scope: "signal_source"` references a source-native signal (`signal_source_url` + `signal_id`, trust-based). `scope: "product"` references a product-local signal option meaningful only inside the selected product/package context.

**Signal Source**
A source that issues or activates signals. Source-native signals that are not published in adagents.json `signals[]` use `signal_ref.scope: "signal_source"` with `signal_source_url`.

**Signal Tags**
Tags used to group related signals within a data provider's published signal definitions. Enable efficient authorization (authorize "all automotive signals" rather than listing individual IDs). Tags must be lowercase alphanumeric with underscores/hyphens.

**Signal Targeting Groups**
The package-level grouped expression for buyer-selected seller-offered signals. `targeting_overlay.signal_targeting_groups` has top-level `operator: "all"` and child `any` groups for inclusion or `none` groups for exclusion.

**Signal Targeting Rules**
Product-level rules that govern package signal selection: resolution model, optional/required/fixed selection, min/max counts, selection group limits, and group-count limits. These rules live on the product because one seller may route different products through different ad servers or planning layers.

**Signal Targeting Groups**
The package-level grouped expression for buyer-selected seller-offered signals. `targeting_overlay.signal_targeting_groups` has top-level `operator: "all"` and child `any` groups for inclusion or `none` groups for exclusion.

**Signal Targeting Rules**
Product-level rules that govern package signal selection: resolution model, optional/required/fixed selection, min/max counts, selection group limits, and group-count limits. These rules live on the product because one seller may route different products through different ad servers or planning layers.

**Signal Type**
Classification of signals as "marketplace" (third-party), "owned" (first-party), "destination" (bundled with media), "contextual", "geographical", or "temporal".

**Signal Value Type**
The data type of a signal's values: `binary` (user matches or doesn't), `categorical` (user has one of several possible values), or `numeric` (user has a score within a range). Determines the targeting expression format.

**Size Unit** (Signals Protocol)
The measurement type for signal size: individuals, devices, or households.

**Specialism**
A specific capability claim an agent declares in `get_adcp_capabilities.specialisms`. Each specialism has a wire ID in `kebab-case` (e.g. `sales-guaranteed`, `property-lists`) and a matching storyboard bundle published at `/compliance/{version}/specialisms/{id}/`. The AAO compliance runner executes the matching storyboards to verify the claim. See [Compliance Catalog](/docs/building/compliance-catalog) for the list of specialism IDs; claim one by adding it to your `get_adcp_capabilities.specialisms` array, then run [Validate Your Agent](/docs/building/validate-your-agent) to see how the runner maps it to storyboards.

**Sponsored Intelligence (SI)**
An open standard for conversational brand experiences in AI assistants. Like VAST defines video ad serving, SI defines how to serve and interact with brand agent endpoints. SI handles the engagement; the Agentic Commerce Protocol (ACP) handles transactions. See [SI Chat Protocol](/docs/sponsored-intelligence/si-chat-protocol) for details.

**SSP (Supply-Side Platform)**
A type of decisioning platform that helps publishers sell advertising inventory programmatically. SSPs connect to multiple demand sources and make ad selection decisions. Examples: Index Exchange, OpenX, PubMatic, Magnite.

**SSRF (Server-Side Request Forgery)**
A class of attack where an adversary supplies a URL that tricks an agent into making an HTTP request to an address it shouldn't — typically an internal service, a cloud metadata endpoint (e.g., `169.254.169.254`), or a localhost port. Every URL an AdCP counterparty supplies (webhook callbacks, TMP provider endpoints, governance `jwks_uri`, reporting buckets, `adagents.json` `authoritative_location`) is a potential vector. Defense is implemented in code via a 6-point check: HTTPS-only, reserved-IP deny list, IP pinning against DNS rebinding, no redirects, response size and timeout caps, suppressed error detail. See the [Security Model](/docs/building/understanding/security-model) for the narrative and [Security: Webhook URL validation](/docs/building/implementation/security#webhook-url-validation-ssrf) for the normative rules.

**Storyboard**
A compliance test bundle that verifies a protocol baseline or [specialism](#specialism) claim. Each storyboard is a YAML file under `/compliance/{version}/` that declares an `id`, phases of test steps, sample requests, and validations the agent must pass. Storyboards live in three buckets: `universal/` (applies to every agent), `protocols/{protocol}/` (one baseline per supported protocol), and `specialisms/{id}/` (one per specialism claim).

**Storyboard Category**
The `snake_case` identifier in a storyboard's `category:` frontmatter field. For specialisms, the category is the specialism's kebab-case wire ID with hyphens swapped to underscores — e.g. specialism ID `sales-streaming-tv` has category `sales_streaming_tv`. Variant scenarios within a specialism use `{category}/{variant}` form (e.g. `governance_spend_authority/denied`). The kebab↔snake split is deliberate: specialism IDs are URL path segments, storyboard categories are wire enums.

## T

**Takeover**
Exclusive 100% share of voice placement on DOOH inventory for a specific time period. Priced as flat\_rate with sov\_percentage: 100.

**Third-Party Signal**
Signal data licensed from external providers, also known as marketplace signals.

**Time-Based Pricing**
Pricing structure based on duration (hourly, daily, or daypart) rather than impressions. Common in DOOH advertising using flat\_rate model.

**TMP Router**
Infrastructure that fans out TMP requests to buyer agents and merges responses. A single binary with structurally separate code paths for context and identity. The router enriches requests (adding property registry IDs, signing), enforces privacy constraints (rejecting requests with identity data in the context path), and applies adaptive timeouts. See [Router Architecture](/docs/trusted-match/router-architecture).

**Trusted Match Protocol (TMP)**
AdCP's real-time execution layer. Determines which pre-negotiated packages should activate for a given impression using two structurally separated operations: Context Match (content fit, no user identity) and Identity Match (user eligibility, no page context). The publisher joins both responses locally. Works across web, mobile, CTV, AI assistants, and retail media. Replaces AXE. See [Trusted Match Protocol](/docs/trusted-match).

## U

**UID (Universal ID)**
An already-resolved, privacy-preserving user token from an identity graph. Used for cross-platform user matching. Distinct from [Hashed Identifiers](#hashed-identifier): UIDs are pre-resolved tokens (not raw PII); hashed identifiers are buyer-normalized PII hashed before sending. AdCP supports: `rampid` (LiveRamp RampID), `id5` (ID5), `uid2` (Unified ID 2.0), `euid` (European Unified ID), `pairid` (IAB Tech Lab PAIR), and `maid` (Mobile Advertising ID — IDFA/GAID). UIDs are accepted in audience uploads (`sync_audiences` → `audience_member.uids`) and event attribution (`log_event` → `user_match.uids`). Supported types vary by seller — check `get_adcp_capabilities` → `audience_targeting.supported_uid_types`.

**Universal Commerce Protocol (UCP)**
An open standard developed by Google with Shopify, Walmart, Target, and others for commerce in AI assistants. UCP defines primitives for checkout, payments, and fulfillment. Along with ACP (Agentic Commerce Protocol), UCP represents the commerce layer that complements AdCP's advertising layer.

**User Match**
The set of identifiers on an event used to attribute it to ad delivery. Includes universal IDs (`uids`), hashed identifiers (`hashed_email`, `hashed_phone` — SHA-256, normalized before hashing), `click_id` (platform-specific click identifiers like fbclid, gclid), and optional `client_ip` + `client_user_agent` for probabilistic matching. At least one identifier is required.

**Usage Reporting**
Daily reporting of signal utilization for billing and optimization purposes.

## V

**Venue**
Physical location where DOOH advertising is displayed (e.g., airport terminal, transit station, retail store). Used for DOOH targeting and delivery reporting.

**Venue Package**
Named collection of DOOH screens across specific venues (e.g., 'times\_square\_network', 'airport\_terminals'). Used in DOOH pricing parameters.

## Acronyms

* **ACP**: Agentic Commerce Protocol
* **AdCP**: Ad Context Protocol
* **API**: Application Programming Interface
* **AXE**: Agentic eXecution Engine
* **CPA**: Cost Per Acquisition
* **CPM**: Cost Per Mille (thousand)
* **DMP**: Data Management Platform
* **DSP**: Demand-Side Platform
* **ECAPI**: Enhanced Conversions API (IAB Tech Lab)
* **EUID**: European Unified ID
* **MCP**: Model Context Protocol
* **PII**: Personally Identifiable Information
* **ROAS**: Return On Ad Spend
* **RTB**: Real-Time Bidding
* **SI**: Sponsored Intelligence
* **SSP**: Supply-Side Platform
* **TMP**: Trusted Match Protocol
* **TTD**: The Trade Desk
* **UCP**: Universal Commerce Protocol
* **UID**: Universal Identifier
* **UTC**: Coordinated Universal Time

## Units and Measurements

**Time Formats**

* All timestamps use ISO 8601 format (e.g., "2025-01-20T14:30:00Z")
* Dates use YYYY-MM-DD format
* Activation times expressed as human-readable estimates ("24-48 hours")

**Currency**

* All pricing in specified currency (typically USD)
* CPM expressed as cost per 1,000 impressions
* Revenue share expressed as decimal (0.15 = 15%)

**Size Reporting** (Signals Protocol)

* Counts expressed as integers
* Units clearly specified (individuals/devices/households)
* Dated with "as\_of" timestamp for freshness

**Impression Reporting** (Media Buy Protocol)

* Delivery counts by package
* Pacing metrics for optimization
* Dimensional breakdowns available

## Error Codes Reference

Common error codes across all AdCP implementations:

* `REFERENCE_NOT_FOUND`: Invalid or expired segment ID (or any referenced resource that does not exist or is not accessible; `error.field` identifies the failing parameter). Replaces the removed-in-rc.5 codes: `SEGMENT_NOT_FOUND`, `SIGNAL_AGENT_SEGMENT_NOT_FOUND`, `AGENT_NOT_FOUND`, `AUDIENCE_NOT_FOUND`, `CATALOG_NOT_FOUND`, `EVENT_SOURCE_NOT_FOUND`, `FORMAT_NOT_FOUND`, `STANDARDS_NOT_FOUND`, `BRAND_NOT_FOUND`, `CHECK_NOT_FOUND`, `CAMPAIGN_NOT_FOUND`. See [release notes](/docs/reference/release-notes#version-3-0-0-rc-5) for the migration.
* `ACTIVATION_FAILED`: Unable to complete activation process
* `ALREADY_ACTIVATED`: Signal already active for platform/seat
* `DEPLOYMENT_UNAUTHORIZED`: Insufficient permissions for platform/seat
* `BUDGET_EXCEEDED`: Operation would exceed allocated budget
* `CREATIVE_REJECTED`: Creative asset failed platform review
* `INVALID_PRICING_MODEL`: Requested pricing model unavailable
* `RATE_LIMITED`: Too many requests in time window
* `AUTHENTICATION_FAILED`: Invalid or expired credentials
* `VALIDATION_ERROR`: Request format or parameter errors
