Skip to main content
Every storefront draws inventory from one or more inventory sources. The source path depends on what you already run and which system owns the sell-side lifecycle. This page is the canonical decision guide for setup.
Your storefront is your sales agent to buyers — they call your storefront and your Merchandising Agent answers. An external sales-agent source is a separate AdCP agent you registered as upstream supply. Don’t confuse the two: buyers never see your sources, only your storefront.

Decision table

Start from what you operate today.

The five setup paths

The authoritative definition of each family:
AGENT is an external AdCP-compatible sales agent the Merchandising Agent connects to; MANAGED_SALES_AGENT is an operator-owned ad server with Interchange-managed sales-agent plumbing; LINKED_STOREFRONT is wholesale inventory discovered automatically from the ambient pool of LISTED, transacting storefronts (resolved at runtime, never persisted as a source row); MODULAR_SOURCE is a private composed implementation assembled from modules such as avails, booking, trafficking, and reporting. A standard modular recipe such as CitrusAd is presented as an ad-server connection, while custom compositions use the advanced modular-source workflow. Storefront-level ADAPTER dispatch is configured on the storefront, not as an inventory source.

Ad-server connection

Pick this when you own an ad server — Google Ad Manager, FreeWheel, SpringServe, or CitrusAd — and want to sell its inventory through your storefront. Buyers transact against your storefront while a supported direct integration or Interchange-managed sales agent reads the ad server’s existing ad units, placements, and products. The setup surface may hide that implementation difference because the seller outcome is the same. These sources use the ad-server connection and lifecycle endpoints (connect, save config, test, launch, deactivate, reactivate), not the generic external-agent create flow. Some providers use a managed ESA tenant; others, including CitrusAd, use a preconfigured private module recipe. That implementation detail does not change the seller or buyer experience. For what each ad server asks for and why, see Why Interchange needs access to your ad server. See also Get ad-server connection and Replace ad-server config.

External sales agent (AGENT)

Pick this when you already run — or want to connect — your own AdCP-compatible sales agent reachable at a URL. You register it with the source endpoint, supplying the endpoint URL, protocol (MCP or A2A), and auth. Your Merchandising Agent then calls that agent for discovery and media buys. This is the only family created and updated through the generic inventory-source create and update flow. An external sales-agent source can be used two ways:
  • Passthrough: buyer briefs are sent to your sales agent and it answers live. Use this when the upstream agent already knows how to sell and rank its own products.
  • Merchandising: your source exposes raw products/components that Interchange caches, then the Merchandising Agent composes buyer-facing products from those cached components and your operating instructions.
For merchandising, cache success means Interchange can read stable component ids, pricing options, formats, publisher properties or other inventory selectors, delivery type, and execution metadata without making a live source call during buyer-request composition. If the source cannot provide a usable component cache, Murph reports that as a cache/readiness complaint; passthrough brief discovery can still be healthy. Interchange only attempts wholesale product or signal catalog requests to an external sales agent when product composition is on and the agent reports AdCP 3.1+ support. With product composition off, the source stays in passthrough: buyer briefs and media buys call your sales agent live, and component-cache readiness is not used as a health signal. See Create inventory source and Diagnose third-party sales agents.

Linked storefront (LINKED_STOREFRONT)

Pick this when you want supply from other storefronts already transacting on the Interchange. Linked inventory is discovered automatically from the ambient pool of LISTED storefronts and resolved at runtime — there is no source row to create or manage. You participate by being LISTED; matching wholesale inventory surfaces to your storefront scoped by your own channel and geography.

Modular (MODULAR_SOURCE)

Pick this when inventory and execution do not come from one compliant upstream agent. A modular source is composed from private modules — an avails feed, a booking ledger, trafficking, status sync, reporting import — and presents one buyer-facing surface. Use it when, for example, a publisher sends a periodic avails file, confirms bookings by hand, and uploads delivery reports after the campaign ends. See the Modular lifecycle guide.

Storefront adapter (ADAPTER routing)

Pick this only when Scope3 supports an expert provider that should dispatch the whole buyer-facing storefront directly. The adapter is configured on the storefront itself; it is not an inventory source and cannot be added through an inventory-source form. This differs from an external AdCP sales agent, which is private upstream supply behind a storefront, and from a modular source, whose modules are combined behind the storefront. Adapter availability and lifecycle capabilities are provider-specific, so do not assume that an adapter automates booking, creative, or reporting unless its setup explicitly says so.

Still unsure?

  • You operate an ad server and want to sell its inventory → ad-server connection.
  • You have an AdCP agent at a URL → external sales agent.
  • You want inventory from the marketplace with nothing to connect → linked storefront.
  • Your supply is stitched together from feeds and manual steps → modular.
  • One supported provider should operate the whole storefront → storefront adapter.

Inventory sources

Register and manage the sources behind your storefront

Create inventory source

Register an external AGENT source

Modular lifecycle guide

Compose a source from avails, booking, and reporting modules

Glossary

Ad Server vs Sales Agent, side by side