Ad accounts (retired)
This page has been retired. Ad accounts are now managed from the Client detail Ad accounts tab or the Connectors tab in Report settings.
- Route:
/admin/ad-accounts - Guard:
/admin/*layout — authenticated +isAdminTier()(super_admin,admin,account_manager); lower roles are redirected to/portal. - Screenshot: none — the route never renders a page. Source review shows a server redirect to
/admin/clients; verify the deployment separately.
What this route is now
/admin/ad-accounts is a stub redirect. The route file
(src/app/admin/ad-accounts/page.tsx) unconditionally redirects to
/admin/clients and exists only so historical links and bookmarks keep
working. No query parameters are read or forwarded.
Where ad-account management actually lives
Ad-account inventory and configuration is per-client:
- Admin side —
/admin/clients/[slug]?tab=ad-accounts("Ad accounts" tab of the client detail hub, P21). Shows the client's platform bindings (Meta Ads, Google Ads, TikTok Ads, Shopify, Hyros, …) with connector credential state, and is where accounts are bound to or unbound from the tenant. Platform names are normalized for display (e.g.facebookrenders as "Meta Ads") — the same normalization used on the/admin/clientslist. - Marketing side —
/marketing/settingsConnectors tab (MarketingConnectorDirectory) shows binding status and credential management for the selected client, backed by the same connector APIs.
Cross-tenant health of those accounts (freshness, rate limits, last sync
errors) is not here either — that is /admin/sync-health (P28), which lists
every account under its client row with per-account sync buttons.
Why the cross-client page was removed
Same consolidation as /admin/brands: an ad account is only meaningful as a
binding to a client, so the standalone cross-tenant inventory was folded
into the client detail hub during the client-onboarding consolidation. The
redirect targets the client list because the route cannot know which tenant
the visitor wanted.
Behavior summary
| Aspect | Value |
|---|---|
| HTTP behavior | Server-side redirect('/admin/clients') |
| Query params | Not preserved |
| Nav entry | None — removed from src/lib/nav.ts |
| Rendering mode | force-dynamic, no cache |
Key files
| File / endpoint | Role |
|---|---|
src/app/admin/ad-accounts/page.tsx | The redirect (whole page) |
src/app/admin/clients/[slug] + src/components/admin/client-sections/ | Ad accounts tab (bindings + connector credentials) |
src/app/api/admin/accounts/ | Account-level admin API used by the per-client tab |
src/app/api/admin/connectors/ | Connector credential API behind the Connectors surfaces |
src/app/admin/layout.tsx | Admin-tier guard for the route |
Verification
Source-reviewed on 2026-08-26: src/app/admin/ad-accounts/page.tsx contains
only the redirect. This does not certify the current deployed route.