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

# Amazon Ads adapter compatibility

> Exact AdCP-to-Amazon Ads mapping, implemented coverage, proof state, and known limits.

Amazon Ads is included from the current direct-adapter catalog. Product rows are current-code classifications; operation rows cover the canonical buyer-facing denominator and distinguish callable, absent, and safety-blocked surfaces. None is promoted to deterministic provider certification or fresh account eligibility.

<Note>
  **Review-ready, not provider-endorsed · last verified 2026-08-16.**
  This is an Interchange current-main compatibility snapshot, not provider certification or endorsement. “Implemented” means a provider write/read path exists.
  It does not mean fresh signed live evidence exists or that the selected account
  is currently eligible.
</Note>

## Coverage and execution-package model

| Layer                         | State                                     | Current contract                                                                                                                                                                     |
| ----------------------------- | ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Provider-observed denominator | `not_certified`                           | Amazon plan has no current valid signed full-lifecycle artifact; its cited legacy harness no longer exists.                                                                          |
| Wholesale product archetype   | `classified`                              | Product rows represent materially different launch contracts. Signals, activation resources, targeting and delivery overlays, and creative choices do not create extra product rows. |
| Exact execution package       | `exact_static_base_plus_runtime_bindings` | Each product ID selects the current provider configuration base; account, resources, targeting, creative, budget, bid, and flight remain runtime bindings.                           |
| Current account eligibility   | `account_check_required`                  | Current provider permissions, market, resources, and feature eligibility must be checked for the selected account.                                                                   |

## Claim provenance gaps

Object-mapping and reporting rows have no exported, code-owned complete
denominator on current main. They remain published because they are useful,
but the contract marks the missing drift oracle instead of pretending a
same-test literal prevents drift.

| Claim family      | State                            | Drift enforced | Trace sources                                                | Gap                                                                                             |
| ----------------- | -------------------------------- | -------------- | ------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- |
| `object_mappings` | `manual_plan_trace_non_enforced` | `false`        | packages/storefront-adapters/src/platforms/amazon/adapter.ts | No code-owned complete object-mapping denominator exists; these rows remain manually traced.    |
| `reporting`       | `manual_plan_trace_non_enforced` | `false`        | packages/storefront-adapters/src/platforms/amazon/adapter.ts | No exported code-owned reporting projection constant exists; these rows are not drift-enforced. |

## Evidence state

Static certification and live certification are different claims. Deterministic
tests can prove code-owned catalog classifications and fail-closed behavior
without contacting the provider. Object-mapping and reporting rows are validated
for shape, presence, and uniqueness only; the provenance table above records that
they are not compared with a complete code-owned denominator.
Fresh live evidence must be dated, signed, bound to the exact account, product,
resources, fixture revision, requested package, readback, no-spend result, and
cleanup result. Live evidence is treated as stale after 30 days, and a newer
failure overrides an older pass.

| Layer                           | State                                           | Last verified | What it means                                                                                                                                                          |
| ------------------------------- | ----------------------------------------------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Static / deterministic contract | `current_code_surface_classified_not_certified` | 2026-08-16    | The direct catalog, callable methods, canonical format IDs, and targeting dimensions are regression-checked. This does not certify each provider write/read lifecycle. |
| Fresh signed live evidence      | `no_current_signed_full_lifecycle_artifact`     | —             | No currently valid dated signed full-lifecycle artifact is published for this adapter.                                                                                 |
| AAO discovery                   | `community_catalog`                             | 2026-08-16    | The public registry record is discovery metadata, not provider-owned authorization or current account eligibility.                                                     |

## Markets

**`account_check_required`.** No global market allowlist is asserted.

This page publishes no global market allowlist.

Authority: The selected account and provider response are authoritative.

## Object mapping

| AdCP / Interchange    | Amazon Ads                     | Mapping                                                                      |
| --------------------- | ------------------------------ | ---------------------------------------------------------------------------- |
| `account`             | `provider advertising account` | The authenticated selected account is the execution boundary.                |
| `media_buy`           | `campaign`                     | Current adapter hierarchy mapping; lifecycle certification remains separate. |
| `package`             | `ad group`                     | Budget, targeting, optimization, and flight bindings.                        |
| `creative_assignment` | `ad or creative`               | Creative materialization or assignment surface declared by current code.     |

## Operations

