Here are some common errors when working with Performance Max campaigns and how
to fix them:

| Error | Description and fix |
|---|---|
| [`AssetGroupError.NOT_ENOUGH_*_ASSET`](https://developers.google.com/google-ads/api/reference/rpc/v26/AssetGroupErrorEnum.AssetGroupError) | The request to create an [`AssetGroup`](https://developers.google.com/google-ads/api/reference/rpc/v26/AssetGroup) or update its linked [`AssetGroupAsset`](https://developers.google.com/google-ads/api/reference/rpc/v26/AssetGroupAsset) resources did not meet [minimum asset count requirements](https://developers.google.com/google-ads/api/performance-max/asset-requirements) for the specified asset type. See [Common asset group errors](https://developers.google.com/google-ads/api/performance-max/troubleshooting#common-asset-group-errors). |
| [`AssetGroupError.SHORT_DESCRIPTION_REQUIRED`](https://developers.google.com/google-ads/api/reference/rpc/v26/AssetGroupErrorEnum.AssetGroupError#short_description_required) | The [`AssetGroup`](https://developers.google.com/google-ads/api/reference/rpc/v26/AssetGroup) is missing a `DESCRIPTION` asset of 60 characters or less. See [Common asset group errors](https://developers.google.com/google-ads/api/performance-max/troubleshooting#common-asset-group-errors) for more information. |
| [`AssetLinkError.BRAND_ASSETS_NOT_LINKED_AT_CAMPAIGN_LEVEL`](https://developers.google.com/google-ads/api/reference/rpc/v26/AssetLinkErrorEnum.AssetLinkError#brand_assets_not_linked_at_campaign_level) | Brand assets must be linked at the campaign level when brand guidelines are enabled for the campaign. Brand guidelines are enabled by default on new standard and retail Performance Max campaigns. Link brand assets using a [`CampaignAsset`](https://developers.google.com/google-ads/api/reference/rpc/v26/CampaignAsset). See the [brand guidelines troubleshooting guide](https://developers.google.com/google-ads/api/performance-max/troubleshooting#campaigns-with-brand-guidelines-enabled) for more information. |
| [`CampaignError.REQUIRED_LOGO_ASSET_NOT_LINKED`](https://developers.google.com/google-ads/api/reference/rpc/v26/CampaignErrorEnum.CampaignError#required_logo_asset_not_linked) | The campaign has brand guidelines enabled but is missing the minimum number of `LOGO` assets. Link at least one `LOGO` asset using a [`CampaignAsset`](https://developers.google.com/google-ads/api/reference/rpc/v26/CampaignAsset). See the [brand guidelines troubleshooting guide](https://developers.google.com/google-ads/api/performance-max/troubleshooting#campaigns-with-brand-guidelines-enabled) for more information. |
| [`CampaignError.REQUIRED_BUSINESS_NAME_ASSET_NOT_LINKED`](https://developers.google.com/google-ads/api/reference/rpc/v26/CampaignErrorEnum.CampaignError#required_business_name_asset_not_linked) | The campaign has brand guidelines enabled but is missing a `BUSINESS_NAME` asset. Link exactly one `BUSINESS_NAME` asset using a [`CampaignAsset`](https://developers.google.com/google-ads/api/reference/rpc/v26/CampaignAsset). See the [brand guidelines troubleshooting guide](https://developers.google.com/google-ads/api/performance-max/troubleshooting#campaigns-with-brand-guidelines-enabled) for more information. |
| [`StringLengthError.TOO_LONG`](https://developers.google.com/google-ads/api/reference/rpc/v26/StringLengthErrorEnum.StringLengthError#too_long) | A text asset exceeds the maximum length limit allowed for that asset type. Shorten the text asset according to limits specified in [asset requirements](https://developers.google.com/google-ads/api/performance-max/asset-requirements). |
| [`MediaUploadError.ASPECT_RATIO_NOT_ALLOWED`](https://developers.google.com/google-ads/api/reference/rpc/v26/MediaUploadErrorEnum.MediaUploadError#aspect_ratio_not_allowed) | An image asset does not meet aspect ratio requirements. Ensure image assets meet the specifications listed in [asset requirements](https://developers.google.com/google-ads/api/performance-max/asset-requirements). |
| [`MediaUploadError.DIMENSIONS_NOT_ALLOWED`](https://developers.google.com/google-ads/api/reference/rpc/v26/MediaUploadErrorEnum.MediaUploadError#dimensions_not_allowed) | An image asset does not meet the dimension requirements. Ensure image assets are larger than the minimum dimensions listed in [asset requirements](https://developers.google.com/google-ads/api/performance-max/asset-requirements). |
| [`AssetGroupError.FINAL_URL_SHOPPING_MERCHANT_HOME_PAGE_URL_DOMAINS_DIFFER`](https://developers.google.com/google-ads/api/reference/rpc/v26/AssetGroupErrorEnum.AssetGroupError#final_url_shopping_merchant_home_page_url_domains_differ) | The `final_url` in the [`AssetGroup`](https://developers.google.com/google-ads/api/reference/rpc/v26/AssetGroup) must use the same website as specified in your Merchant Center account. |
| [`CriterionError.CANNOT_TARGET_LANGUAGE`](https://developers.google.com/google-ads/api/reference/rpc/v26/CriterionErrorEnum.CriterionError#cannot_target_language) | The targeted language is not supported for the campaign's country. |
| [`AssetGroupError.CANNOT_REMOVE_ALL_ASSET_GROUPS_FROM_CAMPAIGN`](https://developers.google.com/google-ads/api/reference/rpc/v26/AssetGroupErrorEnum.AssetGroupError#cannot_remove_all_asset_groups_from_campaign) | A Performance Max campaign must always have at least one active asset group. To remove an asset group, first create or add a new active asset group, or delete/pause the campaign itself. |
| [`CampaignCriterionError.CANNOT_REMOVE_ALL_LOCATIONS_FROM_LOCAL_SERVICES_PMAX_CAMPAIGN`](https://developers.google.com/google-ads/api/reference/rpc/v26/CampaignCriterionErrorEnum.CampaignCriterionError#cannot_remove_all_locations_from_local_services_pmax_campaign) | Local Services Performance Max campaigns require at least one positive location criterion to remain targeted to ensure the campaign can serve locally. Add a new location targeting criterion before attempting to remove the last remaining location. |
| [`AssetGroupSignalError.CANNOT_REMOVE_ALL_SIGNALS`](https://developers.google.com/google-ads/api/reference/rpc/v26/AssetGroupSignalErrorEnum.AssetGroupSignalError#cannot_remove_all_signals) | Each asset group in a Local Services Performance Max campaign must retain at least one targeting signal. Attempting to remove all signals from the asset group returns this error. |
| [`CampaignError.LOCAL_SERVICES_AGREEMENT_REQUIRED`](https://developers.google.com/google-ads/api/reference/rpc/v26/CampaignErrorEnum.CampaignError#local_services_agreement_required) | The Local Services Terms of Service must be accepted before creating or enabling a Local Services Performance Max campaign. Accept the terms in Account settings in the Google Ads UI before creating or enabling the campaign. |
| [`CampaignError.LOCAL_SERVICES_MULTIPLE_PERFORMANCE_MAX_CAMPAIGNS_NOT_ALLOWED`](https://developers.google.com/google-ads/api/reference/rpc/v26/CampaignErrorEnum.CampaignError#local_services_multiple_performance_max_campaigns_not_allowed) | Multiple Local Services Performance Max campaigns are not allowed under a single customer. Ensure that only one Local Services Performance Max campaign exists for the account. |