In v25 and later, 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, budget, asset group, and assets,
based on the configuration of the Smart campaign provided in the request. Once
generated, you should inspect, modify, and enhance the new resources before
enabling the campaign to serve ads.
The generated Performance Max draft campaign is initialized with the following status values:
statusis set toPAUSED.- Its serving eligibility is reflected in
primary_status. contains_eu_political_advertisingis set toDOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISINGby default (if not already specified on the Smart campaign). Verify and update this field if your campaign contains EU political advertising.
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.
Draft assets
The new campaign is accompanied by a group of placeholder images that need to be
replaced before the new campaign is enabled. When the image_enabled field is
supported and set to true in the request, the API automatically generates
images instead of using placeholder images. You can inspect the new assets in
the response's assets field, and replace them by following these steps:
- Review the asset requirements guide.
- Upload new images by following the upload image asset example.
- Link the new assets to the draft campaign's asset group and then remove the
AssetGroupAssetlinks for the placeholder images (either in the same atomic mutate request or after linking the new assets so minimum asset requirements remain satisfied) by following the link asset groups to assets guide.
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 supported and 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 supported and 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 = PAUSEDandcreation_status = INCOMPLETE, 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.