Docs menu
Get started
What is Opus GrowthQuickstartAdd to your AIHow it worksSafety and approvalCreditsPlansFAQAI apps
All AI appsChatGPTClaudeGrokPerplexityClaude CodeCodexGemini CLIOpenClawCursorVS CodeWindsurfOther MCPConnect ad platforms
Google AdsMeta AdsLinkedIn AdsMicrosoft AdvertisingTikTok AdsChatGPT AdsAgencies and MCCConnect data sources
Search ConsoleGoogle AnalyticsYouTubeBusiness ProfileTag ManagerWebsites and SEO
AI ServerWordPressSEO IntelligenceClick fraudTool reference
All toolsGoogle AdsMeta AdsTikTok AdsLinkedIn AdsMicrosoft AdvertisingChatGPT AdsSearch ConsoleGoogle AnalyticsYouTubeBusiness ProfileTag ManagerWordPressAI ServerSEO IntelligenceClick fraudCross-channelAccount and billingLanguage
Create Demand Gen Video Ad
Creates an ad inside a Demand Gen ad group — a VIDEO ad (give youtube_video) or an IMAGE multi-asset ad (give image asset ids instead).
- Type
- Makes changes
- Credits
- 5
- Platform
- Google Ads
- Approval
- Preview first, applied after you approve
What it does
Creates an ad inside a Demand Gen ad group — a VIDEO ad (give youtube_video) or an IMAGE multi-asset ad (give image asset ids instead). This is the last step that makes a Demand Gen campaign able to serve, and the only way to run a click-oriented YouTube campaign now that Google moved Video Action campaigns into Demand Gen.
VIDEO ad: youtube_video accepts a bare video id, a watch URL, a youtu.be link or a /shorts/ link; the matching video asset in the account is reused if it already exists and created once if it does not. Headline <=40 chars, long_headline <=90, description <=90, up to 5 each. call_to_action is optional (LEARN_MORE, SIGN_UP, GET_QUOTE, CONTACT_US, SUBSCRIBE, DOWNLOAD, BOOK_NOW, SHOP_NOW, BUY_NOW, DONATE_NOW, ORDER_NOW, APPLY_NOW).
IMAGE ad (DEMAND_GEN_MULTI_ASSET_AD): leave youtube_video empty and give marketing_image_asset_ids (landscape 1.91:1, min 600x314) and/or square_image_asset_ids (1:1, min 300x300) — at least one of the two — plus optional portrait_image_asset_ids (4:5, min 480x600); 20 images at most in total. Ids come from list_assets or upload_image_asset (use aspect '1.91:1' / '1:1' / '4:5'). Up to 5 headlines <=30 chars and up to 5 descriptions <=90 chars; there is no long headline. call_to_action_text is the optional button text. headlines and descriptions take a list, or a string with one item per line (comma-separated also works when no item contains a comma). Google REQUIRES business_name (<=25) and a square logo for both types: logo_asset_id from an existing image asset, or empty to use the account's largest square image asset; if none exists, upload_image_asset uploads one. The ad is created PAUSED, so nothing spends until it is enabled. To edit the copy of an existing image ad later use update_rsa with its ad id. confirm=false -> preview.
MCP: create_demand_gen_ad
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.
Parameters
| Name | Type | Required | Default | |
|---|---|---|---|---|
| customer_id | string | Required | · | 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. |
| ad_group_id | string | Required | · | Exact ad group identifier to target. Use the ID returned by an Opus Growth list or create operation, not a display name. |
| youtube_video | string | Optional | · | Exact youtube video value for create demand gen ad. Supply text in the provider's required format; when it selects an existing resource, use the exact identifier returned by the relevant list or search operation. |
| headlines | array|string | Optional | · | Ordered list of ad headline text variants, within the provider's character and policy requirements. |
| descriptions | array|string | Optional | · | Ordered list of ad description text variants, within the provider's character and policy requirements. |
| final_url | string | Optional | · | Final landing-page URL users should reach after clicking the ad. |
| business_name | string | Optional | · | Business name to show in the selected campaign, ad, report, or account setting. |
| long_headline | string | Optional | · | Exact long headline value for create demand gen ad. Supply text in the provider's required format; when it selects an existing resource, use the exact identifier returned by the relevant list or search operation. |
| logo_asset_id | string | Optional | · | Exact logo asset identifier to target. Use the ID returned by an Opus Growth list or create operation, not a display name. |
| call_to_action | string | Optional | · | LEARN_MORE · GET_QUOTE · APPLY_NOW · SIGN_UP · CONTACT_US · SUBSCRIBE · DOWNLOAD · BOOK_NOW · SHOP_NOW · BUY_NOW · DONATE_NOW · ORDER_NOW · Call-to-action value accepted by the provider for the selected ad or creative. |
| ad_name | string | Optional | · | Name of the ad to select, create, or display for this operation. |
| marketing_image_asset_ids | array|string | Optional | · | One or more exact marketing image asset identifiers to target. Use identifiers returned by an Opus Growth list or create operation, not display names. |
| square_image_asset_ids | array|string | Optional | · | One or more exact square image asset identifiers to target. Use identifiers returned by an Opus Growth list or create operation, not display names. |
| portrait_image_asset_ids | array|string | Optional | · | One or more exact portrait image asset identifiers to target. Use identifiers returned by an Opus Growth list or create operation, not display names. |
| call_to_action_text | string | Optional | · | Exact call to action text value for create demand gen ad. Supply text in the provider's required format; when it selects an existing resource, use the exact identifier returned by the relevant list or search operation. |
| confirm | boolean | Optional | false | Safety confirmation for a state-changing operation. Leave false to preview or validate; set true only after the user explicitly approves the shown change. |
Related tools
account_auditAccount Snapshotaccount_snapshotAdd Keywordsadd_keywordsAdd Negative Keywordadd_negative_keywordAdd PMax Imagesadd_pmax_imagesApply Recommendationapply_recommendationBudget Pacing Alertsbudget_pacing_alertsCompetitor Adscompetitor_adsConnect Business Profileconnect_business_profile