Skip to main content
Card class: HeroCategory: Ad Platform

At a glance

Return on ad spend, the cross-platform-friendly view of the same data Amazon natively reports as ACOS. attributed_sales ÷ ad_spend. ROAS = 100% ÷ ACOS, so a 25% ACOS = 4× ROAS and higher is better. Industry-healthy ROAS sits at 4-6.7× (= ACOS 15-25%). Below 2× is unprofitable for most categories once COGS and Amazon fees are factored in.
The formulaSUM(attributedSales14d) ÷ SUM(cost). Returned as a unitless ratio. ROAS is the inverse of ACOS, the same data, expressed in the convention most cross-platform marketers use.
Reports API endpointPOST /reporting/reports on Amazon Advertising API v3, with reportTypeId per ad type (spCampaigns, sbCampaigns, sdCampaigns). DSP uses a separate Reports API.
ROAS vs ACOS framingSame data, different convention. ROAS = sales ÷ spend (direct). ACOS = spend ÷ sales (inverse). Amazon natively reports ACOS; this card converts to ROAS for cross-platform consistency with Google Ads / Meta. ACOS 25% = ROAS 4×; ACOS 50% = ROAS 2×.
Attribution modelLast-click within Amazon ecosystem only. A click on a Sponsored Product ad attributes to that ad if the same shopper places an order on Amazon within the attribution window. No cross-channel visibility.
Default attribution window14-day click for Sponsored Products / Brands / Display. DSP uses 14-day click + 14-day view. The window is configurable per report request (1d / 7d / 14d / 30d).
Brand vs non-brand keyword scopeCritical and reported separately when keywords are tagged. Branded ROAS commonly 15-25× (very high because the audience was going to buy anyway). Non-branded ROAS 2.5-4× (the real acquisition cost). The blended hero number hides this; cross to Branded vs Non-Branded Spend.
Sponsored Products vs Brands vs Display vs DSPSP (search-result ads, bottom-funnel, highest ROAS). SB (banner search ads, mid-funnel, lower ROAS but with halo). SD (audience-driven product ads). DSP (programmatic display + video, top-of-funnel. ROAS undercounts DSP’s value). Each ad type has its own report endpoint.
CurrencyAccount currency only (set per Amazon Advertising account, locked at marketplace creation). Multi-marketplace = separate accounts.
Amazon-only attribution gapIf a shopper clicks an Amazon ad, leaves Amazon, then buys on the merchant’s DTC Shopify or BigCommerce site later, Amazon never sees the sale and the DTC platform never sees Amazon’s role. The two ecosystems are completely siloed. ROAS understates the ad’s true contribution to the merchant’s combined revenue.
Time window30D vsP (default 30 days vs the prior 30 days). Today is provisional for ~24h; the 14-day click window means today’s ROAS will improve over the next two weeks as late conversions land.
Alert trigger<2 (warn), <1 (critical). <1 means ad spend exceeds ad-attributed sales (loss before any cost-of-goods).
Rolesowner, marketing, finance

Calculation

Calculated automatically from your Amazon Ads data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.

Worked example

A US home-goods seller, same account as the ACOS example. The 30-day window covers 14 Mar 26 to 12 Apr 26.
Campaign groupSpendAttributed sales (14d)ROASEquivalent ACOS
SP, Branded Search$2,800$56,00020.0×5.0%
SP, Non-branded$14,200$43,8003.08×32.4%
SP, Auto Targeting$3,400$11,2003.29×30.4%
SB, Brand Awareness Banner$4,800$9,4001.96×51.1%
SD, Remarketing$1,600$5,8003.62×27.6%
Total (this card)$26,800$126,2004.71×21.2%
What’s interesting:
  1. The blended 4.71× hides huge per-campaign variance. Branded Search at 20× is largely free revenue (people searching the brand name were buying anyway). SB Awareness Banner at 1.96× is below the 2× warn threshold. The hero ROAS is useful as a directional read but ROAS by Campaign is what drives daily decisions.
  2. Branded Search inflates everything. If you exclude branded keywords, the “true acquisition” ROAS drops to about 3.0×. Most agencies reporting ROAS to clients quietly include branded; for honest reads exclude it.
  3. Sponsored Brands at 1.96× looks unprofitable but probably isn’t. SB is mid-funnel awareness; the real value is the organic halo Amazon doesn’t credit. Open Sponsored Brands Halo Effect before pausing SB.
  4. A category-typical break-even ROAS for a 60%-margin product is ~1.7×. At 4.71× the merchant has comfortable headroom; at 2× they’d be in the warning zone; below 1.7× they’d be losing money before overheads.
  5. Prior 30D ROAS was 5.15×, so today’s 4.71× is a modest 8.5% drop. Spend rose ~5% while ROAS fell 8.5%, a directionally normal “scaling beyond the efficient frontier” pattern. Watch ROAS Trend for the 7-day rolling.
