Using MerchDash

Accumulated ASINs & keywords

See each ASIN or keyword summed across all of its campaigns.

Amazon reports performance per campaign. The Accumulated reports roll that up the other way, by the thing that actually matters:

  • Accumulated ASINs sums each advertised ASIN's performance across every campaign it runs in.
  • Accumulated Keywords sums each keyword (with its match type) across every campaign and ad group it appears in.

These are durable reports generated in the background; a date range, search, the same query language, and sorting all run over the sheet. Expand any row to break it down per campaign and ad group.

Accumulated ASINs report: a ready report of 289,006 ASINs with columns for ASIN, SKU, campaigns, ad groups, impressions, clicks, spend, orders, and units.
Accumulated ASINs, every ASIN summed across all of its campaigns.

What it is for

A keyword can look fine in one campaign and be a disaster across ten; an ASIN can quietly eat budget across many small campaigns. Accumulated views expose exactly that, and their row selections feed bulk actions like “negate this keyword everywhere it delivered” or “pause this ASIN in every campaign.”

Is this still running?

A report covers a date range, so it lists everything that delivered in that range, including ASINs and keywords you have since switched off. The Status column says which is which, as Active (3) and Paused (5). On Accumulated ASINs that counts the ASIN's ads; on Accumulated Keywords it counts the keyword's instances, the individual keyword rows it has in each ad group. Either counts as active only when all three levels are enabled: its campaign, its ad group, and the ad or keyword itself. The Campaigns column (and Ad groups on the keyword report) adds the same split, e.g. 8 (3 active).

Tick Active only above the table to hide the rows with nothing left running. Each report remembers its own setting, and it filters the sheet you already generated, so there is no need to regenerate. Expanding a row shows Campaign state and Ad group state per placement, which is where you see why something stopped; with Active only on, the placements that can't deliver are hidden and counted underneath.

The same thing is available in the query box. On ASINs: LIVE_ADS, PAUSED_ADS, LIVE_CAMPAIGNS, PAUSED_CAMPAIGNS and ASIN_STATE, for example ORDERS = 0 AND LIVE_ADS > 0 for the ASINs that are still spending without selling, or PAUSED_ADS > 0 AND LIVE_ADS > 0 for the ones that are only partly switched off. On Keywords the same fields read LIVE_KEYWORDS, PAUSED_KEYWORDS, LIVE_CAMPAIGNS, PAUSED_CAMPAIGNS, LIVE_AD_GROUPS, PAUSED_AD_GROUPS and KEYWORD_STATE.

A sheet that shows N/A. Reports generated before MerchDash recorded status carry no counts at all, so Status reads N/A, the count columns show no active split, and Active only has nothing to filter on. The counts can only come from the aggregate, so the report panel offers Fill in status: it rebuilds the sheet over the same timeframe and state scope, no need to re-pick the range, and fills them in.

Which ad product an ASIN's ads belong to

On Accumulated ASINs, Ads splits into two more columns, and they do not answer the same question, that is a property of Amazon's data, not a choice.

  • SP ads is the Sponsored Products share of Ads: ads that delivered in the report's date range. What is left over is Sponsored Display.
  • SB ads is a snapshot: Sponsored Brands ads whose creative features this ASIN right now. It is not part of Ads, and it is not measured over the date range, because Amazon publishes no per-ASIN reporting for Sponsored Brands at all, one Sponsored Brands creative can carry several ASINs, so a click is never attributed to one of them.

The consequence is worth keeping in mind: none of the spend, sales, clicks or ACOS on an ASIN row includes Sponsored Brands. A row can read SB ads: 3 next to metrics that contain no Sponsored Brands activity whatsoever. Both columns are in the query box as SP_ADS and SB_ADS, and both are available to automation as spAds and sbAds.

An ASIN advertised only in Sponsored Brands does not get a row here at all: the row set comes from the report that Sponsored Brands has no entry in.

When these read N/A. Reports generated before the split existed show N/A rather than 0, claiming an ASIN has no Sponsored Products ads would be false for very nearly every row. SB ads also reads N/A until a sync has listed the profile's Sponsored Brands ads for the first time; after that, a genuine 0 means what it says. Generating a new report fills both in.
The two exceptions. CAMPAIGN_STATE and AD_GROUP_STATE work differently from every other field, on both reports: they change what gets summed (delivery in campaigns or ad groups of another state is excluded from the row's totals entirely), so they can only be applied when the report is generated, not to a finished sheet. Set them before you press Generate. Everything else on this page, Active only included, filters the sheet you already have.

Using it in a rule

The same rollup is available to automation, so a rule can decide on an ASIN or keyword's accumulated performance instead of what it did in one campaign. Add a CREATE ACCUMULATED KEYWORD REPORT IN LAST 60 DAYS line (or ASIN) above the loop and iterate it with FOR EACH accumulated_keyword:. Its actions fan out the way the bulk buttons here do, pauseEverywhere(), negateEverywhere(), setBidEverywhere(). Active only behaves as it does here, except that in a rule it is on by default; write # ACTIVE ONLY above the CREATE line to say so explicitly, or # INCLUDE PAUSED ASINS to switch it off. Full syntax on the language page; ready-made examples in the cookbook.

One thing the keyword report can be behind on. A keyword's own state comes from the periodic state sweep, so a keyword you pause directly in the Amazon console keeps counting as active until that sweep next runs. Pauses made in MerchDash, a rule, a bulk pause, an edit on the Campaigns page, update the sheet straight away, as do campaign and ad-group changes picked up by any sync.