Opus Growth

Create Demand Gen Campaign

Creates a Demand Gen campaign (PAUSED) + a daily budget.

Type
Makes changes
Credits
8
Platform
Google Ads
Approval
Preview first, applied after you approve

What it does

Creates a Demand Gen campaign (PAUSED) + a daily budget. Ads/assets are added separately. bid_strategy: MAXIMIZE_CONVERSIONS (default) | MAXIMIZE_CLICKS (for a traffic/click objective — this is what a migrated Video Action campaign wants) | TARGET_CPA (target_cpa required, account currency). A CPC ceiling is NOT accepted on Demand Gen: Google rejects it with OPERATION_NOT_PERMITTED_FOR_CONTEXT on this channel (measured), so there is no cpc_bid_ceiling parameter — the cap only exists on Search/Display. To change the strategy after creation use manage_bidding_strategies.

GEOGRAPHY IS NOT SET HERE AND THE DEFAULT IS EVERY COUNTRY. Demand Gen keeps location and language on the AD GROUP, not the campaign, so this call cannot take them: a campaign created here and enabled without a further step runs worldwide. That happened on a live account — 714 clicks in six hours, one of them from the target continent. After creating the ad group, set the targeting with set_ad_group_targeting(ad_group_id=..., locations=...) and verify it with get_campaign_targeting(ad_group_id=...). Connected TV inventory is also on by default; for a traffic objective exclude it with manage_device_targeting(device='CONNECTED_TV', bid_modifier_pct=-100). confirm=false → dry-run.

MCP: create_demand_gen_campaign

How to use it

You don't call tools by name. Write what you want in ChatGPT, Claude or another assistant connected to Opus Growth, in your own words; it picks this tool when it fits.

Because this tool changes your account, your assistant first shows a preview of exactly what will change. Nothing is applied until you say yes, and every applied change is written to your audit log.

Parameters

NameTypeRequiredDefault
customer_idstringRequired·Google Ads customer account ID to query or change. Use the numeric ID returned by list_accounts; omit separators unless this tool explicitly says otherwise.
namestringRequired·Human-readable name for the resource being created or updated.
daily_budgetnumberRequired·Daily spending budget in the account currency, in the provider's expected numeric unit.
bid_strategystringOptionalMAXIMIZE_CONVERSIONSMAXIMIZE_CONVERSIONS · MAXIMIZE_CLICKS · TARGET_CPA · Provider bidding strategy to configure or query for the selected campaign or ad group.
target_cpanumberOptional0.0Target cost per acquisition in the provider's expected numeric unit and account currency.
confirmbooleanOptionalfalseSafety confirmation for a state-changing operation. Leave false to preview or validate; set true only after the user explicitly approves the shown change.