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

# Measuring Results

> How Amazon reports what ads did, the traps in that reporting, and the accounts and data we read

Amazon's numbers for an ad keep changing for about a week after the click: orders are credited days later, and spend is restated, sometimes downward. A day read too early looks worse than it was, so every number we read about ad results either waits for the day to settle or corrects for its age.

## What counts as an ad's order

Amazon credits an order to an ad when the shopper clicked the ad and then bought within a fixed **attribution window**: the number of days after the click during which a purchase still counts. Amazon credits the order to the last ad clicked (last touch).

* **Windows.** Amazon reports purchases and sales in 1, 7, 14 and 30 day windows. Its default is about 7 days for Sponsored Products and 14 days for Sponsored Brands and Sponsored Display. Sponsored Brands publishes no 7-day figure at all, only 14 days, so an account that runs Sponsored Brands mixes two windows in any total.
* **Other products count too.** Amazon's default 7-day figure also credits purchases of the advertiser's other products bought after the click, not only the product in the ad. On one account this blended figure read 9% fewer purchases than the 30-day figure for the same days, and a return on ad spend computed from the advertised product's own sales undershot all 14 figures of a hand-checked audit.
* **One order, one ad.** The last ad clicked gets the whole order. Amazon Marketing Cloud is the one place where we can see the full path of ads a shopper saw and clicked (see below).

## Orders arrive late

A click's order can be credited days after the click, so a recent day always shows fewer orders than it will end with.

* Purchases reach 99% of their final 7-day count 5 to 6 days after the click, on every placement.
* A day read at age 2 understates its settled 7-day purchases by 8 to 10.5%. Reports frozen at about 48 hours understated settled purchases by 12 to 14%, and sales by 11 to 14%.
* Clicks and spend barely move after the day ends (at most 1%), so a young day's cost is right while its orders and sales are low. Its conversion rate and return on ad spend therefore read low.

This is why we let each day's numbers settle, and correct for orders that arrive late, before judging results.

> [!WARNING]
>
> Never compare a young day's conversion rate or return on ad spend with a settled day's. The young day will look worse even when nothing changed.

## Spend is restated, sometimes below zero

Amazon restates its hourly traffic after the fact. Over 35 days on our accounts, the corrections netted to about −1% of spend. The net is the right number, so we sum corrections rather than drop them.

Before an account subscribes to Amazon's hourly stream, Amazon can still send scattered corrections for earlier days, and they are negative. On one account the stream summed to a small negative total in a month with real spend. So a day with no data in the stream means we have no data, never that the account spent nothing.

## Ratios over a period

Every ratio we show over a period (a week, a month, a group of products) is computed from the period's totals: total ad spend ÷ total ad sales for ACOS, total ad sales ÷ total ad spend for ROAS, total spend ÷ total clicks for CPC. We never average daily or per-product ratios, which would let a quiet day or a small product weigh as much as a busy one.

* **Spend with no sales.** Spend over zero ad sales shows as an infinite ACOS, and spend over zero total sales as an infinite TACOS, not as a blank: those are the products wasting the most money.
* **TACOS mixes two feeds.** Its spend comes from the ads data and its total sales from the Selling Partner API, which arrive on different schedules. Our totals divide sums over only the days that have both, so a day still missing its sales does not inflate TACOS.
* **Change against the previous period** is (current − previous) ÷ previous for amounts. For a metric that is already a percentage, such as TACOS, we show the change in percentage points, so a move from 10% to 12% reads +2.0 pt, not +20%.

## The data we read

