> ## 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.

# StackAdapt audit profile, Vortex IQ

> What the Vortex IQ StackAdapt health audit checks: StackAdapt DSP Health

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

Audits StackAdapt programmatic spend, native + display + CTV campaign performance, conversion attribution via the Universal Pixel, audience and creative health, and cross-channel revenue at risk.

## What this audit checks

### Authentication & access

* OAuth2 refresh token at /v2/oauth/token still exchanges for a valid access token
* account\_id and advertiser\_id resolve against /v2/accounts (no 401/403)
* read scope present and reporting endpoint /v2/reports/performance returns data, not 429

### Spend & budget pacing

* Campaign total\_budget vs actual spend pace within band (no under/over delivery)
* pacing\_strategy=accelerated campaigns burning budget faster than even-pace target
* Zero-conversion wasted spend per campaign over trailing window
* Daily spend variance vs 7-day same-DOW baseline

### Campaign performance (ROAS / CTR / CPC)

* ROAS per campaign from /v2/reports/performance below threshold
* Native-format CTR (highest-CTR format) holding vs prior 7D same-DOW window
* CPC drift per campaign\_type (display vs native vs video vs ctv)
* active campaigns (state=active) delivering impressions, not stalled

### Conversion & attribution

* Universal Pixel firing rate vs baseline (drop signals tracking breakage)
* Conversion rate per campaign from /v2/reports/performance below threshold
* Attribution gap: spend recorded with no matched conversions over 72h

### Creative & audience health

* AdCreative review\_status not rejected/pending on active campaigns (/v2/creatives)
* Custom audiences below the 250-member algorithmic delivery floor
* Cross-device frequency cap breached (same user served >5x in window)
* Creative fatigue: CTR decay on long-running creatives

### Cross-channel revenue at risk

* PMP catalog campaigns driving spend on commerce-sibling SKUs with qty=0
* Catalog campaign spend while Feedonomics feed has live rejections
* Landing pages with LCP >4s and conversion rate below half of account average

## Severity thresholds

| Signal             | Warn | Critical                             |
| ------------------ | ---- | ------------------------------------ |
| `roas`             | -    | \< 1.0                               |
| `ctr`              | -    | \< 0.10%                             |
| `conversion_rate`  | -    | \< 0.5%                              |
| `cpc`              | -    | > 2.5x account median                |
| `wasted_spend_pct` | -    | > 30%                                |
| `budget_pacing`    | -    | \< 70% or > 130% of even-pace target |

## Data sources

* `GET https://api.stackadapt.com/v2/accounts` - Resolve account/advertiser identity and currency
* `GET https://api.stackadapt.com/v2/campaigns` - Campaign state, budget, pacing\_strategy, campaign\_type
* `GET https://api.stackadapt.com/v2/creatives` - Creative format, state, and review\_status
* `GET https://api.stackadapt.com/v2/reports/performance` - ROAS, CTR, CPC, conversions, spend by campaign
* `POST https://api.stackadapt.com/v2/oauth/token` - Refresh OAuth access token
