What this audit checks
Authentication & access
- OAuth refresh-token still valid against /auth/token (no re-auth required)
- Organization eid and advertisable eid resolve via /api/v1/organization
- Granted scopes cover read + write needed for reporting and pacing checks
Spend & budget pacing
- Daily / lifetime budget utilisation per running campaign (under- or over-pacing vs budget)
- Wasted spend - zero-conversion spend above threshold on any running campaign (last 72h)
- Inactive / archived campaigns still consuming product-feed sync (hidden recurring data cost)
- Prospecting-vs-retargeting spend mix vs the acquisition-cohort target
Campaign performance (ROAS / CTR / CPC)
- Cross-channel retargeting ROAS per campaign below merchant target (/api/v1/report/timeseries)
- Retargeting ROAS dropped >25% vs prior 7D same-day-of-week
- CTR below benchmark band on web / social / dynamic campaign types
- CPC creep - bidding pushing cost-per-click above category benchmark
Conversion & attribution
- AdRoll Pixel firing on key conversion pages (purchase, signup-complete, add-to-cart)
- Conversion-rate below floor on running campaigns vs account average
- Roundtrip email retargeting deliverability and sender reputation after a send burst
- Attribution-window drift inflating reported conversions vs commerce-sibling orders
Creative & audience health
- Custom audiences below AdRoll’s 100-member delivery floor (won’t serve, spend reallocates)
- Disapproved or rejected creatives in running campaigns (/api/v1/ad)
- Dynamic-product creatives falling back because the linked feed has rejections
- Stale creative pool - no new banner / native / video variants in >60d
Cross-channel revenue at risk
- Active dynamic ads on out-of-stock SKUs (sibling = shopify / bigcommerce / adobe_commerce product qty = 0)
- Retargeting landing pages with poor Web Vitals (sibling = website_performance.page LCP_p75 > 4000ms and CR < 0.5x account avg)
- Branded retargeting clicks cannibalising organic (sibling = google_search_console branded organic queries)
- Roundtrip email audience overlapping the primary ESP (sibling = klaviyo / mailchimp) - paying to re-touch owned contacts
Severity thresholds
| Signal | Warn | Critical |
|---|---|---|
roas | 3.0 | - |
ctr | 0.4 | - |
conversion_rate | 1.0 | - |
budget_pacing | 70 | - |
Data sources
GET https://services.adroll.com/api/v1/organization- Auth + org / advertisable eid sanityGET https://services.adroll.com/api/v1/campaign- Campaign state, budget, type and SKU join keysGET https://services.adroll.com/api/v1/ad- Creative status / format - disapprovals and feed-fallback checksGET https://services.adroll.com/api/v1/report/timeseries- Spend / impressions / clicks / conversions / ROAS time seriesPOST https://services.adroll.com/auth/token- Refresh OAuth access token