Ads Manager · mockup
Deep-dive — all 9 tabs

← all mockups

Deep-dive — all 9 tabs, the spec reference

Campaign page, one mock per tab, in tab order. Provider-neutral labels throughout. Ad-set page = same minus Funnel-below-campaign nuances, plus Setup; Ad page = Performance · Creative · Breakdowns · History.

1 · Performance — "is it doing well right now?"

PerformanceFunnelAd setsAdsBreakdownsCreativesAttributionHistoryRules
Spend 7d
$1,689
▲9% vs prior
Internal ROAS
1.94
acct median 1.18
Platform ROAS
2.31
via Meta Pixel
AF cohort D7
0.88
CPA
$17.6
96 purchases
Spend since last purchase
$38
Daily spend · pins = changes (click → History entry)
$
Fatigue / auction decomposition
Frequency 2.4 rising
CPM $14.2 flat
CTR 7.4% decaying
Diagnose: ΔROAS −0.21 this week → CTR −14% is the driver (freq ▲, CPM flat) = creative fatigue. Suggested: refresh creatives.
Also: "3 of 14 ads = 88% of spend · 40% of spend in learning" strip. Data-freshness note. Google campaigns swap frequency tiles for Impression-share (capability-driven).

2 · Funnel — "where do we lose people?"

PerformanceFunnelAd setsAdsBreakdownsCreativesAttributionHistoryRules
Impressions
1.21M
Clicks
89.5K · CTR 7.4% ✓
Landing-page views
61.2K · click→view 68% vs bench 81% ⚠
LP CTA clicks
19.7K · 32% ✓
Installs + web starts
9.8K · 50% ✓
Purchases
96 · 0.98% vs bench 1.1%
Stages join OUR data end-to-end: platform → marketing.landing_page_views (utm/campaign id) → AppsFlyer → RevenueCat. Weak step highlighted vs account benchmark; hover = period delta; per-LP split when multiple LPs; unmatched-UTM bucket as data-hygiene canary.

3+4 · Ad sets / Ads — "what's inside?" (scoped Explorer)

PerformanceFunnelAd sets (6)AdsBreakdownsCreativesAttributionHistoryRules
AllMovers (WoW Δ)Problems⚙ Columns
Ad setFlagsStatusBudgetSpend ▼CPAInt. ROASΔ WoW
US-broad-18-45learning 37/50ACTIVE—CBO$1,102$16.42.10+0.49
T2-stack-25-55ACTIVE—CBO$587$19.81.63+0.02
UK-lookalike-1pct1 disapprovedfatiguedPAUSED$120/d$338$41.20.58−0.31
The exact Explorer component pre-scoped — inline edits, switches, bulk bar all work. Additions vs global view: preset chips (All / Movers / Problems) and a Flags column (learning · disapproved · fatigued · rule-touched). Ads tab identical, one level down, creative thumb in row.

5 · Breakdowns — "who does it work for?"

PerformanceFunnelAd setsAdsBreakdownsCreativesAttributionHistoryRules
CountryAge × GenderPlacement · Device☠ Waste view
CountrySpend · shareCPMCTRPurch.*ROAS*Δ vs prior 7d
🇺🇸 US$918 · 54%$18.47.9%512.51+0.22
🇬🇧 UK$342 · 20%$14.16.8%182.06−0.61 ⚠
🇦🇺 AU$192 · 11%$11.26.2%91.61−0.34
* platform-reported (attribution can't split this fine — stated in-UI). Δ column = period comparison per segment. ☠ Waste view = segments with spend > $X and 0 purchases, sorted — the kill-list. Dimensions come from the provider's capability list (Google Search adds Keyword/Search-term; a Keywords TAB appears for Search campaigns).

6 · Creatives — "which videos carry it?"

PerformanceFunnelAd setsAdsBreakdownsCreatives (9)AttributionHistoryRules
GalleryTablesort: spend ▼
SCALING
nerd_escort_hook3_v2
6d · 2 ads · $744int 2.41
hook 31% (med 24%)CP-p $15.2
FATIGUING
nerd_escort_hook1
19d · 3 ads · $1.9kint 1.52
CTR −38% · freq 3.1
DEAD
hook2_cut
21d · $201int 0.3
$83 since last purch.
One card per ASSET (not per ad — same video in 6 ads rolls up). Poster from creative payload; click-to-play = on-demand preview iframe. Lifecycle tag from spend + trend. Google Search shows RSA assets + strength labels here instead (capability-driven).

7 · Attribution — "is the money real?"

PerformanceFunnelAd setsAdsBreakdownsCreativesAttributionHistoryRules
Cohort ROAS maturation (hatched = immature, ◌ = projected)
Cohort wkD7D30proj D90paybackrefund%
Jun 220.711.081.41D262.1%
Jul 60.74◌1.12◌1.46◌D241.4%
Revenue paths (30d)
Web funnel$9,834 · 78%
App (AF)$2,771 · 22%
Three lenses (30d)
LensRevenueROAS
Platform-reported$14,1022.18
Internal first-touch$12,6051.95
AF cohort D30$6,9211.07
Divergence sentinel: platform/internal ratio trending ▲ = platform over-claiming. Net of refunds. Internal lens floors at campaign grain — never faked below.

8 · History — "who changed what, did it help?"

PerformanceFunnelAd setsAdsBreakdownsCreativesAttributionHistoryRules
AllHumansPlatformRules📝 Add note
Greg budget $200 → $250 · Jul 11 09:41
3d before: ROAS 2.10 · CPA $16.43d after: 1.64 · $21.0
rule* scale-winners budget $180 → $200 · Jul 8 trigger: ROAS 2.3 > 2.0 (3d)
before: 2.28after: 2.31
Meta approved nerd_escort_hook4 · Jul 8
Dan 📝 "testing new LP variant" · Jul 7
Sources: platform changelog (meta_activities) + our action ledger (P2) + rule log (P3) + team notes. Impact card = 3d pre/post. Providers with no changelog API (TikTok/Snap) show internal-only + a banner.

9 · Rules (Phase 3) — "what automation watches this?"

PerformanceFunnelAd setsAdsBreakdownsCreativesAttributionHistoryRules
stop-loss-v1 watches 6 ad sets
Pause ad set if spend(today) > $100 AND purchases(today) = 0
Closest: UK-lookalike $87/$100, 0 purchases
scale-winners-v2 last fired Jul 8 · cooldown 41h
+15% budget if Int. ROAS(3d) > 2.0 AND spend > 80% budget · cap $500/d · 1×/72h
Per-entity: proximity-to-trigger meters · exclusion switch · backtest ("would have fired 3× in 14d") · actions link into History · rule pins on the Performance chart.
A

All 9 tabs locked — write the spec

This screen is the spec's visual reference for the deep-dive.

B

Adjust a tab

Name the tab # in the terminal.