Skip to main content
When you ask a storefront for products, you can send structured targeting alongside the brief: AdCP’s targeting_overlay (for example the countries you want, through geo_countries) and required_overlay_support (the targeting you need to be able to set later). A storefront that resells an outside seller passes that targeting on to the seller, so the seller can price and forecast for it. AdCP asks sellers to scope a product’s forecast to the concrete targeting they receive in discovery.

What each seller receives

For a seller on AdCP 3.2 or later, each targeting_overlay field is handled by how the seller declares it:
  • Fields a seller declares for its whole account in its capabilities (media_buy.execution.targeting), such as countries, regions, metros, postal areas, places, language, keywords and property lists: sent only when the seller declares that field, and only with values the seller says it supports. For example, a metro list in a system the seller does not list is not sent.
  • Fields a seller declares per product, such as device type, audiences, signals, dayparts and frequency caps: always sent. AdCP has the seller leave out or adjust a product that cannot honour them, not refuse the request.
  • Demographics, including age: not sent. Outside sellers read age from the brief text.
required_overlay_support is sent unchanged because dropping part of it would return products you said you could not use. A property list sent as a discovery filter (filters.property_list) reaches only a seller that declares it can filter by property list.

What this means for forecasts

A seller that was not sent a targeting field has no structured way to apply it. Its products and forecasts describe its default scope, usually its whole footprint, even if the brief text mentions the targeting. A seller on AdCP 3.1 or earlier can still narrow which products it returns from filters.countries and the other product filters, but it cannot scope a forecast to them. Exclusion lists, such as a list of domains to avoid, are not discovery targeting. AdCP applies them when the media buy is booked, through targeting_overlay.property_list_exclude on the buy.