Skip to Content
Tool referenceCreate Google Ads Performance Max campaign

Create Google Ads Performance Max campaign (adsap_google_create_pmax_campaign)

Platform: Google Ads · Read or write: Write · Plan: Early Access · Consumes a task: Yes · Preview supported: Yes

What it does

Creates a full Performance Max campaign in one request: budget, campaign, location and language targeting, and one asset group with text plus images you uploaded earlier. The campaign is always created paused. Ask for a preview first: Google validates the whole plan without creating anything.

Parameters

Descriptions are shortened from the tool schema. Your assistant sees the full text.

NameTypeRequiredDescription
ad_account_idstringYesBare 10-digit Google Ads customer ID (from adsap_google_list_ad_accounts). No dashes, no act_ prefix.
campaignobjectYes
campaign.namestringYes
campaign.daily_budgetnumberYesDaily budget in the ACCOUNT CURRENCY as a plain number (e.g. 12.50): NOT micros, NOT cents.
campaign.bidding_strategyone of auto, maximize_conversions, maximize_conversion_valueNoPerformance Max supports ONLY these two strategies. ‘auto’ (default) picks maximize_conversions and warns if the account has no conversion tracking.
campaign.target_cpanumberNoOptional target cost-per-action in the account currency. Requires bidding_strategy maximize_conversions.
campaign.target_roasnumberNoOptional target return on ad spend as a multiplier (3.5 = 350%). Requires bidding_strategy maximize_conversion_value.
campaign.final_url_expansionbooleanNoGoogle’s default lets PMax send traffic to more relevant pages on your domain. Set false to opt out (traffic only to the asset group’s final_url).
campaign.asset_automationobjectNoOptional per-type opt-in/out of Google’s asset automations at create (e.g. {GENERATE_IMAGE_ENHANCEMENT: ‘OPTED_OUT’} stops Google AI enhancing images). PMax accepts all five types. Absent = Google defaults.
geoobjectYes
geo.location_idsarray of stringYesGeo target constant ids to TARGET (from adsap_google_search_geo_targets).
geo.negative_location_idsarray of stringNoGeo target constant ids to EXCLUDE.
language_idsarray of stringNoLanguage constant ids (default [‘1000’] = English).
asset_groupobjectYes
asset_group.namestringYes
asset_group.final_urlstringYes
asset_group.path1stringNoDisplay-URL path segment (<=15 chars).
asset_group.path2stringNoSecond path segment (<=15 chars, requires path1).
asset_group.business_namestringYesYour business name as shown in ads (<=25 characters).
asset_group.headlinesarray of stringYes3-15 unique headlines, each <=30 characters.
asset_group.long_headlinesarray of stringYes1-5 unique long headlines, each <=90 characters.
asset_group.descriptionsarray of stringYes2-5 unique descriptions, each <=90 characters: AT LEAST ONE must be <=60 characters.
asset_group.logo_asset_idsarray of stringYes1-5 LOGO-eligible image asset ids from adsap_google_upload_asset (1:1, min 128x128).
asset_group.landscape_image_asset_idsarrayYes1-20 MARKETING_IMAGE-eligible asset ids (1.91:1, min 600x314).
asset_group.square_image_asset_idsarrayYes1-20 SQUARE_MARKETING_IMAGE-eligible asset ids (1:1, min 300x300).
asset_group.portrait_image_asset_idsarrayNoOptional PORTRAIT (4:5, min 480x600) asset ids.
asset_group.youtube_video_idsarray of stringNoOptional YouTube video ids (created as assets inline). Without a video Google may auto-generate one from your other assets.
asset_group.call_to_actionone of LEARN_MORE, GET_QUOTE, APPLY_NOW, SIGN_UP, CONTACT_US, SUBSCRIBE, DOWNLOAD, BOOK_NOW and 9 moreNoOptional CTA button; Google automates it when unset.
signalsobjectNo
signals.search_themesarray of stringNoUp to 50 keyword-like search themes steering PMax (hints, not targeting).
signals.audience_idsarray of stringNoOptional Audience resource ids used as signals.
retailbooleanNotrue = retail PMax: reads the account’s ACTIVE Merchant Center link and attaches shopping_setting.merchant_id (fails with a clear error if no active link).
dry_runbooleanNoPreview only: the request is validated and the resolved payload returned, nothing is created or changed.

Example prompts

  • “Preview a Performance Max campaign for my store at 100 dollars a day targeting the US, using the images I uploaded yesterday.”
  • “Create a retail Performance Max campaign linked to my Merchant Center with these headlines and descriptions.”
  • “Create the Performance Max campaign we just previewed.”

Notes

The asset group needs 3 to 15 headlines, 1 to 5 long headlines, 2 to 5 descriptions and a business name. It also needs at least one logo, one landscape image and one square image. Retail mode needs an active Merchant Center link.

  • adsap_google_create_app_campaign: Create a complete Google App campaign in ONE atomic request: budget, campaign (ALWAYS created PAUSED: activate later with…
  • adsap_google_create_demand_gen_campaign: Create a complete Google Ads Demand Gen campaign (YouTube, Discover, Gmail, Maps and the Google Display Network) in ONE atomic request…
  • adsap_google_create_display_campaign: Create a classic standalone Google Display campaign in ONE atomic request: budget, campaign (ALWAYS created PAUSED: activate later with…
  • adsap_google_create_search_campaign: Create a complete Google Ads Search campaign in ONE atomic request: budget, campaign (ALWAYS created PAUSED: activate later with…
  • adsap_google_create_shopping_campaign: Create a complete standard Google Shopping campaign in ONE atomic request: budget, campaign (ALWAYS created PAUSED: activate later with…
  • adsap_google_list_campaigns: List Google Ads campaigns in a Google Ads account (cache-first; auto-refreshes from Google when the cache is missing or older than 1 hour).

Guide

Read Performance Max campaigns for the workflow around this tool, and the Tool reference for every tool.

Last updated on