NEWVectors or files. Pick a path.Start →
    Search & Discovery
    10 min read
    Updated 2026-10-13

    AdCP, AAMP, ARTF and Agentic Audiences: what each one does

    AdCP and AAMP are two separate efforts to standardize AI agents in advertising. AdCP is one protocol from AgenticAdvertising.org, carried over MCP or A2A, with tasks like get_signals and create_media_buy. AAMP is IAB Tech Lab's umbrella, which includes ARTF (agent containers inside an exchange that return bid request mutations) and Agentic Audiences (embeddings carried in OpenRTB). A dated comparison table, spec links, and what to do when a contextual embedding model changes.

    AdTech
    AdCP
    AAMP
    ARTF
    Agentic Audiences
    OpenRTB
    MCP
    Embeddings

    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)



    AdCPAAMPARTFAgentic Audiences
    ScopeAgent tasks across the campaign: products, media buys, creative, signals, governanceUmbrella for IAB Tech Lab's agentic work, from planning and RFPs to deliveryAgent services running as containers inside an SSP, DSP or exchange, proposing changes to the bid requestAn envelope for passing embeddings (identity, contextual, reinforcement) between agents and in OpenRTB
    Governing bodyAgenticAdvertising.orgIAB Tech Lab (Agentic Task Force)IAB Tech LabIAB Tech Lab (Agentic Audiences Task Force); started as LiveRamp's proposal
    TransportMCP or A2A for planning; a Trusted Match HTTP profile for serve timeBuyer and seller agents talk MCP, A2A and RESTgRPC GetMutations and an MCP tool extend_rtb in the reference implementationOpenRTB community extension at user.data[].segment[].ext.aa
    Current version and date3.2.1, GA on 2026-09-302.3 released 2026-07-30; 3.0 with OpenProposal announced 2026-09-22, in public comment until 2026-10-221.0, released 2025-11-121.1, August 2026
    LicenseApache 2.0Apache 2.0 (AAMP repo and agent SDKs)Spec CC BY 3.0; Index Exchange reference code AGPL-3.0Spec CC BY 4.0; code Apache 2.0
    Specdocs.adcontextprotocol.orggithub.com/IABTechLab/AAMPARTF specOpenRTB extension
    Sources for the table: AdCP version and date from the AdCP release notes, transport from the AdCP README, license from the AdCP repository. AAMP 2.3 from IAB Tech Lab's release of 2026-07-30, AAMP 3.0 from IAB Tech Lab's press release, AAMP transport from the buyer agent README. ARTF from the ARTF repository. Agentic Audiences version from IAB Tech Lab's agentic standards page and license from the agentic-audiences repository.

    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:

  1. 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).
  2. activate_signal activates a signal on a platform, using the handle that get_signals returned (get_signals reference).


  3. 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:

  4. The host sends a request containing the OpenRTB bid request and tmax, the maximum time in milliseconds the exchange allows for mutations to come back (ARTF spec).
  5. The agent returns mutations. Each one carries an 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.
  6. The Index Exchange reference implementation serves a gRPC service with one RPC, GetMutations, and an MCP tool, extend_rtb (ARTF repository).
  7. Its containers run as a non-root user, on a read-only filesystem, with no external network access by default (ARTF repository).


  8. 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:

  9. ver: the specification version, for example "1.0.0" (extension).
  10. vector: the embedding as Float32 values in little-endian byte order, concatenated and Base64-encoded.
  11. dimension: the number of Float32 values. A decoder must reject a payload whose decoded byte length divided by 4 does not equal dimension (extension).
  12. model: the identifier of the model that produced the vector.
  13. type: an integer array where 1 is identity, 2 is contextual and 3 is reinforcement (extension).


  14. 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



  15. 2026-10-13: first version.


  16. 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.

    Sources



  17. AdCP repository README
  18. AdCP release notes
  19. AdCP standards landscape
  20. AdCP get_signals reference
  21. VideoWeek on the AdCP launch, 2025-10-15
  22. IAB Tech Lab agentic advertising and AI standards
  23. IAB Tech Lab AAMP repository
  24. IAB Tech Lab buyer agent
  25. IAB Tech Lab AAMP 2.3 release, 2026-07-30
  26. IAB Tech Lab AAMP 3.0 press release, 2026-09-22
  27. ARTF repository
  28. ARTF v1.0 specification
  29. Agentic Audiences OpenRTB extension
  30. Agentic Audiences repository
  31. IAB Tech Lab, Operationalizing Agentic Audiences
  32. Prebid Agentic Audiences RTD module
  33. IAB Tech Lab iab-taxonomy-classifier
  34. IAB Tech Lab taxonomy files
  35. Managed Mixpeek

    Put multimodal search to work

    Connect a bucket and Mixpeek runs the whole multimodal search pipeline for you: extraction, indexing, and search over your own objects. No models to wire up, nothing to host.

    Start with Managed
    MVS · bring your own

    Already have vectors?

    Keep your embeddings on your own cloud and run dense, sparse, and BM25 search directly on object storage. From $25/mo.

    Start with MVS

    Run this on your own data

    Point Mixpeek at the storage you already have and search your video, images, audio, and documents the way this guide describes. Build starts at $25/mo for up to 1M vectors.

    Search your own archiveRead Docs

    Related guides

    Search & Discovery

    Why Is My Image Embedding Model So Slow on CPU?

    An image embedding model that crawls on CPU is usually running in bfloat16 on a processor with no hardware for it, or leaving most of its cores idle. PyTorch autocast on CPU defaults to bfloat16, and without AVX512-BF16 or AMX the math runs in software: we measured 13.0 s per image under autocast against 0.555 s in fp32 for SigLIP base. Run CPU inference in fp32, give each process one thread, and start one model copy per core.

    Read guide →
    Search & Discovery

    Why Does My Image Search Miss Small Objects in a Photo?

    Image search misses small objects because most systems store one vector per photo, computed from a copy shrunk to about 224 pixels. A 100-pixel object in a 4000x3000 photo becomes 5 to 8 pixels, smaller than one of the model's image patches, and CLIP's center crop drops a quarter of a wide photo before the model sees it. The fix is to embed crops of each photo as well as the whole, and rank each photo by its best-matching crop.

    Read guide →
    Search & Discovery

    How Do I Let an AI Agent Look Through My Own Video Library?

    To let an AI agent look through your own video library, index the videos once into searchable, timestamped segments, then give the agent a search tool it can call, usually through an MCP server. The agent asks in plain language and gets back the moments that match. This guide explains why handing the agent the files does not work, the two pieces you need, and how to connect Claude Code, Cursor, Codex or Gemini CLI.

    Read guide →