AdCP vs AAMP: what is the difference?
AdCP and AAMP come from two different organizations and cover overlapping ground. AdCP (Ad Context Protocol) is a single protocol maintained by AgenticAdvertising.org, an independent member organization, and it defines agent tasks such as
get_signals, activate_signal, create_media_buy and build_creative that run over MCP or A2A (AdCP README; AdCP standards landscape). AAMP (Agentic Advertising Management Protocols) is IAB Tech Lab's umbrella initiative, and its repository lists Agentic Direct, a buyer agent, a seller agent, OpenProposal, a registry agent example, ARTF and Agentic Audiences as components (IAB Tech Lab AAMP repo). ARTF runs agent containers inside an exchange during the auction. Agentic Audiences puts embedding vectors into OpenRTB bid requests.AdCP's own documentation describes AAMP as overlapping AdCP in scope "with different primitives" (AdCP standards landscape). This page states what each spec says, as of 2026-10-13, and takes no side.
The four standards side by side (as of 2026-10-13)
| AdCP | AAMP | ARTF | Agentic Audiences |
| Scope | Agent tasks across the campaign: products, media buys, creative, signals, governance | Umbrella for IAB Tech Lab's agentic work, from planning and RFPs to delivery | Agent services running as containers inside an SSP, DSP or exchange, proposing changes to the bid request | An envelope for passing embeddings (identity, contextual, reinforcement) between agents and in OpenRTB |
| Governing body | AgenticAdvertising.org | IAB Tech Lab (Agentic Task Force) | IAB Tech Lab | IAB Tech Lab (Agentic Audiences Task Force); started as LiveRamp's proposal |
| Transport | MCP or A2A for planning; a Trusted Match HTTP profile for serve time | Buyer and seller agents talk MCP, A2A and REST | gRPC GetMutations and an MCP tool extend_rtb in the reference implementation | OpenRTB community extension at user.data[].segment[].ext.aa |
| Current version and date | 3.2.1, GA on 2026-09-30 | 2.3 released 2026-07-30; 3.0 with OpenProposal announced 2026-09-22, in public comment until 2026-10-22 | 1.0, released 2025-11-12 | 1.1, August 2026 |
| License | Apache 2.0 | Apache 2.0 (AAMP repo and agent SDKs) | Spec CC BY 3.0; Index Exchange reference code AGPL-3.0 | Spec CC BY 4.0; code Apache 2.0 |
| Spec | docs.adcontextprotocol.org | github.com/IABTechLab/AAMP | ARTF spec | OpenRTB extension |
Which companies are building agentic advertising standards?
AdCP launched on 2025-10-15 with six founding members: Yahoo, Optable, PubMatic, Scope3, Swivel and Triton Digital, with The Weather Company, Magnite, MiQ, LG Ad Solutions, Kargo, Raptive and Samba TV among the supporters named at launch (VideoWeek). AgenticAdvertising.org says it is not a subsidiary or working group of IAB Tech Lab, Anthropic, Google or any other company (AdCP standards landscape).
IAB Tech Lab runs AAMP through its Agentic Task Force (IAB Tech Lab). The ARTF reference implementation is Go code copyrighted by Index Exchange (ARTF repository). The Agentic Audiences extension lists LiveRamp and Raptive as sponsors (OpenRTB extension). The AAMP 2.3 release names contributions and quotes from Amazon Web Services, SafeGuard Privacy, HyperMindz, Mixpeek and Adform (IAB Tech Lab AAMP 2.3 release).
How do I build an AdCP signals agent?
A signals agent implements the AdCP Signals surface. Per the AdCP README, that surface has two tasks:
get_signals discovers audience and contextual signals. A caller searches by natural language or by signal reference, filters by platform and CPM, and gets deployment status with activation keys back (get_signals reference).activate_signal activates a signal on a platform, using the handle that get_signals returned (get_signals reference).You expose those tasks over MCP or A2A; the same task definitions work on both (AdCP standards landscape). The JSON schemas in the AdCP repository are the normative contract, and a compliance runner in the same repository tests agents that claim a protocol (AdCP README). Read the release notes for the version you target: they state that a caller should send the "3.2" wire value only after a peer lists it in
get_adcp_capabilities.The hard part of a contextual signals agent is the signal itself. Each answer to
get_signals has to map a description ("cooking content", "live sports") to inventory you have already classified, so the classification has to exist before the request arrives.How do I build an agent container for IAB Tech Lab's ARTF?
ARTF v1.0 was released on 2025-11-12 (ARTF spec). Your agent ships as a container that the host (an SSP, DSP or exchange) deploys in its own infrastructure, declared by an Agent Manifest. Per the spec and the reference implementation:
tmax, the maximum time in milliseconds the exchange allows for mutations to come back (ARTF spec).intent (for example activateSegments), an op (add, replace or remove), a path that names an OpenRTB business entity rather than a raw JSON location, and a value (ARTF spec). The host decides whether to accept each one.GetMutations, and an MCP tool, extend_rtb (ARTF repository).That last point shapes the design. With no network at bid time, the container cannot call a classification API while the auction waits. Whatever it knows about a page, video or app has to be loaded into the container ahead of time, so the request path is a lookup from a content identifier to stored segments or categories.
How do I generate Agentic Audiences contextual embeddings for OpenRTB?
The OpenRTB community extension defines the envelope. Each provider adds one object to
user.data, and each entry in its segment array carries ext.aa with these fields:ver: the specification version, for example "1.0.0" (extension).vector: the embedding as Float32 values in little-endian byte order, concatenated and Base64-encoded.dimension: the number of Float32 values. A decoder must reject a payload whose decoded byte length divided by 4 does not equal dimension (extension).model: the identifier of the model that produced the vector.type: an integer array where 1 is identity, 2 is contextual and 3 is reinforcement (extension).The extension says nothing about how to produce the vector. IAB Tech Lab describes Agentic Audiences as "the transport layer between counterparties using the same model" and says exchanged signals are usable "as long as the Buyer and Seller are using the same model" (IAB Tech Lab). So the practical steps are: agree on a model with the buyers who will score your vectors, embed the content with it, encode the floats as above, and set
type to contextual. Prebid.js has an Agentic Audiences RTD module that places stored embedding entries under segment.ext.aa (Prebid docs).Our contextual embeddings stopped matching after a model upgrade
That is the expected result. Vectors from two different models live in different spaces, and the extension notes that "similarity computations are meaningful only within the same model/vector space" (extension). IAB Tech Lab's own taxonomy classifier repository warns that comparing vectors from different models, or from different truncations of one model, "still produces a number" and that the number "is meaningless" (iab-taxonomy-classifier).
As of 2026-10-13 the extension defines no re-embedding procedure, deprecation window or migration rule; the
model and ver strings are its only compatibility fields (extension). Implementers decide the rest. Steps that follow from the fields the spec does define:1. Check
model before scoring. A consumer should drop or skip any vector whose model differs from the one its scoring was built on, rather than computing a similarity.
2. Give every model release a new model string. Reusing a name after retraining makes the field useless as a check.
3. Publish both versions during a migration. The extension lets one provider's segment array carry more than one entry (extension), so you can send the old and new vectors side by side until buyers confirm they score the new one.
4. Agree on a cutover date in writing with each counterparty, since the spec sets none.
5. Re-embed stored content from the source files, and keep the old vectors until the cutover passes.
6. Watch match rates per model value after the switch, so a buyer still on the old model shows up as a drop you can explain.Where Mixpeek fits
Mixpeek classifies content at ingest into IAB Content Taxonomy 3.1 IDs, generated from IAB Tech Lab's published taxonomy files, and stores embeddings alongside them, including for video through scene segmentation, frames, speech transcripts and on-screen text. Stored categories and embeddings are the kind of signal a signals agent answering
get_signals or an ARTF container doing a bid-time lookup would read. Mixpeek has no AdCP or ARTF implementation today and runs no hosted AdCP or ARTF endpoint.IAB Tech Lab's AAMP 2.3 release lists a "Content Taxonomy Parser contributed by Mixpeek" (IAB Tech Lab AAMP 2.3 release). To try classification against the taxonomy, use the free IAB contextual classifier demo. To move IDs from Content Taxonomy 2.x to 3.x, see the open-source IAB mapper. For the suitability side, see brand safety vs brand suitability for video.
Changelog
Frequently Asked Questions
Is AdCP part of IAB Tech Lab?
No. AdCP is maintained by AgenticAdvertising.org, which describes itself as an independent member organization and not a subsidiary or working group of IAB Tech Lab (AdCP standards landscape). IAB Tech Lab's own agentic initiative is AAMP.
Is ARTF the same as AAMP?
ARTF is one component of AAMP. The AAMP repository lists ARTF and Agentic Audiences among its components (IAB Tech Lab AAMP repo). ARTF covers agent containers inside an exchange during the auction.
Do AdCP and AAMP both use MCP?
Yes. AdCP tasks run over MCP or A2A (AdCP README), and IAB Tech Lab's buyer agent calls seller agents over MCP, A2A and REST (buyer agent README). The ARTF reference implementation also exposes an MCP tool,
extend_rtb (ARTF repository).Can I comment on AAMP 3.0?
IAB Tech Lab says the OpenProposal specification in AAMP 3.0 is in public comment until October 22, 2026 (IAB Tech Lab).
Which embedding model should I use for Agentic Audiences?
The spec does not name one. It carries whatever model identifier you set, and IAB Tech Lab says the buyer and seller need to use the same model (IAB Tech Lab). Choose with the buyers who will score your vectors.