Quick sanity tests:
  • ROAS up + spend up = healthy scaling on efficient inventory.
  • ROAS flat + spend up = scaling without losing efficiency. Good.
  • ROAS down + spend up = scaling beyond efficient frontier. Most common cause of an alert.
  • ROAS down + spend flat = something changed in attribution or competitive landscape. Investigate before cutting.
  • ROAS up + spend down = pulled back wisely from low-quality inventory. Good if intended.

Sibling cards merchants should reference together

CardWhy pair it with ROAS
Amazon Ads ACOSThe same data expressed as a percentage instead of a multiple. Use whichever convention your team thinks in.
Amazon Ads Total SpendThe denominator. ROAS up + spend up = healthy scaling; ROAS up + spend down = retreat from low-quality inventory.
Amazon Ads Total RevenueThe numerator. Tells you whether ROAS moved on cost-side or revenue-side.
Amazon Ads ROAS by CampaignHeadline ROAS hides per-campaign variance. Open this before making decisions.
Amazon Ads ROAS TrendDaily series. ROAS is volatile day-to-day; the 7-day rolling is the actionable read.
Amazon Ads TACOSThe strategic complement, “are ads growing the whole pie or just shifting attribution?”
Branded vs Non-Branded SpendBranded ROAS dominates the blended figure; always split.
Sponsored Brands Halo EffectSB ROAS undercounts organic lift. Use this before judging SB on ROAS alone.
Google Ads ROASThe cross-platform paid-acquisition comparison, useful for budget allocation between Google and Amazon.
Shopify Total RevenueThe other half of merchant revenue (DTC). Amazon Ads has zero visibility into Shopify.

Reconciling against the vendor’s own dashboard

Where to look in Amazon Ads Console: Amazon Ads Console > Campaign Manager. Amazon natively reports ACOS, not ROAS. To convert: ROAS = 100% ÷ ACOS. So a Campaign Manager column showing 25% ACOS = 4× ROAS in this card. Amazon Ads Console > Reports > Sponsored Products / Brands / Display, same conversion applies. Some report templates include a derived “Sales/Spend Ratio” which is mathematically identical to ROAS. Amazon Ads Console > Recommendations. Amazon’s optimisation suggestions surface in ACOS terms. Convert as needed. Why our number may legitimately differ from a derived ROAS in Amazon Ads Console:
ReasonDirection of divergenceWhy it happens
Timezone. Amazon Advertising reports use PT (Pacific) regardless of account location. Vortex IQ aligns to PT.None when both are PT-aligned.Amazon’s reporting backend is in Seattle.
Report-generation latency (1-3 hours).Today’s ROAS is provisional for ~24h.Amazon batches report builds; the most recent hours catch up on the next refresh.
ACOS calculation timing. The 14-day click window means today’s numerator continues to land for two weeks.Today’s ROAS will rise over the next 14 days as more attributed sales land.Amazon re-attributes nightly; this card re-pulls every 4 hours.
API rate limits. Amazon Advertising API enforces ~2 requests/sec; large accounts may have stale partials during heavy refresh.Stale by up to 1 refresh cycle (~4h) in extreme cases.The pull is paginated and rate-limited.
Attribution window choice. If Amazon Ads Console is set to a 7-day-window report, ROAS will look lower than this card’s 14d default.This card may show higher ROAS than the Console’s 7d view.The wider window captures more sales against the same spend.
Cross-connector reconciliation:
CardExpected relationshipWhat causes legitimate divergence
amazon_sp.amzn_sp_total_salesAd-attributed sales ≤ Selling Partner Total Sales. The gap is organic.Amazon Ads attribution doesn’t include marketplace organic; Selling Partner reports the whole order.
google_ads.gads_roasNo relationship. Separate ecosystems.Don’t try to add the two; the audiences are mostly disjoint. Treat as independent budget lines.
google_analytics.ga_revenue_by_channelAmazon traffic on the merchant DTC site shows in GA4 as referral source amazon.com. This is incremental DTC revenue Amazon Ads does NOT see.The Amazon-only attribution gap.
shopify.total_revenueNo direct relationship. Different sales channel.Don’t compare.

