In v25 (starting in v25.2), you can use the
SmartCampaignSettingService.GeneratePMaxDraftCampaign
method to convert a Smart campaign to a Performance Max campaign. This method is
not available in v24 and earlier.
How conversion works
When you call
SmartCampaignSettingService.GeneratePMaxDraftCampaign,
the API generates a draft Performance Max campaign based on the configuration of
a Smart campaign.
The generated Performance Max draft campaign is initialized with its status
set to PAUSED (and its serving eligibility reflected in
primary_status). If all feature converters fail validation
for the Smart campaign, the request fails with a
SmartCampaignError.GENERATE_PMAX_CONVERTERS_FAIL error.
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. Generating the draft Performance Max campaign does not modify or pause the original Smart campaign, which remains active until you manually pause it.
Request parameters
The GeneratePMaxDraftCampaignRequest message accepts
the following fields:
resource_name(Required): The resource name of theSmartCampaignSettingto regenerate for the Smart campaign you want to convert, in the following format:customers/customer_id/smartCampaignSettings/campaign_idvalidate_only(Optional): Iftrue, the request is validated but not executed. Only validation errors, warnings, or possible conversion issues are returned in the response'svalidated_infofield without creating draft entities.gbp_enabled(Not supported): Optional. Whether to convert the Google Business Profile (GBP) location linked with the Performance Max campaign. Leave this field unset orfalse; setting it totrueis not implemented inv25and returns aSmartCampaignError.GBP_ENABLED_GENERATE_PMAX_NOT_SUPPORTEDerror.image_enabled(Not supported): Optional. Whether to generate required Performance Max campaign images (such as horizontal, square, and logo image types). Leave this field unset orfalse; setting it totrueis not implemented inv25and returns aSmartCampaignError.IMAGE_ENABLED_GENERATE_PMAX_NOT_SUPPORTEDerror.
Response details
The GeneratePMaxDraftCampaignResponse message
returns the resource names of the generated Performance Max draft campaign and
its associated entities:
pmax_campaign: TheCampaignresource name of the generated draft Performance Max campaign.campaign_budget: TheCampaignBudgetresource name linked to the generated Performance Max campaign.asset_group: TheAssetGroupresource name linked to the generated Performance Max campaign.assets: A list ofAssetresource names linked to the generated Performance Max campaign.validated_info: Validation information or possible conversion issues returned by the conversion check (populated both whenvalidate_onlyis set totrueand alongside the generated entity resource names whenvalidate_onlyisfalse).
Recommended workflow
To convert a Smart campaign, use the following workflow:
- Generate the draft campaign: Call
SmartCampaignSettingService.GeneratePMaxDraftCampaignwith only the requiredresource_nameset (leavegbp_enabledandimage_enabledunset or set tofalse). Save the returnedpmax_campaign,campaign_budget,asset_group, andassetsresource names. - Review and customize the campaign: Because the draft Performance Max
campaign is created with
status = PAUSED, inspect and configure its budget, asset group, and assets. - Enable the campaign and pause the original: When you are ready to serve
ads, update the Performance Max campaign's
statustoENABLED, then update the original Smart campaign'sstatustoPAUSEDto prevent duplicate serving.