create_ad_edit_plan
Draft many edits to existing campaigns, ad sets or ads as ONE draft.
Use it whenever two or more live objects change at once (“pause these 37 ads”, “set these campaigns to $20/day”): one review, one approval, one publication with a per-step ledger and retry, instead of one approval dialog per object. A single change can stay on the platform’s mutate tool. edits = [{entity_type: campaign|ad_group|ad, entity_id, status?: enabled|paused, daily_budget?, lifetime_budget?}] — exactly one of status or a budget per edit; money in the account’s currency. Every target is read first and refused if it is not in account_id; its current state is recorded on the step (expected) and the review compares the live object with it, so a change made elsewhere since blocks until the draft is rebuilt. Standing checks apply by operation. The draft is local: embed its card and let the user click Review; publish_ad_plan applies the edits and leaves everything else untouched. Enabling delivery is allowed and marked. Meta only for now (status at every tier, campaign budgets).
Parameters#
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
platform | string | yes | ||
account_id | string | yes | ||
title | string | yes | ||
edits | array | yes | ||
thread_id | string | no |
Generated by generate_mcp_docs from the server tool. Add to this page below this block; the block is rewritten on every run.