| Public adapter operation | Surface              | State             | Provider path                                                                                                  |
| ------------------------ | -------------------- | ----------------- | -------------------------------------------------------------------------------------------------------------- |
| `list_accounts`          | AdCP buyer operation | `surface_present` | Callable current-main adapter method; exact provider behavior is not promoted to certified by method presence. |
| `sync_accounts`          | AdCP buyer operation | `not_implemented` | Account synchronization is not implemented.                                                                    |
| `get_products`           | AdCP buyer operation | `surface_present` | Callable current-main adapter method; exact provider behavior is not promoted to certified by method presence. |
| `sync_creatives`         | AdCP buyer operation | `surface_present` | Callable current-main adapter method; exact provider behavior is not promoted to certified by method presence. |
| `list_creatives`         | AdCP buyer operation | `surface_present` | Callable current-main adapter method; exact provider behavior is not promoted to certified by method presence. |
| `create_media_buy`       | AdCP buyer operation | `surface_present` | Callable current-main adapter method; exact provider behavior is not promoted to certified by method presence. |
| `get_media_buys`         | AdCP buyer operation | `not_implemented` | Buyers cannot enumerate media buys through this adapter.                                                       |
| `update_media_buy`       | AdCP buyer operation | `surface_present` | Callable current-main adapter method; exact provider behavior is not promoted to certified by method presence. |
| `get_media_buy_delivery` | AdCP buyer operation | `surface_present` | Callable current-main adapter method; exact provider behavior is not promoted to certified by method presence. |
| `get_signals`            | AdCP buyer operation | `not_implemented` | Signal discovery is not implemented.                                                                           |
| `sync_audiences`         | AdCP buyer operation | `not_implemented` | Audience synchronization is not implemented.                                                                   |
| `sync_event_sources`     | AdCP buyer operation | `surface_present` | Callable current-main adapter method; exact provider behavior is not promoted to certified by method presence. |
| `log_event`              | AdCP buyer operation | `not_implemented` | Event ingestion is not implemented.                                                                            |
| `sync_catalogs`          | AdCP buyer operation | `surface_present` | Callable current-main adapter method; exact provider behavior is not promoted to certified by method presence. |
| `get_account_financials` | AdCP buyer operation | `surface_present` | Callable current-main adapter method; exact provider behavior is not promoted to certified by method presence. |

## Wholesale products and exact execution bases

| Product ID              | Exact provider execution base                                                  | Implemented               | Static certification | Current eligibility      | Known gap |
| ----------------------- | ------------------------------------------------------------------------------ | ------------------------- | -------------------- | ------------------------ | --------- |
| `amazon_sp_manual`      | objective `sponsoredProducts`; optimization `manual`; billing `legacyForSales` | `current_code_classified` | `not_certified`      | `account_check_required` | —         |
| `amazon_sp_auto`        | objective `sponsoredProducts`; optimization `auto`; billing `autoForSales`     | `current_code_classified` | `not_certified`      | `account_check_required` | —         |
| `amazon_sb_awareness`   | objective `sponsoredBrands`; optimization `manual`; billing `legacyForSales`   | `current_code_classified` | `not_certified`      | `account_check_required` | —         |
| `amazon_sb_video`       | objective `sponsoredBrands`; optimization `manual`; billing `legacyForSales`   | `current_code_classified` | `not_certified`      | `account_check_required` | —         |
| `amazon_sd_retargeting` | objective `sponsoredDisplay`; optimization `manual`; billing `legacyForSales`  | `current_code_classified` | `not_certified`      | `account_check_required` | —         |
| `amazon_sd_conquest`    | objective `sponsoredDisplay`; optimization `manual`; billing `legacyForSales`  | `current_code_classified` | `not_certified`      | `account_check_required` | —         |
| `amazon_dsp_display`    | objective `dsp`; optimization `manual`; billing `manual`                       | `current_code_classified` | `not_certified`      | `account_check_required` | —         |
| `amazon_dsp_video`      | objective `dsp`; optimization `manual`; billing `manual`                       | `current_code_classified` | `not_certified`      | `account_check_required` | —         |
| `amazon_dsp_audio`      | objective `dsp`; optimization `manual`; billing `manual`                       | `current_code_classified` | `not_certified`      | `account_check_required` | —         |

## Creative formats

The format state is deliberately narrower than the provider format catalog.
Only `executable` formats have the ordinary provider write and readback path;
`canary_only` formats are restricted to governed proof, and
`catalog_declared` formats are present in current code without a public
ordinary-execution certification claim.
`declared_not_buyer_selectable` formats are not sold through the adapter.