| Feed | What it gives us | Timing |
| - | - | - |
| `Amazon Marketing Stream` | Impressions, clicks, spend and attributed orders for Sponsored Products, Brands and Display, per hour, plus budget usage | Hourly, then restated and topped up with late orders |
| `Ads API reports` | The search-term report: every search that triggered our ads, per day, for all three ad products | Daily, up to 15 months back, re-read as orders settle |
| `Selling Partner API` | Catalog, listings, prices, Amazon fees, inventory and orders, and each product's total daily sales and traffic | Daily |
| `Brand Analytics` | Search Query Performance and search frequency rank (see [Demand and Markets](https://www.laurence.com/docs/amazon/demand-and-markets.md)) | Search Query Performance weekly, monthly and quarterly; search frequency rank daily |
| `Amazon Marketing Cloud` | Event-level ads and retail data for every ad product and the DSP, joined per shopper; results come out only in groups of about 100 shoppers or more | Queries take 15 minutes or more; 13 months of ads, up to 5 years of retail on a paid dataset |

## Accounts and registrations

The accounts a customer connects, and the registrations Laurence holds as an Amazon partner:

| Entity | What it is |
| - | - |
| `Amazon Selling Partner account` | A seller's or vendor's Amazon account, read through the Selling Partner API (SP-API). It provides catalog, listings, prices, Amazon fees, inventory and orders: the inputs to each product's margin and order value. "SP" here means Selling Partner, not Sponsored Products. |
| `Seller Central` | The web console where a seller manages listings, inventory, pricing, orders and reports. Vendors use Vendor Central instead; the Selling Partner API serves both. |
| `Amazon Ads account` | The advertising account, separate from Seller Central. It holds one or more advertising profiles; a customer authorizes all of them when connecting through the Amazon Ads API. |
| `Amazon Ads profile` | One advertiser in one marketplace (country), of type seller, vendor or agency. Every campaign, keyword and report belongs to a profile, every bid we write goes to one. |
| `Amazon Marketing Cloud (AMC)` | Amazon's clean room: event-level data across Sponsored Products, Brands, Display, the DSP and retail, joined on a pseudonymous shopper id, with aggregated output only. |
| `Amazon DSP` | Amazon's demand-side platform for programmatic display and video ads on Amazon and elsewhere, bought outside the Sponsored Ads auction. |
| `Amazon Solution Provider Portal` | The Amazon Ads partner portal where Laurence, as a registered ad-tech solution provider, manages its Amazon Ads API application and the advertiser accounts that have authorized it. |
| `Amazon Developer Profile` | Laurence's registered developer identity for Amazon's APIs, including the Selling Partner API application and its granted data roles. |
| `Amazon Partner Network account` | Laurence's account in Amazon's partner program, which lists us as an approved third-party solution. A brand invites it into Seller Central with access to its ads console and Brand Analytics. |

## What we have measured

| Fact | Evidence | Source |
| - | - | - |
| Purchases and sales are reported in 1, 7, 14 and 30 day windows | `Amazon-documented` | Amazon Marketing Stream conversion data |
| The default window is about 7 days for Sponsored Products and 14 for Sponsored Brands and Display | `Amazon-documented` | Ads API search-term reports |
| Sponsored Brands publishes no 7-day figure, only 14 days | `Amazon-documented` | Amazon Ads reporting |
| Amazon credits an order to the last ad clicked | `Amazon-documented` | Amazon Marketing Stream attribution |
| The default 7-day figure includes purchases of the advertiser's other products; it read 9.1% fewer purchases than the 30-day figure | `Measured` | One account, Apr 28 to Jun 30 2026 |
| Return on ad spend from the advertised product's own sales undershot all 14 figures of a hand-checked audit | `Measured` | One account's audit, Jul 4 2026 |
| 7-day purchases reach 99% of their final count 5 to 6 days after the click | `Measured` | Two accounts, every placement, Jul 2026 |
| A day read at age 2 understates its settled 7-day purchases by 8.1 to 10.5% | `Measured` | Two accounts, Jul 2026 |
| Reports frozen at about 48 hours understated settled purchases by 12 to 14% and sales by 11 to 14%; clicks and cost moved at most 1% | `Measured` | Two accounts, Aug 3 2026 |
| Hourly traffic is restated: corrections netted to about −1% of spend | `Measured` | Our managed accounts, 35 days to Aug 4 2026 |
| Corrections before an account subscribes to the hourly stream are negative | `Measured` | One account, Aug 2026 |
| AMC drops any result group with fewer than about 100 shoppers | `Amazon-documented` | Amazon Marketing Cloud |
| A ratio over a period is the period's totals divided, never an average of daily or per-product ratios | `Our convention` | Our reports |
| Spend over zero sales shows as an infinite ACOS or TACOS, not a blank | `Our convention` | Our reports |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.