create_campaign
Set up a new Google Ads campaign and its budget atomically, specifying channel type, bidding strategy, and targeting. Campaign is paused by default to prevent accidental spend.
Instructions
Create a new campaign with a budget.
Creates both the campaign budget and campaign in a single atomic operation. Campaign is created as PAUSED by default for safety.
Args: customer_id: Google Ads customer ID. name: Campaign name. budget_amount: Daily budget in currency (e.g., 50.00 for $50/day). channel_type: Campaign type -- 'SEARCH', 'DISPLAY', 'VIDEO', 'DEMAND_GEN', 'SHOPPING'. bidding_strategy: Bidding strategy -- 'MAXIMIZE_CONVERSIONS', 'MAXIMIZE_CONVERSION_VALUE', 'MAXIMIZE_CLICKS', 'TARGET_SPEND', 'MANUAL_CPC', 'TARGET_CPA', 'TARGET_ROAS'. target_cpa: Target CPA in currency (required if bidding_strategy is TARGET_CPA). target_roas: Target ROAS as a decimal (e.g., 3.0 for 300% ROAS). network_settings: Optional dict with keys: target_google_search, target_search_network, target_content_network (all bool). start_date: Campaign start date (YYYY-MM-DD). Defaults to today. end_date: Optional campaign end date (YYYY-MM-DD). status: Initial status -- 'PAUSED' (default, recommended) or 'ENABLED'.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"customer_id": "<customer_id>",
"name": "<name>",
"budget_amount": "<budget_amount>"
},
"name": "create_campaign"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| status | No | PAUSED | |
| end_date | No | ||
| start_date | No | ||
| target_cpa | No | ||
| customer_id | Yes | ||
| target_roas | No | ||
| channel_type | No | SEARCH | |
| budget_amount | Yes | ||
| bidding_strategy | No | MAXIMIZE_CONVERSIONS | |
| network_settings | No |