| Format ID                         | Kind                    | State              | Provider shape                                                                                             |
| --------------------------------- | ----------------------- | ------------------ | ---------------------------------------------------------------------------------------------------------- |
| `amazon_sp_product_ad`            | `canonical_code_format` | `catalog_declared` | Declared by the current canonical adapter format catalog; ordinary execution is not certified by this row. |
| `amazon_sb_product_collection`    | `canonical_code_format` | `catalog_declared` | Declared by the current canonical adapter format catalog; ordinary execution is not certified by this row. |
| `amazon_sb_store_spotlight`       | `canonical_code_format` | `catalog_declared` | Declared by the current canonical adapter format catalog; ordinary execution is not certified by this row. |
| `amazon_sb_video`                 | `canonical_code_format` | `catalog_declared` | Declared by the current canonical adapter format catalog; ordinary execution is not certified by this row. |
| `amazon_sd_product_targeting`     | `canonical_code_format` | `catalog_declared` | Declared by the current canonical adapter format catalog; ordinary execution is not certified by this row. |
| `amazon_sd_audiences`             | `canonical_code_format` | `catalog_declared` | Declared by the current canonical adapter format catalog; ordinary execution is not certified by this row. |
| `amazon_sd_video`                 | `canonical_code_format` | `catalog_declared` | Declared by the current canonical adapter format catalog; ordinary execution is not certified by this row. |
| `amazon_dsp_display`              | `canonical_code_format` | `catalog_declared` | Declared by the current canonical adapter format catalog; ordinary execution is not certified by this row. |
| `amazon_dsp_video`                | `canonical_code_format` | `catalog_declared` | Declared by the current canonical adapter format catalog; ordinary execution is not certified by this row. |
| `amazon_dsp_audio`                | `canonical_code_format` | `catalog_declared` | Declared by the current canonical adapter format catalog; ordinary execution is not certified by this row. |
| `amazon_dsp_responsive_ecommerce` | `canonical_code_format` | `catalog_declared` | Declared by the current canonical adapter format catalog; ordinary execution is not certified by this row. |

## Placements

This provider exposes no placement selector that Interchange can map without inventing inventory.

## Targeting

| AdCP dimension | State             | Provider mapping                                                                            |
| -------------- | ----------------- | ------------------------------------------------------------------------------------------- |
| `match_types`  | `surface_present` | Accepted by the current adapter targeting gate; provider eligibility remains account-bound. |

## Reporting

| AdCP output | Provider source           | Notes                                                                                              |
| ----------- | ------------------------- | -------------------------------------------------------------------------------------------------- |
| `delivery`  | `provider reporting task` | A delivery method is callable; exact metric parity and full-lifecycle evidence remain uncertified. |

## Conversion and audience support

* **Optimization:** Product configuration is current-code classified; resource and event eligibility remain account-bound.
* **Event-source setup:** A callable sync\_event\_sources surface exists; provider behavior is not certified here.
* **Event ingestion:** No callable log\_event method is present on current main.
* **Audiences:** No callable audience synchronization method is present on current main.

## Known limits

* Amazon plan has no current valid signed full-lifecycle artifact; its cited legacy harness no longer exists.
* Executable in the direct catalog means current-code classification, not deterministic certification, fresh signed live evidence, or present account eligibility.
* Formats marked catalog\_declared are not claims of ordinary provider write/read support.

## Public review endpoints

* [AAO registry record](https://agenticadvertising.org/api/registry/publisher?domain=amazon.com\&include=placements)
* Staging MCP/AdCP state: `relationship_gated_storefront_id_required`.
* Route template after a storefront relationship supplies its registered platform ID: `https://api.staging.interchange.io/seller/{registered_storefront_platform_id}/mcp`
* No provider-ID-derived URL is published. The shared MCP route requires a registered storefront platform ID assigned to the relationship; the adapter provider ID amazon is not asserted to be that record ID.

The staging endpoint is connection-gated. Its presence here is not an invitation
to send mutating requests without a jointly approved test account and canary window.

## Provider references

* [Amazon Ads public documentation](https://advertising.amazon.com/API/docs/en-us)

## Review questions

If a provider mapping is incomplete or has changed, send the exact product, format, targeting dimension, metric, market, or provider API field that differs. We update the governed contract and add code-owned drift checks where a denominator exists; otherwise the explicit non-enforced provenance gap remains.
