Brand-wide ad spend — the Sponsored Brands campaigns that promote the store rather than one product, so the product views exclude them. Ads data only: no fees, COGS or profit. Revenue is ad-attributed sales (14-day window), so ACOS = Ads ÷ Revenue.
[[ scopeHelp ]]
backfill_currency_gaps.py to fill the gap.
All markets · [[ result.start ]] → [[ result.end ]] · converted to USD at each week's average rate
| Market | Week | Ads | Ads / Day | Sold Ads | Revenue | Clicks | ACOS |
|---|---|---|---|---|---|---|---|
| [[ i === 0 ? m.marketplace : '' ]] | [[ w.label ]] | [[ cur(m.currency) ]][[ fmt(w.ads) ]] | [[ cur(m.currency) ]][[ fmt(w.ads_per_day) ]] | [[ w.sold_ads.toLocaleString() ]] | [[ cur(m.currency) ]][[ fmt(w.revenue) ]] | [[ w.clicks.toLocaleString() ]] | [[ pct(w.acos) ]] |
| SUM · [[ m.currency ]] | [[ cur(m.currency) ]][[ fmt(m.sum.ads) ]] | [[ cur(m.currency) ]][[ fmt(m.sum.ads_per_day) ]] | [[ m.sum.sold_ads.toLocaleString() ]] | [[ cur(m.currency) ]][[ fmt(m.sum.revenue) ]] | [[ m.sum.clicks.toLocaleString() ]] | [[ pct(m.sum.acos) ]] |
Amounts are in each marketplace's native currency, as everywhere else in the dashboard. Sold Ads and Revenue use Amazon's 14-day attribution window and keep growing for ~14 days after the click, so the newest weeks read low.
Unattributed ad spend in this period, by portfolio
| Market | Portfolio | Ads (native) | Sold Ads | Revenue | In this view |
|---|---|---|---|---|---|
| [[ b.marketplace ]] | [[ b.portfolio ]] | [[ fmt(b.ads) ]] | [[ b.sold_ads.toLocaleString() ]] | [[ fmt(b.revenue) ]] | [[ b.in_scope ? 'included' : 'excluded' ]] |
Every portfolio with no ASIN in its name, plus campaigns matching no product at all. Nothing here appears on any product page — switch Scope to “All unattributed spend” to include the lot, in which case product spend plus this view accounts for every advertising dollar.