Known limitations / merchant FAQs

ROAS vs ACOS, which one should I use? Same data, different convention. ROAS = sales ÷ spend (a multiple, higher is better). ACOS = spend ÷ sales (a percentage, lower is better). Convert with ROAS = 100% ÷ ACOS. Amazon natively shows ACOS, this card converts to ROAS for cross-platform consistency with Google Ads / Meta. Pick whichever your team already thinks in. My ROAS is 5× and my finance team says I’m losing money, who’s right? Probably finance. Amazon’s attributedSales14d is gross revenue, before COGS, Amazon fees, FBA fulfilment, returns, and overhead. A 5× ROAS on 60% gross margin and 15% Amazon fees gives you a contribution margin of roughly 1.4×, marginally profitable. The rule of thumb: divide ROAS by 2 to get a rough “true contribution multiple” for typical Amazon FBA economics. Why is my Branded Search ROAS 20×+? People searching for your exact brand name were going to buy anyway. Branded Search captures ~70-90% of that intent for cheap clicks. Branded ROAS is a poor measure of paid-acquisition health, you’re not really acquiring those customers, you’re paying Amazon to defend them. The “true acquisition” ROAS uses non-branded campaigns only. My ROAS dropped 30% overnight, what should I check? In order of likelihood: (1) Attribution-window settling. The 14-day click window means yesterday’s number isn’t final yet; check again in 48-72 hours. (2) Promo-period rollover. ROAS during a Lightning Deal rolls into “normal” the day after; sales attribution catches up unevenly. (3) Competitor entered the auction. Check CPC Trend for sudden spikes. (4) ASIN went out of stock. Check Active Ads on Out-of-Stock SKUs, zero conversion against continuing spend. (5) Buy Box loss. Check Active Ads on No-Buy-Box ASINs. Should I optimise for ROAS or for total ad-attributed revenue? Depends on your phase. Profitability-constrained: optimise for ROAS. Growth-focused with profitable unit economics: optimise for absolute attributed sales volume. ROAS will compress as you scale into less-efficient inventory but total profit grows. The right answer is rarely “highest ROAS”; usually it’s “highest ROAS subject to spending the budget”. Why doesn’t my Amazon Ads ROAS match my Google Ads ROAS? Different ecosystems. Amazon Ads only sees clicks-to-purchases inside Amazon; Google Ads only sees clicks on Google properties. The audiences barely overlap (Amazon shoppers are bottom-funnel intent; Google PMax/Search audiences are broader). Don’t try to combine the two, treat them as separate channels with separate ROAS targets. Can I trust today’s ROAS? Less than the 7-day rolling. ROAS for today is built from incomplete data, the 14-day click attribution window means today’s numerator continues to grow for two weeks. Don’t restructure campaigns based on a single day’s ROAS; the 7-day rolling is the most actionable. Multi-marketplace, how does ROAS work? Amazon Advertising accounts are single-marketplace by design. Multi-marketplace sellers run separate accounts per marketplace. Each account reports ROAS in its own currency. This card is per-account. My ROAS-target playbook? The merchant heuristic: target_ROAS ≥ 1 ÷ (gross_margin × (1 - desired_profit_margin)). So if gross margin is 60% (after Amazon fees) and you want 10% net profit, target ROAS is 1 ÷ (0.6 × 0.9) = 1.85× minimum. Below that, you’re losing money. If gross_margin × (1 - 1/ROAS) > 0, the campaign is contribution-positive and worth scaling.

Tracked live in Vortex IQ Nerve Centre

ROAS is one of hundreds of KPI pulses Vortex IQ tracks across Amazon Ads and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English. Start for free or book a demo to see this metric running on your own data.