meta_ads_campaigns_create
Create a Meta Ads campaign as a container for ad sets and ads. Returns the campaign ID; default status is PAUSED to prevent unintended spend.
Instructions
Creates a new campaign in the specified Meta Ads account. Returns the new campaign id. Mutating — not automatically reversible; record before-state with mureo_state_action_log_append if you may need to roll back. Default initial status is PAUSED — explicitly pass status='ACTIVE' only if the operator has confirmed immediate spend. A campaign acts as a container; ad sets (where budgets and targeting live) and ads must be created separately via meta_ads_ad_sets_create and meta_ads_ads_create.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Campaign name. Visible in Ads Manager; Meta allows up to 400 characters. | |
| status | No | Initial status. Default PAUSED. Only set ACTIVE when the operator has signed off on spend. | |
| objective | Yes | Campaign objective using Meta's ODAX taxonomy. Older names (CONVERSIONS, LINK_CLICKS) are rejected by current API versions — use the OUTCOME_* forms. | |
| account_id | No | Meta Ads account ID in the format 'act_XXXXXXXXXX' (e.g. 'act_1234567890'). Optional — falls back to META_ADS_ACCOUNT_ID from the configured credentials. The leading 'act_' prefix is required. | |
| daily_budget | No | Daily budget in account currency minor units (cents for USD, yen for JPY). Mutually exclusive with lifetime_budget. Budgets can live on the campaign (CBO) or the ad set — not both. | |
| lifetime_budget | No | Lifetime budget in account currency minor units. Requires a stop_time on at least one ad set. Mutually exclusive with daily_budget. |