Skip to main content
Nerve Centre KPIs · Audit Profile · Sentiment Settings The questions every Snap advertiser asks at 9am on Monday: did Pixel + CAPI match rate hold over the weekend, where is the mobile-only auction bleeding spend, are catalog ads pushing SKUs that cannot convert, and which creatives crossed swipe-up fatigue. Snap’s pure-mobile Gen Z audience hits the iOS-14.5 attribution wall harder than any other platform, so conversion and attribution integrity is the highest-leverage area. Cross-references commerce siblings (BigCommerce / Shopify / Adobe), website_performance, and tiktok_ads for the disaster-class findings.

What this audit checks

Authentication & access

  • OAuth refresh token expiring or revoked (silent access-token refresh failing)
  • Ad account or organization status not ACTIVE (PAUSED / suspended)
  • Required scope snapchat-marketing-api missing or downgraded
  • Sustained 429 / Retry-After throttling against the Marketing API per-account QPS

Spend & budget pacing

  • Daily-budget-micro overspend or underdelivery vs target across ad squads
  • Lifetime spend cap (micro) nearly exhausted on an in-flight campaign
  • Zero-conversion spend burst on any ad squad in the last 72h
  • Auction CPM creep on mobile-only inventory pushing pacing off plan

Campaign performance (ROAS / CTR / CPC)

  • ROAS dropped >25% vs prior 7D same-day-of-week window per campaign
  • Swipe-up / CTR decay below benchmark on creatives with frequency >7 (fatigue)
  • CPC / CPM above category benchmark across AUCTION buy-model campaigns
  • Goal-Based-Bidding campaigns optimising on rare events <10/week (bid drift, never converges)

Conversion & attribution

  • Snap Pixel + CAPI Events event_id match rate <80% over the weekend window
  • CAPI Events not deduplicating with Pixel (event_id format finicky, double-counting conversions silently)
  • Reported conversions <50% of expected during an ATT / iOS attribution-drift window
  • Attribution-window misconfiguration suppressing post-view Gen Z conversions

Creative & audience health

  • AdCreative review_status REJECTED or under review while campaign is spending
  • Custom audiences below the 1,000-member Snap privacy floor (will not deliver, spend reallocates to broad)
  • AR Lens campaigns overlapping In-Feed for the same Gen Z audience (unique-reach cannibalisation)
  • Audience overlap with tiktok_ads sharing the same email_hash Gen Z pool

Cross-channel revenue at risk (highest-value area)

  • Active catalog ads on out-of-stock SKUs (sibling = bigcommerce / shopify / adobe_commerce product qty = 0)
  • Spend on catalog campaigns whose Feedonomics feed has active rejections
  • Branded Snap clicks cannibalising free organic search (sibling = google_search_console branded queries)
  • Mobile landing pages with poor Web Vitals (sibling = website_performance LCP p75 mobile >4s)

Severity thresholds

SignalWarnCritical
roas2.5-
ctr_pct0.5-
conversion_rate_pct1.0-
cpc1.53.0
wasted_spend_pct512
budget_pacing_pct70-
pixel_capi_match_rate_pct80-
custom_audience_size1500-
refresh_token_days_to_expiry147

Data sources

  • GET https://adsapi.snapchat.com/v1/me/organizations - Auth + organization sanity
  • GET https://adsapi.snapchat.com/v1/organizations/{organization_id}/adaccounts - Ad account status + currency + timezone
  • GET https://adsapi.snapchat.com/v1/adaccounts/{ad_account_id}/campaigns - Campaign state, objective, budgets, buy model
  • GET https://adsapi.snapchat.com/v1/adaccounts/{ad_account_id}/creatives - Creative type + review_status (creative health)
  • GET https://adsapi.snapchat.com/v1/adaccounts/{ad_account_id}/stats - Spend / ROAS / CTR / CPC / conversion stats
  • POST https://accounts.snapchat.com/login/oauth2/access_token - Refresh OAuth access token