/campaigns/:id) is the per-event
activation surface. It is tabbed, not a single flat page.
UI structure (reference FE)
- Taste clusters are handled inside the wizard’s Goals step (via
suggested_tcs), not a dedicated/clusterspanel on this page. - The Statistics tab’s KPIs come from the Meta integration endpoints,
not
/events/{eid}/statistics.
Prerequisites
- An
eid(from the Wave list). - An authenticated user with
Permissions.wave.
The call chain
On mount (the primary loads):| # | Method | Path | Purpose |
|---|---|---|---|
| 1 | GET | /events/{eid} | Event header. |
| 2 | GET | /setup_processes/{eid} | Existing draft setup, or 404 if none. |
| 3 | GET | /events/{eid}/campaigns | Existing campaigns (OpenCampaigns tab). |
| 4 | GET | /integrations/connect/facebook/status | Meta connection status (gates the wizard / Statistics). |
| 5 | GET | /events/{eid}/attribution_model | Current attribution model. |
| 6 | GET | /integrations/facebook/events/{eid}/campaign_results | Statistics tab KPIs. |
| 7 | GET | /integrations/facebook/events/{eid}/fb_insights | Impressions / clicks / ad spend. |
The reference FE does not call
/events/{eid}/statistics here (the
helper exists but is unused), does not render a /clusters panel on
this page, and does not call /setup_processes/event_types on mount
(that’s used inside the wizard’s ad-platform step). Meta auth status is
/integrations/connect/facebook/status — not /meta/authorization/status.Entering the wizard
When the user starts setup, the wizard (not this page’s mount) calls the prefetch endpoints and Meta asset APIs (metaAssetsApi.listAssets,
/setup_processes/event_types, …). See
Campaigns lifecycle.
Editing published campaigns
Pause / optimisation / attribution toggles
These use query-string PUTs (matching the article’s general shape):- The pause PUT returns
204. - Task status is read from
data.stateon the per-event task endpoint (GET /events/{eid}/client_campaign_status/task). - There is no continuous
while + sleeppolling loop — the FE does a single refresh fetch after the toggle.
Reference implementation (read shell)
Gotchas
It's a tabbed page, not hero + cards + clusters
It's a tabbed page, not hero + cards + clusters
EventHeader + tabs (wizard/OpenCampaigns, Statistics). No standalone
clusters panel.
Meta status endpoint is /integrations/connect/facebook/status
Meta status endpoint is /integrations/connect/facebook/status
Not
/meta/authorization/status.KPIs come from campaign_results + fb_insights
KPIs come from campaign_results + fb_insights
Not
/events/{eid}/statistics (unused on this page).Per-campaign PUTs aren't used
Per-campaign PUTs aren't used
Published edits use
POST /campaigns_setup; “ignore” is mock-only.Pause returns 204, single refresh
Pause returns 204, single refresh
No continuous polling loop; one
GET .../client_campaign_status/task
after the PUT, reading data.state.`/setup_processes/{eid}` 404 is fine
`/setup_processes/{eid}` 404 is fine
Means no draft yet — show the “Set up” CTA.
Related
- Campaigns lifecycle — the wizard.
- Wave list — the page above.
- Wave — Attribution — Statistics tab data.