Winner Strip

Amazon MCP Async Reporting Explained: Why Performance Data Takes 30 Minutes and What Advertisers Should Do Instead

Amazon MCP Async Reporting Explained: Why Performance Data Takes 30 Minutes and What Advertisers Should Do Instead


TL;DR

Amazon MCP workflows can handle campaign-management operations directly, while applicable performance-reporting requests use Amazon Ads API’s asynchronous reporting workflow.

Async means the system does not wait around to answer you directly. It accepts your request, queues the work, processes it separately, and makes the result available when it is ready: like ordering food at a counter and being called when it is done rather than watching it cook.

The two-step flow: (1) create_campaign_report submits a report job and returns a report ID. (2) retrieve_report checks whether the job is done. If it is, you get data. If not, check again later.

Amazon Ads API uses asynchronous processing for applicable reporting workflows, where a report request is submitted first and the completed report is retrieved once processing finishes. Some Amazon Ads performance data is accessed through asynchronous reporting workflows rather than being returned in the initial request.

Three workarounds: restructure your MCP sessions so you submit reports first and read them last; use Amazon Marketing Stream for closer-to-live hourly data; or use a pre-processed data layer for instant, governed answers.

 

Amazon MCP uses asynchronous reporting for performance data. This means when you ask an AI tool connected through MCP to retrieve campaign metrics: spend, ROAS, ACoS, impressions, conversions, the request enters Amazon's report generation queue and is processed in the background. The AI receives a report ID immediately, but the actual data is not available until the report job completes. The report is processed asynchronously and becomes available after processing finishes.

This is different from synchronous data, which returns immediately in the same response. Amazon MCP does not offer synchronous performance reporting. It is designed this way because Amazon's advertising performance data is aggregated from millions of events across its network and cannot be queried directly in real time.

Actions executed through Amazon MCP: creating campaigns, adjusting bids, pausing keywords, are synchronous and return results instantly. Only reporting is asynchronous.

 

You connect your AI tool to Amazon Ads through MCP, type a natural-language question: "Show me which campaigns wasted money last week," and the AI confidently replies that it has submitted a report request. It will be ready in approximately 15 minutes.

That is not a bug. That is not a slow server. That is how Amazon MCP's reporting works, by design, and it surprises almost every advertiser who encounters it for the first time: because every other part of MCP responds instantly.

Tell the AI to pause a keyword? Done in seconds. Create a new campaign? Launched. Change a bid? Applied. But the moment you ask it to tell you something about performance: ROAS, ACoS, which search terms are bleeding budget, the experience shifts entirely. The request goes into a queue. You wait.

Understanding why this happens, and more importantly, what to do about it, is the difference between using MCP effectively and spending half your sessions staring at a loading indicator.

 

 


The async delay is not Amazon being slow. It is Amazon being honest about what it takes to aggregate performance data at the scale it operates. The question for advertisers isn't whether to accept the delay: it's how to build around it so the delay stops blocking your workflow.

— Meher Patel, Founder & CEO of Hector AI and Top 20 Amazon Ads Partner Globally

 

The One Distinction That Changes How You Use Amazon MCP

Campaign Management and Reporting Follow Different Workflows

Amazon MCP has two completely different speed profiles depending on what you are asking it to do.

Campaign-management actions such as creating, pausing, or updating campaigns can be executed without going through the asynchronous report-generation workflow. This instant execution applies across all Amazon Sponsored Ads formats: Sponsored Products, Sponsored Brands, and Sponsored Display. The AI confirms it, and it is done.

If you are asking it to tell you something about past performance: how campaigns performed, which keywords converted, what the spend breakdown was: that request goes through Amazon's asynchronous report generation system. This is a completely different path, with a completely different waiting time.

Why This Split Matters More Than It Sounds

Most advertisers who try MCP do so expecting a live dashboard experience in conversational form. They imagine asking questions and getting answers the way they would in a chat. That works perfectly for account structure questions: "How many active campaigns do I have?" or "Is this keyword in the account?" Those rely on campaign configuration and account-management information that can be accessed through Amazon Ads campaign-management capabilities without generating a performance report. 

Performance analysis is different. "What was my ROAS last week?" "Which keywords had the highest ACoS in the last 14 days?" These require Amazon to aggregate millions of impressions, clicks, and conversion events across your account, apply attribution logic, and structure them into a usable report. That process takes time: not because Amazon is failing, but because the task genuinely requires it.

What Async Actually Means: Without the Jargon

The Restaurant Kitchen Model

Imagine ordering food at a busy restaurant counter. You place your order. The cashier accepts it, gives you a number, and says, "We'll call you when it's ready." You step aside, the kitchen works on it, and eventually your number is called, and you collect the food.

Nobody expects the food to appear the moment they finish ordering. The kitchen needs time to prepare it. That is not a flaw in the system: it is how the kitchen works at scale.

