gads_propose_clone_campaign
Clone a whole proven Search campaign into a NEW market/geo in one atomic proposal: a new PAUSED campaign (own budget + the geo you specify + languages) populated with the source's
Clone a whole proven Search campaign into a NEW market/geo in one atomic proposal: a new PAUSED campaign (own budget + the geo you specify + languages) populated with the source's ad groups — their enabled keywords + strongest live RSA — plus the source's campaign-level negatives ported along. Review-tier: always queues for operator approval. Geo is NEVER copied from the source (the new geo is the point). Reconstructs everything from the warehouse; you name the source campaign, the new name, budget, and target geo. Resolve geo target constant ids with runGaqlQuery on geo_target_constant. After approval + apply, QA and go live with proposeCampaignStatus.
Scope: write token required · money-moving. Every write is dry-run validated, then classified by the safe-apply policy — auto-applied when bounded and low-risk, otherwise queued for approval.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
sourceCampaignId | string | Yes | |
name | string | Yes | |
dailyBudgetMicros | integer | Yes | |
biddingStrategy | "MAXIMIZE_CONVERSIONS" | "MAXIMIZE_CONVERSION_VALUE" | "MANUAL_CPC" | No | Defaults to the closest supported form of the source campaign's strategy. |
targetCpaMicros | integer | No | |
targetRoas | number | No | |
geoTargets | object[] | Yes | |
languageConstantIds | string[] | No | (default: ["1000"]) |
adGroupIds | string[] | No | Subset of the source's ad groups to clone. Defaults to ENABLED groups ordered by name (cap 20). |
enabledKeywordsOnly | boolean | No | (default: true) |
includeBestRsa | boolean | No | (default: true) |
searchPartners | boolean | No | (default: false) |
containsEuPoliticalAdvertising | boolean | No | (default: false) |
reason | string | Yes | |
projectId | string | No | Target account (project id). Required with an org-scoped token for account-scoped tools — call gads_list_ad_accounts to enumerate accounts. Omit with a project-scoped token. |