Approved — table is LOCKED
D1–D5 + the editability rule. Next surface.
The rule that keeps it speedy without over-adding: config fields are inline-editable wherever they appear — metrics never are. Below: the table with two picker-added config columns (Spend cap, Ends) shown editable, and the budget editor open.
| Inline, everywhere they appear: | Status (switch) · Daily budget · Bid amount · Spend cap · End date |
| Small dialog (learning-reset warning): | Bid strategy type — reachable from the bid cell's popover ("change type…") |
| Never editable: | Name 🔒 (attribution key) · every metric column (spend, ROAS, CTR…) · IDs |
| Always: | approval popup with context → ledger entry → ⏳ pending until Meta confirms + resync |
| ☐ | Name | Status | Budget | Bid | Spend cap | Ends | Spend ▼ | Purch. | CPA | Meta ROAS | Int. ROAS | AF D7 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ☐ | ▾torix-fb-T2-eng-…-ROAS45 🔒 | ACTIVE |
$ /day
−20%+20%+50%
was $250 · min $50 · max cap $1,000 ✓
Review & apply… esc
|
ROAS 45% | — | open | $1,689 | 96 | $17.6 | 2.31 | 1.94 | 0.88 | ⋯ |
| ☐ | ▸torix-fb-US-eng-…-COSTCAP 🔒 | PAUSED | $400/d | CAP $18.00 | $2,500 | Jul 31 | $2,745 | 61 | $45.0 | 0.72 | 0.65 | 0.41 | ⋯ |
| 41 campaigns | $5,730/d | $39,535 | 1,842 | $21.5 | 1.48 | 1.21 | 0.67 |