Amazon's async reporting works the same way. You submit the request (place the order). Amazon's systems work on it in the background (the kitchen prepares it). When it is done, the data is available for you to collect (your number is called). The difference is that with async reporting, you have to come back and check rather than being called directly, unless the system is set up to notify you.

Sync vs Async in Plain Terms

 


Synchronous (sync)

Asynchronous (async)

How it works

You ask → You wait → You get the answer in the same step

You ask → You get a ticket → You come back later → You collect the answer

Response time

Depends on the operation and workflow

The report is processed asynchronously and becomes available after processing finishes.

Example in MCP

Campaign-management operations that do not require an asynchronous performance report

Requesting campaign ROAS, pulling a search term report

Why does it work this way

Campaign configuration and account-management operations use campaign-management capabilities, while applicable performance reports use asynchronous report generation

Performance data must be aggregated and compiled first

User experience

Campaign-management operations can proceed without waiting for an asynchronous performance report

Interruptive: you must do something else while waiting

 

Inside the Two-Step Flow: create_campaign_report and retrieve_report

Step 1: Submit the Report Request (create_campaign_report)

When an AI tool connected through MCP asks for performance data, it calls the create_campaign_report tool. This tool submits a report job to Amazon's reporting system and immediately receives back a report ID: a reference number for that specific report job.

The AI now has a ticket, but not the data. It knows the report has been queued. It does not know when the report will be done. The report ID is the equivalent of your restaurant table number: proof you ordered, a placeholder for what is coming.

Step 2: Come Back Later and Collect It (retrieve_report)

To collect the data, the AI calls retrieve_report with the report ID it received in step one. This checks the status of the report job. If the job is still running, the response will say so: the data is not ready yet. If the job has completed, the response contains the report data.

In practice, this means an AI session that needs performance data has to either wait and poll (check repeatedly until the status changes) or submit reports at the beginning of a session and retrieve them later in the same session, after enough time has passed for them to complete.

Why a Simple Question Can Take 30 Minutes

A question that feels simple: "what were my top 10 keywords by spend this week?": requires Amazon to pull all impression and click data for your account across the requested date range, apply your account's attribution model, aggregate spend by keyword, sort and structure the output, and make it available through the API. At Amazon's advertising scale, even a single account's weekly data involves many millions of events.

Simple reports (a single campaign, a short date range) often come back in 5 to 10 minutes. Complex reports (all keywords across all campaigns for 30 days) can take 20 to 30 minutes or longer. Some jobs stall in the queue and take longer still. The delay is not random; it scales with the complexity and volume of the request.

Why Amazon Designed It This Way

The Scale Problem: Millions of Data Points, Not Dozens

Amazon's advertising network processes an enormous volume of ad events every day: impressions, clicks, conversions, and attribution data across millions of sellers, billions of product listings, and multiple ad formats. Amazon Ads uses asynchronous report generation for applicable performance-reporting workflows, with the completed report retrieved separately after processing.

Amazon Ads API uses asynchronous processing for applicable reporting workflows, while other Amazon Ads services, such as Amazon Marketing Stream, provide more frequent access to supported advertising data. The async design is not a workaround: it is a deliberate match between the architecture and what the data pipeline can realistically deliver.

Why Performance Data Is Not the Same as Account State

There is a useful distinction here: account state and performance data are stored and accessed very differently. Campaign configuration operations use Amazon Ads campaign-management capabilities rather than the asynchronous report-generation workflow used for applicable performance reports. That is why creating a campaign or changing a bid through MCP is instant.

Applicable performance-reporting requests follow Amazon Ads' asynchronous reporting workflow, where reports are generated and subsequently retrieved. Querying it requires running a report job, not reading a live record. The async delay reflects this architectural difference, not slowness in the engineering.

The Real Cost of the Delay: and When It Matters

When 30 Minutes Does Not Matter at All

If your goal in an MCP session is primarily execution: launching a new campaign, pausing underperforming keywords, adjusting bids, expanding to a new marketplace, the async delay is essentially irrelevant. These campaign-management actions do not require advertisers to wait for an asynchronous performance report before the action can be submitted. 

For execution-heavy workflows, MCP's async reporting limitation has almost no practical impact. The delay only becomes a problem when the session depends on reading performance data before deciding what to do next.

When It Matters a Lot

The delay becomes costly in two specific situations. The first is when you want to use MCP as a live analytics interface: asking performance questions, getting answers, making decisions based on those answers, all in a single conversational session. The async wait breaks that flow every time a data question is asked.

The second is when the data that eventually arrives is itself incomplete. Amazon's performance data does not settle immediately after events occur. Conversion attribution, in particular, continues to update for days after a click.

18.75%+

Growth in attributed sales figures from Day 1 to Day 17 for the top 5% of Amazon campaigns

