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

# Amazon Ads audit profile, Vortex IQ

> What the Vortex IQ Amazon Ads health audit checks: Amazon Ads: Spend Efficiency, Coverage & Cross-Channel Leak

**[Nerve Centre KPIs](/nerve-centre/kpi-cards/amazon-ads) · [Audit Profile](/nerve-centre/kpi-cards/amazon-ads/audit) · [Sentiment Settings](/nerve-centre/kpi-cards/amazon-ads/sentiment)**

The questions every Amazon advertiser asks at 9am on Monday: where is spend bleeding, which campaigns have I forgotten about, are ads pushing ASINs that can't actually convert, and which winning search terms haven't been promoted yet. Cross-references amazon (marketplace) for the highest-leverage findings - advertising an out-of-stock or no-buy-box ASIN is the most common, most expensive, most fixable mistake.

## What this audit checks

### Spend efficiency

* ACOS above merchant target across campaigns
* TACOS trend deteriorating WoW
* Campaigns with >\$X spend and \<1% conversion (zero-conversion spend)
* Bid creep - auto-bidding pushing CPC above category benchmark
* Dayparting waste - spend in low-converting hours

### Cross-channel leak (highest-value area)

* Active ads on out-of-stock ASINs (sibling = amazon.listing.quantity = 0)
* Active ads on suppressed listings (sibling = amazon.listing.status = SUPPRESSED)
* Active ads on no-buy-box ASINs (sibling = amazon.listing.buyBoxPercentage \< 50)
* Branded campaigns running while DTC is on Black-Friday discount (sibling = shopify.discount\_active) - paying for traffic you'd get free

### Search-term hygiene

* Negative-keyword candidates - search terms with >\$10 spend, zero orders
* Search-term harvest queue - auto-campaign winners not yet promoted
* Branded-vs-non-branded mix anomaly (>80% branded = dependency risk; \<20% = under-defending the brand)
* Broad-match exposure across campaigns >40% of spend

### Campaign hygiene

* Campaigns enabled with no active ads (orphan campaigns)
* Ad groups with default-bid 50% above category median
* Campaigns paused >30d but not archived (cluttering reporting)
* End-dated campaigns still spending (date-bound campaigns past end\_date that didn't pause)

### Account & creative health

* Disapproved ads in active campaigns
* Sponsored Brands creatives with broken landing pages (hero ASIN suppressed)
* DSP creatives missing brand-safety attestation
* Refresh-token expiry within 30 days

## Severity thresholds

| Signal                               | Warn | Critical |
| ------------------------------------ | ---- | -------- |
| `acos_pct`                           | 30   | 45       |
| `tacos_change_pct_wow`               | 15   | 30       |
| `zero_conversion_spend_pct_of_total` | 5    | 12       |
| `oos_advertised_asins_count`         | 1    | 5        |
| `no_buybox_advertised_count`         | 1    | 10       |
| `search_term_harvest_count`          | 5    | 15       |
| `refresh_token_days_to_expiry`       | 14   | 7        |
| `branded_share_pct`                  | 20   | -        |

## Data sources

* `GET https://advertising-api.{region}/v2/profiles` - Auth + profile sanity
* `POST https://advertising-api.{region}/sp/campaigns/list` - Campaign-level state + budget
* `POST https://advertising-api.{region}/sp/productAds/list` - Ad → ASIN mapping (cross-channel join key)
* `POST https://advertising-api.{region}/reporting/reports` - Async campaign / search-term / target reports
