Writes (money-moving)

gads_propose_create_campaign

Propose a new Search campaign: its own daily budget, the campaign, and its location and language targeting, created together.

Propose a new Search campaign: its own daily budget, the campaign, and its location and language targeting, created together. This records a proposal only: it always waits for a person to approve it, and nothing is created in Google Ads before then. Once approved, the campaign is created enabled (pass startPaused: true to create it paused instead). It has no ad groups or ads yet, so it cannot serve or spend until those are proposed and approved too. An applied create can be reverted, which removes the campaign. Location ids are Google geo target constant ids (2250 = France); a GAQL query on geo_target_constant resolves a place name to its id. Start on MAXIMIZE_CONVERSIONS without a target and add one after about 30 conversions.

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

ParameterTypeRequiredDescription
namestringYesCampaign name, as it should read in Google Ads.
dailyBudgetMicrosintegerYesDaily budget in the account's currency, in micros: 1,000,000 micros = 1 unit (50000000 = 50.00 a day).
biddingStrategy"MAXIMIZE_CONVERSIONS" | "MAXIMIZE_CONVERSION_VALUE" | "MANUAL_CPC"NoBidding strategy. Default MAXIMIZE_CONVERSIONS. (default: "MAXIMIZE_CONVERSIONS")
targetCpaMicrosintegerNoOptional target cost per conversion, in micros. Leave unset to launch without a target.
targetRoasnumberNoOptional target return on ad spend as a ratio: 1.4 = 140%. Leave unset to launch without a target.
geoTargetsobject[]YesLocations the campaign targets or excludes. At least one must be targeted.
languageConstantIdsstring[]NoGoogle language constant ids. Default 1000 = English. (default: ["1000"])
searchPartnersbooleanNoAlso serve on Google search partner sites. Default false. (default: false)
startDatestringNoOptional first day the campaign may serve, YYYY-MM-DD.
endDatestringNoOptional last day the campaign may serve, YYYY-MM-DD.
startPausedbooleanNoCreate the campaign paused when the approval applies, to enable it later. Default false: approving the proposal is the go-live decision. (default: false)
reasonstringYesWhy this change, shown to the approver.
projectIdstringNoTarget account (project id). Optional when exactly one authorized stored account exists. Use gads_list_ad_accounts or gads_get_connection_status to select among multiple accounts.

On this page