Skip to main content

Overview

A property is the individual site, app, or CTV app whose inventory can be sold. For a web publisher network, the property is usually one site domain. A managed storefront’s coverage is the set of publisher domains its sales agent is authorized to sell. For managed storefronts configured to disclose authorized publisher coverage, that coverage is buyer-visible. When a buyer calls get_products, products that carry authorized coverage return publisher_properties so the buyer can see what a run-of-network or curated product actually covers before they buy.

The network model

Do not use the operator domain as a shortcut for coverage. In a network, the company that sells the inventory, the domain that manages authorization, and the sites being sold can be different. For network-managed sites, a publisher can delegate to the manager domain with an ads.txt MANAGERDOMAIN=<manager-domain> line or an authoritative_location pointer. The manager’s adagents.json then describes the managed publisher properties.

What buyers see in get_products

For configured managed storefront products that cover the authorized network, Interchange discloses one selector per real publisher domain:
selection_type: "all" means the product covers all authorized inventory for that publisher domain. A run-of-network product for a large network can have thousands of entries. That is expected: each entry is a buyer-verifiable publisher domain, not a fabricated storefront placeholder.
A placeholder such as *.storefront.scope3.com is not coverage. If a managed product has real authorized properties and coverage disclosure is enabled for that storefront, buyers should see those publisher domains instead.

Where coverage comes from

Coverage comes from the publisher’s adagents.json, resolved through the normal identity-document path:
  1. The publisher or network publishes adagents.json with properties[] and authorized_agents[].
  2. Interchange resolves the publisher file directly, through an authoritative_location pointer, or through the publisher’s ads.txt MANAGERDOMAIN delegation.
  3. The managed sales agent ingests the authorized properties for the storefront.
  4. When coverage disclosure is enabled for the managed storefront, get_products renders those authorized properties as publisher_properties.
Changes to the publisher file are picked up when the publisher identity is re-resolved and the managed source refreshes its authorized properties. Keep the file clean: a test property in adagents.json is indistinguishable from a real property and can appear as disclosed coverage. If coverage disclosure is not enabled for a storefront, authorization can still exist without a full per-publisher list appearing in get_products.

Why this matters

Publisher coverage gives buyers a concrete answer to “where can this product run?” For sellers, it makes run-of-network products easier to trust because the buyer can verify the actual publisher domains covered by the storefront. Coverage is still separate from ad-server targeting. A product can disclose the publisher domains it covers while the seller’s ad server uses GAM key-values, ad units, or placements internally to organize site lists.

adagents.json guide

Publish properties and authorized agents for a network or publisher.

Custom targeting and properties

Use GAM custom targeting keys and values as seller-managed signals.

Identity documents

How Interchange resolves adagents.json, manager domains, and authorization.

Property lists

Buyer-owned include and exclude lists.