Google Ads: create Performance Max campaign
create_performance_max_campaignCreates a Performance Max campaign with a budget, business name, and logo.
PMax campaigns require a business name and logo asset linked at the campaign
level (Brand Guidelines). Create these assets first using create_text_asset
(for business name) and create_image_asset (for logo), then pass their
resource names here.
After creating the campaign, create more assets and an asset group using
create_text_asset, create_image_asset, create_youtube_video_asset,
and then create_asset_group.
languages sets the campaign's language setting in the same request as the
campaign. Google uses it on YouTube, Display, Discover and Gmail; on
Google Search, Performance Max ads are matched by the language the ads
are written in. Without languages the campaign has no language setting
and may show to people who use any language on those channels; the
result then says so.
Args:
customer_id: The Google Ads customer ID (numbers only, no hyphens).
name: The name for the new campaign.
budget_amount_micros: Daily budget in micros of the account's currency (10000000 = 10.00: ₹10 on an INR account, $10 on a USD one).
business_name_asset_resource_name: Resource name of a text asset for the business name.
logo_asset_resource_name: Resource name of an image asset for the logo (square, 1200x1200).
status: Initial campaign status: PAUSED, the only status a build takes. Every campaign is built paused, and the user switches it on in Google Ads; ENABLED is refused, and nothing in that call runs. Default: PAUSED.
bidding_strategy_type: One of: MAXIMIZE_CONVERSIONS, MAXIMIZE_CONVERSION_VALUE.
Default: MAXIMIZE_CONVERSIONS.
target_cpa_micros: Target CPA in micros of the account's currency, optional with MAXIMIZE_CONVERSIONS.
target_roas: Target ROAS (e.g., 2.0 for 200%), optional with MAXIMIZE_CONVERSION_VALUE.
final_url_expansion_opt_out: Set True to opt out of final URL expansion. Default: False.
start_date: Campaign start date in YYYY-MM-DD format. Optional.
end_date: Campaign end date in YYYY-MM-DD format. Optional.
languages: Google Ads language codes (e.g. en, hi, es, pt, de, fr,
ja, zh_CN) the campaign may show to on YouTube, Display, Discover
and Gmail. Not used on Google Search. Optional.
over_comfort_ack: The user's own words or reason when they asked for
a budget above their saved comfort (e.g. "user asked for 6,000/day
on 2026-09-23"). Recorded with the change by the hosted connector;
never sent to Google. Optional.
Returns:
Dictionary with created campaign and budget resource names, and the
language codes set (an empty list means every language).Tools revision: 5c9bea8f.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| status | No | PAUSED | |
| end_date | No | ||
| languages | No | ||
| start_date | No | ||
| customer_id | Yes | ||
| target_roas | No | ||
| over_comfort_ack | No | ||
| target_cpa_micros | No | ||
| budget_amount_micros | Yes | ||
| bidding_strategy_type | No | MAXIMIZE_CONVERSIONS | |
| logo_asset_resource_name | Yes | ||
| final_url_expansion_opt_out | No | ||
| business_name_asset_resource_name | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |