Ad reports

Performance for every ad type — from your synced ad reports instantly, or a fresh report from Amazon when you need one — plus brand metrics.

In short

Most ad questions are answered from your synced Sponsored Products, Brands and Display reports in seconds. When you need a report shape that is not synced, your agent requests it from Amazon, waits for it and reads the rows.

Two ways to get the numbers

Ask your synced reports first

Campaign, ad group, keyword, target, search-term and placement reports sync on a schedule. query_report_data filters and totals them instantly — "SP campaigns with ACoS above 40% last month" never waits on Amazon. The tables are listed on the Data tab.

Request a fresh report when you need one

ads_create_async_report asks Amazon for a report with the columns, grouping and dates you choose. Amazon builds it in the background; ads_get_async_report checks the status and returns the rows when it is complete.

Brand metrics

ads_generate_brand_metrics_report and ads_get_brand_metrics_report return brand awareness and consideration KPIs — also built in the background.

Try asking

"Generate a Sponsored Products campaign performance report for last month."

"From the last 30 days of search terms, find the converting ones I'm not targeting yet."

"Show me my brand metrics report."

A fresh report, both ways

MCP — you ask: "Get last month's Sponsored Products campaign report." Your agent calls ads_create_async_report, then polls ads_get_async_report until it is done.

In an AI client (MCP)

tools/call
{
  "name": "ads_create_async_report",
  "arguments": {
    "store": "myStore-US",
    "countryCode": "US",
    "body": {
      "name": "SP campaigns last month",
      "startDate": "2026-09-01",
      "endDate": "2026-09-30",
      "configuration": {
        "adProduct": "SPONSORED_PRODUCTS",
        "reportTypeId": "spCampaigns",
        "format": "GZIP_JSON",
        "groupBy": [
          "campaign"
        ],
        "columns": [
          "campaignName",
          "impressions",
          "clicks",
          "cost",
          "sales14d"
        ],
        "timeUnit": "SUMMARY"
      }
    }
  }
}

From code (Tool API)

curl -X POST https://api.sellersheetai.com/api/v1/tools/ads_create_async_report \
  -H "Authorization: Bearer $SELLERSHEET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"store":"myStore-US","countryCode":"US","body":{"name":"SP campaigns last month","startDate":"2026-09-01","endDate":"2026-09-30","configuration":{"adProduct":"SPONSORED_PRODUCTS","reportTypeId":"spCampaigns","format":"GZIP_JSON","groupBy":["campaign"],"columns":["campaignName","impressions","clicks","cost","sales14d"],"timeUnit":"SUMMARY"}}}'
Early access — the Tool API is open on request, contact us.

Tools on this page

ToolAccessWhat it does
query_report_datareadQuery the synced report warehouse (rpt_* tables) — rows without calling Amazon.
ads_create_async_reportreadRequest an Amazon Advertising performance report (async — not immediately available; poll with ads_get_async_report until status=COMPLETED, then read data.report rows).
ads_get_async_reportreadPoll an Amazon Advertising report's status; auto-downloads and returns the rows in data.report once status=COMPLETED.
ads_generate_brand_metrics_reportreadRequest a Brand Metrics report — your brand's shopper-funnel metrics in a category against category peers (engaged-shopper rate, customer conversion rate, new-to-brand customer rat
ads_get_brand_metrics_reportreadPoll a Brand Metrics report; when the server sees it finished, the same call also downloads the file, so there is no separate download step.

FAQ

Synced or fresh?

Synced for anything over a date range — it is instant and does not use Amazon's rate limits. Fresh when the shape you need is not synced. See Synced reports.

How far back can a fresh report go?

Most Ads report types look back at most 95 days.

Is there a skill for this?

Yes — the amazon-ads skill carries ready-made report request bodies. See Install the skills.

On this page

Actions

View as Markdown

Ask an assistant

Ask ChatGPTAsk Claude