Optmyzr, March 2026: analysis of 14,991 campaigns


This means that a report pulled through MCP immediately after a campaign runs shows data that may materially undercount the actual conversions that will eventually be attributed. Acting on early async report data: cutting a campaign that looks unprofitable on Day 1 can mean cutting something that would have shown strong results by Day 10. The async delay is the first problem; data recency is the second.

Three Practical Approaches for Advertisers Who Cannot Wait

Approach 1: Restructure Your MCP Sessions

The simplest fix requires no new tools. If you know an MCP session will include performance data queries, submit all report requests at the very beginning of the session, before doing anything else. While you work through execution tasks: reviewing account structure, making bid changes, checking keyword lists, the report jobs are running in the background.

By the time you are ready to analyse performance, the reports may already be done. A session structured as: submit reports → execute changes → retrieve reports makes the async wait invisible rather than a blocking interruption in the middle of analytical work.

A Session Template That Works With Async

Open: Submit all performance report requests (create_campaign_report for each metric or campaign group you need). Note the report IDs.

Middle: Execute any account changes: bid adjustments, campaign launches, keyword updates, budget changes. These are instant.

Close: Retrieve the reports (retrieve_report with each ID). By now, 20-30 minutes have typically passed, and the reports are ready.

Review and decide: Analyse the report data and make any additional execution decisions that the data prompts.

This structure turns async waiting from a blocking delay into a parallel workflow. The work happens simultaneously rather than sequentially.


Approach 2: Use Amazon Marketing Stream for Closer-to-Live Data


Amazon Marketing Stream provides near-real-time access to supported advertising data through supported AWS delivery options. Updates arrive with some hours' latency rather than minutes, and data is pushed to you rather than requiring you to request it each time.

This is not live data: it is significantly fresher than standard async reports, but still not real-time. It also requires data engineering infrastructure to receive, store, and query the incoming data from S3. Marketing teams without developer support cannot implement this independently. For teams with engineering resources, it is the most practical way to get closer to current data than standard async reporting provides.

Approach 3: Use a Pre-Processed Data Layer for Instant Answers

The most complete solution to async delays is not to use MCP's reporting tools for analysis at all. A pre-processed data layer: a structured data warehouse that continuously ingests Amazon advertising data, computes metrics with the correct business logic, and makes them instantly queryable: completely bypasses the async mechanism.

When an AI tool is connected to a pre-processed layer rather than raw MCP reporting, performance questions return in seconds rather than 30 minutes, because the computation has already been done. The data is current as of the last warehouse refresh cycle (typically every few hours) rather than real-time. Still, it is infinitely more accessible than waiting for each job report individually.

Platforms like Hector Ai are built around this architecture: a pre-processed data warehouse that AI tools can query instantly for campaign performance, diagnostic analysis, and strategic decisions, while MCP handles the execution layer where speed is native. Unlike standard Amazon PPC software that still relies on async API calls for every data request, Hector processes and stores the data continuously so queries resolve in seconds. The two functions work together rather than trying to use one system for both.

Frequently Asked Question

Because applicable Amazon Ads performance-reporting workflows use asynchronous processing, a report request is submitted first, and the completed report is retrieved after processing finishes. Most simple reports take 5 to 15 minutes; complex queries across multiple campaigns or long date ranges can take 20 to 30 minutes or longer. This is an architectural design, not a bug: the data genuinely requires that time to aggregate at Amazon's scale.

Performance queries that rely on Amazon Ads' asynchronous reporting workflows require the corresponding report to be generated before the results can be retrieved. This goes through the async reporting pipeline via create_campaign_report and retrieve_report. The report is processed asynchronously and becomes available after processing finishes. Performance metrics, including ROAS, ACoS, and spend, are always async.

Synchronous (sync) means a request returns data in the same step: you ask and you immediately receive the answer. Asynchronous (async) means you submit a request, receive a ticket (report ID), and must come back later to collect the result. Amazon Ads MCP supports different workflows depending on the requested operation. Performance queries that depend on asynchronous Ads API reporting require report generation before the completed data can be retrieved. Campaign-management operations and asynchronous reporting workflows can have different processing paths and response characteristics.

create_campaign_report is the Amazon MCP tool used to submit a performance report job. When called, it registers a report request with Amazon's reporting system, specifies the report type, date range, and metrics required, and returns a report ID. This ID is used in a subsequent call to retrieve_report to check whether the report has finished processing and, if so, to collect the data. The two tools always work together: create_campaign_report starts the job; retrieve_report collects it.

Amazon Ads MCP supports different workflows depending on the requested operation. Performance queries that rely on Amazon Ads' asynchronous reporting workflows require the corresponding report to be generated before the results can be retrieved. Amazon Marketing Stream, a separate Amazon Ads service, provides near-real-time access to supported advertising data through supported AWS delivery options.

Post Comments

Book A Demo