create_campaign
Build and launch Meta Ads campaigns by specifying account details, objectives, budgets, bid strategies, and A/B testing configurations directly through the Meta Ads MCP server.
Instructions
Create a new campaign in a Meta Ads account.
Args:
access_token: Meta API access token (optional - will use cached token if not provided)
account_id: Meta Ads account ID (format: act_XXXXXXXXX)
name: Campaign name
objective: Campaign objective (ODAX, outcome-based). Must be one of:
OUTCOME_AWARENESS, OUTCOME_TRAFFIC, OUTCOME_ENGAGEMENT,
OUTCOME_LEADS, OUTCOME_SALES, OUTCOME_APP_PROMOTION.
Note: Legacy objectives like BRAND_AWARENESS, LINK_CLICKS,
CONVERSIONS, APP_INSTALLS, etc. are not valid for new
campaigns and will cause a 400 error. Use the outcome-based
values above (e.g., BRAND_AWARENESS → OUTCOME_AWARENESS).
status: Initial campaign status (default: PAUSED)
special_ad_categories: List of special ad categories if applicable
daily_budget: Daily budget in account currency (in cents) as a string (only used if use_adset_level_budgets=False)
lifetime_budget: Lifetime budget in account currency (in cents) as a string (only used if use_adset_level_budgets=False)
buying_type: Buying type (e.g., 'AUCTION')
bid_strategy: Bid strategy. Must be one of: 'LOWEST_COST_WITHOUT_CAP', 'LOWEST_COST_WITH_BID_CAP', 'COST_CAP', 'LOWEST_COST_WITH_MIN_ROAS'.
bid_cap: Bid cap in account currency (in cents) as a string
spend_cap: Spending limit for the campaign in account currency (in cents) as a string
campaign_budget_optimization: Whether to enable campaign budget optimization (only used if use_adset_level_budgets=False)
ab_test_control_setups: Settings for A/B testing (e.g., [{"name":"Creative A", "ad_format":"SINGLE_IMAGE"}])
use_adset_level_budgets: If True, budgets will be set at the ad set level instead of campaign level (default: False)
Input Schema
Name | Required | Description | Default |
---|---|---|---|
ab_test_control_setups | No | ||
access_token | No | ||
account_id | No | ||
bid_cap | No | ||
bid_strategy | No | ||
buying_type | No | ||
campaign_budget_optimization | No | ||
daily_budget | No | ||
lifetime_budget | No | ||
name | No | ||
objective | No | ||
special_ad_categories | No | ||
spend_cap | No | ||
status | No | PAUSED | |
use_adset_level_budgets | No |
Input Schema (JSON Schema)
{
"properties": {
"ab_test_control_setups": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Ab Test Control Setups"
},
"access_token": {
"default": null,
"title": "Access Token",
"type": "string"
},
"account_id": {
"default": null,
"title": "Account Id",
"type": "string"
},
"bid_cap": {
"default": null,
"title": "bid_cap",
"type": "string"
},
"bid_strategy": {
"default": null,
"title": "Bid Strategy",
"type": "string"
},
"buying_type": {
"default": null,
"title": "Buying Type",
"type": "string"
},
"campaign_budget_optimization": {
"default": null,
"title": "Campaign Budget Optimization",
"type": "boolean"
},
"daily_budget": {
"default": null,
"title": "daily_budget",
"type": "string"
},
"lifetime_budget": {
"default": null,
"title": "lifetime_budget",
"type": "string"
},
"name": {
"default": null,
"title": "Name",
"type": "string"
},
"objective": {
"default": null,
"title": "Objective",
"type": "string"
},
"special_ad_categories": {
"default": null,
"items": {
"type": "string"
},
"title": "Special Ad Categories",
"type": "array"
},
"spend_cap": {
"default": null,
"title": "spend_cap",
"type": "string"
},
"status": {
"default": "PAUSED",
"title": "Status",
"type": "string"
},
"use_adset_level_budgets": {
"default": false,
"title": "Use Adset Level Budgets",
"type": "boolean"
}
},
"title": "create_campaignArguments",
"type": "object"
}