create_search_campaign
Create a full Google Ads Search campaign in one atomic operation: budget, geo/language targets, negatives, ad groups with keywords and RSA. Created paused; dry-run unless confirm=true.
Instructions
Create a complete Search campaign in ONE atomic mutate: budget, campaign, location and language criteria, campaign negatives, and every ad group with its keywords and one RSA.
The campaign gets the managed label (default "claude-managed"; created in the account on first use) so remove_entity can later act on it. It is created PAUSED; enable it with set_status. locations: geo target constant ids (United States = 2840); location targeting is created presence-only (positive and negative geo_target_type = PRESENCE). languages: language constant ids (English = 1000); an empty list means "all languages" (no language criterion is created). bidding: MAXIMIZE_CONVERSIONS (optional target_cpa) or MAXIMIZE_CLICKS (optional cpc_bid_ceiling in account currency; omitted = uncapped). Headlines/descriptions accept plain strings or {"text", "pin": "H1".."H3" | "D1" | "D2"}. Network: Google Search only (no partners, no Display). ad_groups: [{"name", "final_url", "keywords": [{"text","match_type"}], "headlines": [...], "descriptions": [...], "path1", "path2", "status", "final_url_suffix", "negative_keywords": [...]}, ...] negative_keywords: [{"text", "match_type"}] at campaign level. Device bid adjustments (e.g. mobile-only) are a follow-up call to set_device_bid_modifiers with the returned campaign id: the device criteria only exist once the campaign does. Extensions (sitelinks, callouts, snippets, images) are separate tools - call them with the returned campaign id. Dry run unless confirm=true.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| bidding | No | MAXIMIZE_CONVERSIONS | |
| confirm | No | ||
| ad_groups | Yes | ||
| languages | Yes | ||
| locations | Yes | ||
| target_cpa | No | ||
| customer_id | Yes | ||
| daily_budget | Yes | ||
| cpc_bid_ceiling | No | ||
| negative_keywords | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |