meta_ads_campaigns_create
Create a new Meta Ads campaign to serve as a container for ad sets and ads. Set the objective, choose between daily and lifetime budget, and define the initial status (default PAUSED). Returns the campaign ID.
Instructions
Creates a new campaign in the specified Meta Ads account. Returns the new campaign id. Mutating, reversible via rollback_apply (rollback sets status to PAUSED rather than deleting). 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 |
|---|---|---|---|
| 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. | |
| name | Yes | Campaign name. Visible in Ads Manager; Meta allows up to 400 characters. | |
| objective | Yes | Campaign objective using Meta's ODAX taxonomy. Older names (CONVERSIONS, LINK_CLICKS) are rejected by current API versions — use the OUTCOME_* forms. | |
| status | No | Initial status. Default PAUSED. Only set ACTIVE when the operator has signed off on spend. | |
| 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. |