# Create campaign (adsap_create_campaign)

Creates a Meta campaign in the ad account you name.

Canonical: https://adsap.ai/docs/tools/adsap_create_campaign
Updated: 2026-09-13

**Platform:** Meta · **Read or write:** Write · **Plan:** All plans · **Consumes a task:** Yes · **Preview supported:** Yes

## What it does

Creates a Meta campaign in the ad account you name. You set the objective, the budget model and any special ad category. The campaign starts paused unless you ask for it to go live. Ask for a preview first: the copilot validates the setup and shows a launch review card where you confirm, create and activate.

## Parameters

Descriptions are shortened from the tool schema. Your assistant sees the full text.

| Name | Type | Required | Description |
|---|---|---|---|
| `ad_account_id` | string | Yes |  |
| `name` | string | Yes |  |
| `objective` | one of `OUTCOME_AWARENESS`, `OUTCOME_TRAFFIC`, `OUTCOME_ENGAGEMENT`, `OUTCOME_LEADS`, `OUTCOME_APP_PROMOTION`, `OUTCOME_SALES` | Yes |  |
| `buying_type` | one of `AUCTION`, `RESERVED` | No |  |
| `daily_budget` | number | No | In cents. Mutually exclusive with lifetime_budget. |
| `lifetime_budget` | number | No | In cents. Mutually exclusive with daily_budget. |
| `spend_cap` | number | No | In cents. |
| `start_time` | string | No | Required with lifetime_budget. |
| `stop_time` | string | No | Required with lifetime_budget. |
| `special_ad_categories` | array of one of `NONE`, `HOUSING`, `EMPLOYMENT`, `CREDIT`, `FINANCIAL_PRODUCTS_SERVICES`, `ISSUES_ELECTIONS_POLITICS`, `ONLINE_GAMBLING_AND_GAMING` | No | Meta Special Ad Category. Required for ads about financial products and services (FINANCIAL_PRODUCTS_SERVICES; CREDIT is the retired name), employment, housing, social issues/elections/politics, or online gambling and gaming. Housing, employment and financial categories lock ad set targeting to 18-65+, all genders and a 15 mi / 25 km radius floor... |
| `special_ad_category_country` | array of string | No | ISO country codes, one or several. Required when special_ad_categories is set; ad sets under the campaign must target inside this list. |
| `campaign_budget_optimization` | boolean | No | Enable CBO. |
| `share_budget_with_ad_sets` | boolean | No | Campaign-level toggle for Meta's "Share some of your budget with other ad sets" (is_adset_budget_sharing_enabled). Only valid on ABO campaigns (no campaign-level budget) whose ad sets use DAILY budgets; rejected on CBO campaigns (Meta error 4834002). Worth considering for ABO campaigns with multiple ad sets. |
| `bid_strategy` | one of `LOWEST_COST_WITHOUT_CAP`, `COST_CAP`, `BID_CAP`, `LOWEST_COST_WITH_MIN_ROAS` | No | Campaign-level bid strategy. Only applied under CBO (campaign_budget_optimization: true) or when share_budget_with_ad_sets is true (budget sharing requires a campaign bid strategy: Meta error 4834005); ignored for plain ad-set-budget campaigns. Cap and ROAS values are set per ad set via adsap_create_ad_sets (bid_amount / roas_target), not at the campaign level. |
| `status` | one of `PAUSED`, `ACTIVE` | No |  |
| `promoted_object` | object | No | OUTCOME_APP_PROMOTION + iOS apps ONLY: campaign-level app binding for iOS/SKAdNetwork campaigns (is_skadnetwork_attribution is set automatically). Meta treats any campaign with a campaign-level promoted_object as an iOS-14 SKAN campaign: Android apps are rejected there (2446632)... The app must be in Live mode and advertisable by the ad account. |
| `promoted_object.application_id` | string | Yes |  |
| `promoted_object.object_store_url` | string | Yes |  |
| `advantage_catalog_ads` | boolean | No | Enable Advantage+ Catalog Ads (catalog-based advertising). OUTCOME_SALES only, and requires catalog_id. REQUIRED for any campaign that will host Catalog or Collection ads: Meta binds the catalog at the CAMPAIGN level, so a plain sales campaign cannot host them. |
| `catalog_id` | string | No | Meta product catalog id to bind to the campaign. Required when advantage_catalog_ads is true, ignored otherwise. Get ids from adsap_list_catalogs. |
| `dry_run` | boolean | No | Preview only: the request is validated and the resolved payload returned, nothing is created or changed. |
| `idempotency_key` | string | No |  |

## Example prompts

- "Create a sales campaign called Summer Sale with a $50 daily budget and campaign budget optimization on."
- "Set up a leads campaign for the French account, paused, with a lifetime budget of 2,000 EUR ending June 30."
- "Preview a catalog sales campaign using my main product catalog before you create anything."

## Notes

Catalog and Collection ads need the catalog bound at the campaign level. Say so when you create the campaign, or those ads fail later.

## Related tools

- `adsap_list_apps`: List the apps an ad account can promote: use to pick application_id + object_store_url for App promotion (OUTCOME_APP_PROMOTION)...
- [`adsap_list_campaigns`](/tools/adsap_list_campaigns): List Meta campaigns in an ad account.

## Guide

Read [Creating a campaign](/guides/launch/campaign-settings) for the workflow around this tool, and the [Tool reference](/tools) for every tool.
