gads_propose_clone_campaign
Clone a whole proven Search campaign into a NEW market/geo in one atomic proposal: a new campaign (own budget + the geo you specify + languages) populated with the source's ad grou
Clone a whole proven Search campaign into a NEW market/geo in one atomic proposal: a new 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, and on approval the clone GOES LIVE and starts spending, because it arrives complete with ad groups and ads. Pass startPaused: true to stage it for QA and enable later with proposeCampaignStatus. 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.
Type: money-moving write. 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) |
startPaused | boolean | No | Stage the clone PAUSED instead of launching it on approval. Default false. A clone arrives complete with ad groups and ads, so live-on-approval means it starts spending immediately — set true when you want a QA pass first. (default: false) |
reason | string | Yes | |
projectId | string | No | Target account (project id) — required on account-scoped tools. Call gads_list_ad_accounts to enumerate accounts. |