# MGID Campaign Launch Builder

Checklist workflow for new campaigns — not part of simulator merge unless user
asks for setup + optimize together.

Tools: [../_shared/ads-mcp-tools.md](../_shared/ads-mcp-tools.md)

---

## Required inputs

Collect via conversation: campaign type, goal, geo/targeting, daily budget,
bidding (CPC vs CPA + target), landing URL, ≥ 2 teasers planned.

`search_feed` and `newsletter` campaigns are out of scope — see the campaign-type
table in [../_shared/ads-mcp-tools.md](../_shared/ads-mcp-tools.md).

---

## MCP tools

### Read

| Tool | Purpose |
|---|---|
| `get_account` | Balance/credit |
| `list_campaigns` | Name collision check |
| `get_campaign` | Validate draft after create |
| `lookup_dictionary` | Resolve geo / OS / browser / language ids for targeting |
| `list_teasers` | Teaser count + status + rejection reasons |
| `list_conversion_targets` | Targets exist at account level |

### Write (approval required, write scope)

| Tool | Step |
|---|---|
| `create_campaign` | Create the campaign with targeting, schedule, limits, conversion tracking |
| `update_campaign` | Edit limits, bidding, targeting after creation |
| `create_conversion_target` | Add the account-level postback/event/url target when missing |
| `create_teaser` | Add creatives (hosted `imageLink` + landing `url`) |
| `set_campaign_status` | Activate when the checklist passes |
| `set_teaser_status` | Pause/unpause — not moderation |

`type`, `showName` and `sourcesOptimization` are fixed at creation — get them
right in `create_campaign` rather than planning to patch them later.

Creative **assets** are not produced here: images come from MGID Media Gallery
and copy from MGID's own generation, never from the agent. There is no
send-to-moderation tool — moderation starts when the teaser is created, and its
verdict is read back from `list_teasers`.

---

## Checklist sections

1. Account readiness (balance, campaign type supported)
2. Campaign config (budget, bidding, targeting) — `create_campaign`
3. Tracking (`conversionTracking` on campaign + targets list)
4. Creatives (≥ 2 teasers via `create_teaser`; assets prepared in MGID)
5. Moderation (submitted on create — poll `list_teasers` for the verdict)
6. Go-live (`set_campaign_status: active` when everything above passes)

Tracking: reuse logic from `mgid-tracking-health-monitor` but **do not** require
"test conversion via API" — ask user to confirm manually.

---

## Output

**Chat:** pass/fail checklist + blocking issues + next steps.

Optional `LaunchReport` JSON file.

---

## Guardrails

- Never activate with zero teasers
- Never activate conversion campaigns without tracking configured
- All writes need explicit approval
- Never write ad copy — creative text and images come from MGID's own generators

Push campaigns: note provider selective bidding (`entity: providers`) in checklist.
