What this audit checks
Authentication & access
- OAuth2 client_credentials token grant succeeds (Backstage)
- Account ID resolves to an accessible advertiser account
- Backstage rate-limit headroom healthy (429 + Retry-After watch)
Spend & budget pacing
- Daily cap utilisation per campaign mid-period
- Spending limit nearing exhaustion before period end
- Budget pacing ahead of or behind even-burn baseline
- Wasted spend on RUNNING campaigns with zero conversions
Campaign performance (ROAS / CTR / CPC)
- ROAS below native target on campaign-summary report
- CTR <0.05% on premium publisher placements
- CPC drift above campaign cpc bid vs delivered cost
- Marketing objective mismatch vs delivered outcome
Conversion & attribution
- Conversion pixel firing-rate decay on multi-step funnel
- Clicks > 0 but conversions = 0 (tracking broken)
- Conversion rate below account baseline per campaign
- Missing UTM parameters on item destination URLs
Creative & audience health
- Disapproved or REJECTED items still active in campaigns
- Item-level CTR collapse vs campaign average (creative mismatch)
- Publisher placements in blocked categories (brand-safety drift)
- Branding text mismatch with creative title context
Cross-channel revenue at risk
- Active product-feed native ads on out-of-stock SKUs (commerce sibling)
- Branded sponsored-content clicks cannibalising organic search (GSC sibling)
- Landing pages with poor Web Vitals on cold native traffic (website_performance)
- Spend on campaigns with active Feedonomics feed rejections
Severity thresholds
| Signal | Warn | Critical |
|---|---|---|
roas | 2 | - |
ctr | 0.1 | - |
conversion_rate | 1 | - |
cpc | 1.5 | 3 |
wasted_spend_pct | 5 | 12 |
budget_pacing | 85 | 100 |
Data sources
POST https://backstage.taboola.com/backstage/oauth/token- OAuth2 client_credentials token grantGET https://backstage.taboola.com/backstage/api/1.0/users/current/account- Auth + account sanityGET https://backstage.taboola.com/backstage/api/1.0/{account_id}/campaigns- Campaign inventory + budgets (cpc, daily_cap, spending_limit)GET https://backstage.taboola.com/backstage/api/1.0/{account_id}/campaigns/{campaign_id}/items- Item-level creative review status + ctr / cpcPOST https://backstage.taboola.com/backstage/api/1.0/{account_id}/reports/campaign-summary/dimensions/day- Spend / clicks / conversions / roas aggregates by day