> ## Documentation Index
> Fetch the complete documentation index at: https://docs.adcontextprotocol.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Product Discovery

> AdCP product discovery — use natural language campaign briefs to find advertising inventory across publishers. Covers brief writing, product structures, and refinement.

Product discovery is the foundation of AdCP media buying. Use natural language to describe your campaign goals and discover relevant advertising inventory that matches your requirements.

AdCP's product discovery revolutionizes how advertising inventory is found and evaluated:

* **Natural Language First**: Describe campaigns in plain English instead of navigating complex catalogs
* **AI-Powered Matching**: Advanced algorithms match briefs to relevant inventory
* **Format-Aware Discovery**: Products include creative format compatibility
* **Principal-Specific Results**: See inventory based on your access and negotiated deals

## The Discovery Process

### 1. Write Your Brief

Start with a natural language description of your campaign objectives:

*"Mike's Plumbing Services needs to reach homeowners in the Denver, Colorado area who might need plumbing services. We have \$8,000 USD to spend from October 15-31, 2024. Looking for display and native formats to drive phone calls."*

### 2. Discover Products

Use [`get_products`](/dist/docs/3.0.0-rc.2/media-buy/task-reference/get_products) to find matching inventory based on your brief and brand.

### 3. Evaluate Results

Review returned products for:

* **Audience alignment** with your target customers
* **Format compatibility** with your creative assets
* **Pricing model** (fixed CPM vs auction-based)
* **Delivery type** (guaranteed vs non-guaranteed)
* **Delivery forecasts** on proposals to estimate expected impressions, reach, and spend

### 4. Refine and Iterate

Use `buying_mode: "refine"` with the `refine` array of change requests to iterate on products and proposals — include, omit, or find similar products, and request adjustments to proposals before committing to a buy. See [Refinement](/dist/docs/3.0.0-rc.2/media-buy/product-discovery/refinement).

### 5. Work with Proposals

Publishers may return **proposals** alongside products—structured media plans with budget allocations that can be executed directly. See [Proposals](/dist/docs/3.0.0-rc.2/media-buy/product-discovery/media-products#proposals).

## Key Concepts

### Natural Language Briefs

AdCP accepts campaign descriptions in conversational English rather than requiring:

* ❌ Product catalog navigation
* ❌ Technical targeting syntax
* ❌ Platform-specific terminology

Instead, describe your campaign naturally:

* ✅ "Premium sports fans for energy drink launch"
* ✅ "Local restaurant targeting dinner rush commuters"
* ✅ "B2B software for marketing managers"

Learn more in [Brief Expectations](/dist/docs/3.0.0-rc.2/media-buy/product-discovery/brief-expectations).

### Product Model

Products describe sellable inventory along three independent dimensions:

* **Publisher properties** — WHERE the ad runs (the website, app, or platform)
* **Shows and episodes** — WHAT CONTENT the ad runs in or around (a series, podcast, or live event)
* **Placements** — WHAT POSITION the ad appears in (pre-roll, mid-roll, host read)

Each product also includes audience targeting, creative format requirements, pricing, and delivery characteristics. When products reference shows, the `get_products` response includes a top-level `shows` array with full show metadata (talent, genre, content ratings, distribution identifiers).

Understand the complete product structure in [Media Products](/dist/docs/3.0.0-rc.2/media-buy/product-discovery/media-products). For show-centric inventory like podcasts, CTV series, and live events, see [Shows and Episodes](/dist/docs/3.0.0-rc.2/media-buy/product-discovery/shows-and-episodes).

### Catalog-driven discovery

For catalog-driven campaigns (retail media, job boards, travel), pass a `catalog` on `get_products` to find products that match your catalog items. Products declare which catalog types they support via `catalog_types`, and the response includes `catalog_match` with matched item counts. See [Catalogs](/dist/docs/3.0.0-rc.2/creative/catalogs#catalogs-in-the-media-buy-lifecycle).

### Format Discovery Integration

Product discovery works hand-in-hand with creative planning:

1. **Products return format IDs** for required creative specifications
2. **Use [`list_creative_formats`](/dist/docs/3.0.0-rc.2/creative/task-reference/list_creative_formats)** to get detailed format requirements
3. **Plan creative production** based on discovered format needs

## Brief Examples & Patterns

Real-world examples of effective briefs for different campaign types:

* **Local Business**: Service area, customer demographics, business outcomes
* **E-commerce**: Product categories, shopping behaviors, conversion goals
* **B2B**: Job titles, company characteristics, lead generation
* **Brand Awareness**: Lifestyle attributes, media consumption, reach objectives

Explore comprehensive examples in [Example Briefs](/dist/docs/3.0.0-rc.2/media-buy/product-discovery/example-briefs).

## Discovery Best Practices

### Effective Brief Writing

* **Be specific about your business** and what you're promoting
* **Describe your ideal customer** rather than demographic codes
* **Include geographic scope** and any location relevance
* **Mention format preferences** if you have creative constraints
* **State business objectives** (calls, visits, sales, awareness)

### Iterative Discovery

* Start with a broad brief to explore available inventory
* Use structured filters to narrow results by delivery type or pricing
* [Refine](/dist/docs/3.0.0-rc.2/media-buy/product-discovery/refinement) specific products with the `refine` array before committing
* Experiment with different customer descriptions to find new opportunities

### Working with Results

* Review all returned products for unexpected opportunities
* Check format requirements before creative production
* Consider mix of guaranteed and non-guaranteed inventory
* Evaluate pricing guidance for budget planning

## Response Times

Product discovery operations:

* **[`get_products`](/dist/docs/3.0.0-rc.2/media-buy/task-reference/get_products)**: \~60 seconds (AI processing)
* **[`list_creative_formats`](/dist/docs/3.0.0-rc.2/creative/task-reference/list_creative_formats)**: \~1 second (database lookup)

## Next Steps

After discovering products:

1. **[Create Media Buy](/dist/docs/3.0.0-rc.2/media-buy/media-buys/)** - Build campaigns from selected products
2. **[Creative Planning](/dist/docs/3.0.0-rc.2/media-buy/creatives/)** - Prepare assets matching format requirements
3. **[Task Reference](/dist/docs/3.0.0-rc.2/media-buy/task-reference/)** - Detailed API documentation for implementation

## Related Documentation

* **[Brief Expectations](/dist/docs/3.0.0-rc.2/media-buy/product-discovery/brief-expectations)** - Comprehensive guide to brief structure
* **[Example Briefs](/dist/docs/3.0.0-rc.2/media-buy/product-discovery/example-briefs)** - Real-world campaign brief patterns
* **[Media Products](/dist/docs/3.0.0-rc.2/media-buy/product-discovery/media-products)** - Understanding product model and attributes
* **[Refinement](/dist/docs/3.0.0-rc.2/media-buy/product-discovery/refinement)** - Iterating on products and proposals with change requests
* **[Proposals](/dist/docs/3.0.0-rc.2/media-buy/product-discovery/media-products#proposals)** - Structured media plans with budget allocations
* **[`get_products` Task](/dist/docs/3.0.0-rc.2/media-buy/task-reference/get_products)** - Complete API reference
