← Learnads.txt A plain-text file at a site web root (https://<domain>/ads.txt) listing every seller authorized to sell that domain inventory. Each record reads <SSP domain>, <publisher account ID>, <DIRECT|RESELLER>, and an optional certification authority ID. Its purpose is to kill domain spoofing and unauthorized reselling. The app equivalent of ads.txt, discovered through the developer URL in the app-store listing. It authorizes sellers for in-app and CTV inventory the same way ads.txt does for the web. sellers.json A file each SSP or exchange publishes at https://<ssp-domain>/sellers.json listing every seller account it transacts with. Each entry carries a seller_id, optional name and domain, a seller_type, and the is_confidential and is_passthrough flags. An ads.txt account ID must appear here as a seller_id, and that reciprocity join is the heart of the audit. schain (SupplyChain Object) An OpenRTB object carried on the bid request (source.ext.schain) that records every entity which touched the impression, as an ordered array of nodes. Each node has asi (the advertising system domain), sid (the seller_id at that system), and hp (1 means it handles payment). A complete flag of 1 asserts the chain is whole back to the publisher. OWNERDOMAIN A variable line in ads.txt that declares the entity which owns the domain. A DIRECT seller whose sellers.json domain does not match the OWNERDOMAIN (or MANAGERDOMAIN) raises a domain-mismatch flag in the audit. The third field of an ads.txt record. DIRECT means the publisher has a direct account with that SSP and controls it. RESELLER means an authorized third party resells the inventory through that SSP. A higher direct ratio generally means a cleaner, more accountable supply path. The number of intermediaries between the publisher and the buyer on a given supply path, read from the schain nodes. More hops means more fees and more opacity. ads.txt alone gives only a minimum plausible hop count, while the schain is the runtime proof of the actual depth. SPO (Supply Path Optimization) The practice of consolidating spend onto fewer, cleaner, more direct paths to an impression. Buyers do it to cut fees and opacity; sellers do it by pruning low-yield resellers and duplicate paths. More SSPs, resellers, and hops is not strictly better, which is exactly the bloat the Bidcliq Academy quantity axis measures. header bidding A pre-auction held in the page header (or server-side) before the publisher ad-server call, letting multiple demand sources compete on price simultaneously for the same impression. It replaced the sequential waterfall, which filled by partner priority and the first acceptable bid rather than the true highest bid. Prebid.js The dominant open-source client-side wrapper for header bidding. Its component model is a core plus bid adapters, analytics adapters, and modules. Publishers use a managed wrapper like this instead of stacking many separate vendor tags. The server-side (s2s) counterpart to Prebid.js. The browser sends one request to Prebid Server, which fans out to bidders server-side. It lowers browser latency and supports more bidders, but the cookie match is weaker, so cookie sync is needed. SSP / DSP A Supply-Side Platform (SSP) or exchange represents publishers and sells their inventory. A Demand-Side Platform (DSP) represents advertisers and buys on their behalf. The bid request travels from the supply side to the demand side, and the bid response travels back. OpenRTB The real-time-bidding request and response protocol (versions 2.x, with 2.6 adding CTV ad podding). A Prebid ad unit maps to an OpenRTB imp object; the request also carries tmax (timeout), the source object (which holds the schain), and identity and privacy signals. The minimum CPM a bid must meet to be eligible. Floors can be hard-coded or dynamic. In a first-price auction they defend against bid shading, and a bid below an enforced floor is rejected. Prebid configures them through the Price Floors module. first-price vs second-price In a second-price auction the winner pays just above the second-highest bid; in a first-price auction the winner pays its own bid. The industry shifted to first-price after header bidding broke the symmetry and opaque soft floors plus last-look made second-price untrustworthy. bid shading In a first-price auction, buyers bid below their true value (they shade the bid) to avoid overpaying. Sellers counter with dynamic floors, which sets off a shading-versus-floors arms race that the floors module exists to manage. price granularity The bucketing scheme that quantizes raw bid CPMs into the discrete price points GAM can target. A winning bid maps to key-values such as hb_pb, hb_adid, hb_size, and hb_format. Coarse buckets can round a bid down and lose revenue; send-all-bids multiplies these keys per bidder. UID2 / ID5 / RampID Identity solutions wired through the Prebid User ID module. UID2 and EUID are deterministic IDs from a hashed email or phone, consent-gated. ID5 is a graph-based ID and RampID is person-based. Populated IDs ride into the bid stream in user.ext.eids; higher match rates raise bid density and CPMs. TCF / GPP Privacy signal frameworks. GDPR maps to the IAB Europe Transparency and Consent Framework (the TC string). US privacy laws (CCPA, CPRA, MSPA) are unified under the IAB Tech Lab Global Privacy Platform (GPP). Prebid consent-management modules read these signals to gate identity and bidder participation. agentic advertising Buying and selling media through AI agents that discover inventory, negotiate terms, execute the buy, and report back, with a person setting the goal and approving rather than performing each step. It is the next step after the waterfall and header bidding, and it runs on the same auction and supply chain underneath. buyer agent vs sales agent The two roles in an agentic transaction. A buyer agent acts for an advertiser: it turns a goal into a plan, finds inventory, and places the buy. A sales agent (or seller agent) acts for a publisher: it represents that inventory to buyers and quotes availability and price. A deal is a conversation between the two. MCP (Model Context Protocol) A general protocol for an AI model to call tools that a server exposes. A sales agent is largely an MCP server that publishes a publisher inventory as callable tools (for example get_products), which a buyer model invokes. MCP is not advertising-specific; the ad meaning is added by a layer on top such as AdCP. A2A (Agent-to-Agent) A general protocol for two independent agents to coordinate a task directly, without a human relaying messages. Where MCP is a model reaching for a tool, A2A is two peers agreeing on a job: a buyer agent and a sales agent negotiating terms is an A2A exchange. AdCP (Ad Context Protocol) An open, task-first standard that gives the general agent protocols (MCP and A2A) an advertising vocabulary. It defines named tasks such as get_products, create_media_buy, and sync_creatives with agreed JSON shapes, organized into Media Buy, Creative, and Signals Activation modules. Bidcliq maintains the Prebid.org reference implementation. AAMP (IAB Tech Lab) Agentic Advertising Management Protocols, the IAB Tech Lab roadmap for agentic advertising. Rather than one protocol it gathers buyer and seller agent SDKs, an agent registry, and execution frameworks such as ARTF and Agentic Audiences, built on top of existing standards like ads.txt, sellers.json, and OpenRTB. A public, machine-readable file a property owner publishes to declare which sales agents are authorized to represent its properties. It is the agentic counterpart of ads.txt: a buyer agent reads it to discover who it may legitimately deal with. An agent selling a property it is not listed for is the agentic version of an unauthorized reseller. AdCP media buy A transaction in the AdCP Media Buy module. A buyer agent discovers inventory with get_products, books it with create_media_buy against a budget and flight, manages it with update_media_buy, and measures pacing with get_media_buy_delivery. A buy names a pricing model such as CPM, vCPM, CPC, CPV, CPCV, CPP, or FLAT_RATE. creative format (AdCP) The set of sizes, media types, and rules an asset must meet to serve. A buyer agent reads supported formats with list_creative_formats, registers assets with sync_creatives, and must pass validation and brand-safety review before the creative is trafficked to the ad server and can serve. signals activation The AdCP module for audiences. A signal is an audience or contextual segment an agent can discover and activate against inventory. Signals do for agents what identity match rate does in header bidding: more relevant impressions raise bid density and price. Consent still gates any signal built from user data. authorized properties The set of properties a sales agent is cleared to represent, declared in adagents.json and confirmed with the AdCP task list_authorized_properties. It is the agentic extension of the ads.txt and sellers.json authorization check: confirm the seller may sell this property before transacting. ARTF (Agentic Real-Time Framework) An IAB Tech Lab framework that runs agents co-located with the host platform, in containers next to the inventory, to remove network-hop latency and keep data local. It trades speed and data locality against the cost of running another party code inside your platform, which is part of why a trusted agent registry matters. Agentic Audiences An IAB Tech Lab approach (formerly the User Context Protocol, contributed by LiveRamp) that exchanges audience signals between agents as vector embeddings rather than text segment lists, for faster and more privacy-aware matching. The goal of raising relevance and price matches identity work; the mechanism is the embedding. agent registry A shared, trusted directory where agents are discovered and verified, the governance backbone of the IAB Tech Lab AAMP roadmap. Where adagents.json says which agents may sell a property, the registry helps confirm an agent is who it claims to be, which underpins agent-to-agent deals and co-located execution.
Glossary
The vocabulary
34 core terms across header bidding and supply-chain transparency. Crisp, plain-English, grounded in the curriculum. Each term links to the modules where it is taught.