Account summary — health at a glance
GET /api/v1/analytics/account-stats. Account HEALTH metrics: managed / active / disabled accounts, ban rate, rejected ads, total ads. Not financial KPIs.
Written By Salvatore Sinigaglia
Last updated About 5 hours ago
GET /api/v1/analytics/account-stats. Account HEALTH metrics: managed / active / disabled accounts, ban rate, rejected ads, total ads. Not financial KPIs.
Account summary — health at a glance
GET /api/v1/analytics/account-stats (verified
apps/backend/src/routes/api/analytics.route.ts). Returns account HEALTH metrics, not financial KPIs:managed_accounts,active_accounts,disabled_accounts,ban_rate,rejected_ads,total_ads. The only query param is an optionalplatform(no date range). Use case: owner / admin check on how many ad accounts are healthy vs disabled/banned and how many ads got rejected. For spend/ROAS/CPA, use the KPI strip (an-106) or/kpiendpoint instead.
Who is this for
Owners + admins reviewing account health. Especially valuable for:
- Weekly executive snapshot
- Quarterly business review prep
- Onboarding stakeholders ("this is how we're doing")
- Single-page status for non-mediabuyer audiences
What's in the summary
The account-stats endpoint returns account-health counts (not currency values):
These are operational health signals — how many ad accounts are healthy vs disabled/banned, and how many ads got rejected. For financial KPIs (spend, revenue, ROAS, CPA, CPM, CTR), use the KPI strip / /kpi endpoint (an-106).
How to view
Dedicated card / widget
Some Wevion UI versions surface account-stats as a dedicated Account Summary card in /analytics. Single row of headline numbers.
Financial KPIs live elsewhere
Account-stats is about account health counts, not money. For spend/revenue/ROAS/CPA, use the KPI strip (Single Platform) or the /kpi endpoint.
Platform filter
Pass the optional platform param to scope the health counts to one platform; omit it for all accessible accounts.
Endpoint
GET /api/v1/analytics/account-stats (verified):
Query params:
platform: optional (filter to one platform; defaults to all accessible)
There is no date-range, currency, or account_id param — scope is derived from the caller's accessible ad accounts. Auth: ROLE_GROUPS.DASHBOARD + app.apiKey('insights').
How it differs from other endpoints
account-stats answers a different question from the others — not "how much did we spend / earn" but "how many of our ad accounts are healthy". Use for:
- "How many accounts are disabled or banned?"
- "How many ads got rejected?"
- Account-health monitoring dashboards
No date range / comparison
Account-stats takes no date range — it reports the current health snapshot of your ad accounts. There is no period-over-period delta_pct on this endpoint. For period comparison of financial KPIs, use the comparison endpoint (cross-channel) instead.
Use cases
Account-health check
Owner / admin checks how many ad accounts are active vs disabled/banned and how many ads got rejected. If the ban rate spikes or rejected ads climb, investigate the affected platform / account.
Onboarding / policy monitoring
Track disabled accounts and rejected ads over time (by re-checking) to catch platform policy issues early.
What account-stats doesn't show
- Spend / revenue / ROAS / CPA — use the KPI strip or
/kpiendpoint - Per-platform financial breakdown — use Cross-Channel channel comparison (an-108)
- Per-campaign breakdown — use top campaigns or Ads Manager
- Trend over time — use spend-trend widget
- Per-creative performance — use creative-performance widget
account-stats is an account-health snapshot, not a financial dashboard.
Freshness
Account status/ban/rejection data reflects the latest platform sync (15-min cron; see an-114).
Common mistakes
- Expecting spend/ROAS in account-stats: it returns health counts only; use the KPI strip for money metrics
- Expecting a date range or comparison: account-stats is a current snapshot with only an optional
platformfilter - Confusing disabled_accounts with paused campaigns: disabled accounts are platform-level account restrictions, not campaign status
Common issues
- Counts all zero: no ad accounts connected, or none match the
platformfilter - ban_rate higher than expected: platform disabled one or more accounts — check the affected platform's account status
- rejected_ads climbing: ad policy issues on the platform — review rejected ads in Ads Manager
FAQ
What is the Wevion account summary?
The Wevion account summary is the account-health view served by the GET /api/v1/analytics/account-stats endpoint. It returns health counts — managed_accounts, active_accounts, disabled_accounts, ban_rate, rejected_ads, and total_ads — not financial KPIs. It answers "how many of my ad accounts are healthy vs disabled/banned, and how many ads got rejected".
Does account summary show spend, revenue, or ROAS?
No. Account-stats returns account-health counts only. For spend, revenue, ROAS, CPA, CPM, or CTR, use the KPI strip in Single Platform mode or the /kpi endpoint. Don't expect a profit or currency figure from this endpoint.
Can I set a date range or compare periods on account summary?
No. Account-stats takes only an optional platform filter — there is no date range and no period-over-period comparison. It's a current health snapshot. For period comparison of financial metrics, use the cross-channel comparison endpoint (an-113).
Why are my account summary counts all zero?
Usually because no ad accounts are connected, or none match the platform filter you passed. If ban_rate or disabled_accounts is higher than expected, the platform has disabled one or more accounts — check that platform's account status. Data reflects the latest 15-minute sync (see data freshness).