Convert smart campaigns to PMax campaigns

Starting in the v25_2 release, the Google Ads API introduces the SmartCampaignSettingService.GeneratePMaxDraftCampaign method to help you convert a Smart campaign to a Performance Max campaign.

How conversion works

When you call SmartCampaignSettingService.GeneratePMaxDraftCampaign, the API generates a draft Performance Max campaign based on the configuration of an existing Smart campaign.

The generated Performance Max draft campaign is initialized with the following status values:

This lets you inspect, modify, and enhance the generated Performance Max campaign, budget, asset group, and assets before you enable the campaign to serve ads.

Request parameters

The GeneratePMaxDraftCampaignRequest message accepts the following fields:

  • resource_name (Required): The resource name of the SmartCampaignSetting associated with the existing Smart campaign you want to convert, in the following format:

    customers/customer_id/smartCampaignSettings/campaign_id
    
  • validate_only (Optional): If true, the request is validated but not executed. Only validation errors, warnings, or possible conversion issues are returned in the response's validated_info field.

  • gbp_enabled (Not currently supported): Whether to convert and link the Google Business Profile (GBP) location associated with the Smart campaign to the generated Performance Max campaign. Setting this field to true is not currently implemented and will return a GBP_ENABLED_GENERATE_PMAX_NOT_SUPPORTED error.

  • image_enabled (Not currently supported): Whether to automatically generate required images for the Performance Max campaign (such as horizontal, square, and logo image assets). Setting this field to true is not currently implemented and will return an IMAGE_ENABLED_GENERATE_PMAX_NOT_SUPPORTED error.

Response details

The GeneratePMaxDraftCampaignResponse message returns the resource names of the newly generated Performance Max draft campaign and its associated entities:

  • pmax_campaign: The Campaign resource name of the generated draft Performance Max campaign.
  • campaign_budget: The CampaignBudget resource name linked to the generated Performance Max campaign.
  • asset_group: The AssetGroup resource name linked to the generated Performance Max campaign.
  • assets: A list of Asset resource names linked to the generated Performance Max campaign.
  • validated_info: Additional validation information or possible conversion issues returned when validate_only is set to true.

To convert a Smart campaign, use the following workflow:

  1. Generate the draft campaign: Call SmartCampaignSettingService.GeneratePMaxDraftCampaign with only the required resource_name set (leave gbp_enabled and image_enabled unset or set to false). Save the returned pmax_campaign, campaign_budget, asset_group, and assets resource names.
  2. Review and customize the campaign: Because the draft Performance Max campaign is created with status = PAUSED and creation_status = INCOMPLETE, inspect and configure its budget, asset group, and assets.
  3. Enable the campaign: When you are ready to serve ads, update the campaign's status to ENABLED and creation_status to COMPLETE.