Tag Archives: performance_max

Upcoming Performance Max campaign migration to enable brand guidelines

Starting on May 1, 2025, we will begin to automatically enable brand guidelines for Performance Max campaigns that use the same brand assets (BUSINESS_NAME, LOGO, and LANDSCAPE_LOGO) across all asset groups.

Please note the rollout timelines:
  • For Google Ads UI users: The process will begin on May 1, 2025 for customer IDs that exclusively manage their campaigns using the UI.
  • For API users: This process will begin on June 1, 2025.
The overall process across all campaigns is expected to be complete by July 31, 2025.

Important Notes:
  • Only campaigns using consistent business names and logo assets across all asset groups will be automatically migrated. Campaigns with variations in these assets will not be migrated.
  • All eligible Performance Max campaigns under a customer ID will be migrated simultaneously.
  • After migration, each migrated campaign will have its own set of brand assets stored at the campaign level using CampaignAsset.
  • You can tell if a campaign has been migrated by checking its Campaign.brand_guidelines_enabled field.
Actions Required
If your application creates asset groups, update your code to check the campaign’s Campaign.brand_guidelines_enabled field. This will tell you whether to include brand assets in the new asset group.

If your application modifies brand assets, update your code to check the campaign’s Campaign.brand_guidelines_enabled field. This will tell you where to save the brand asset; either on a campaign using a CampaignAsset or on an asset group using an AssetGroupAsset.

To avoid extra steps later, we strongly recommend migrating all of your campaigns now using CampaignService.EnablePMaxBrandGuidelines. If you migrate your campaigns manually, each CampaignService.EnablePMaxBrandGuidelines request can only include 10 EnableOperations.

If you have any questions or need help, check out the Google Ads API support page for options.

Upcoming changes to enable brand guidelines in Performance Max

Starting on January 20, 2025, new Performance Max (PMax) campaigns created with the UI will have brand guidelines enabled and require business name and logo brand assets to be linked at the campaign level rather than the asset group level. Brand guidelines is a new feature that allows you to control how your brand is represented in your Performance Max campaign automated assets or formats.

What this means for API users

New PMax campaigns created in the UI with brand guidelines enabled will automatically link BUSINESS_NAME, LOGO, and LANDSCAPE_LOGO via the CampaignAsset resource rather than by using the AssetGroupAsset resource, which may impact integrations that attempt to report on or update these assets. You can check if brand guidelines are enabled for a PMax campaign by referencing the Campaign.brand_guidelines_enabled field.

As of v18 of the Google Ads API, it is not possible to create brand guidelines-enabled PMax campaigns via the API, which means new campaigns must link BUSINESS_NAME, LOGO, and LANDSCAPE_LOGO assets using the AssetGroupAsset resource. In a future release, you will be able to create and fully manage PMax campaigns with brand guidelines enabled.

It is important to note that the same asset requirements will continue to apply to all PMax campaigns regardless of whether or not brand guidelines are enabled. However, BUSINESS_NAME, LOGO, and LANDSCAPE_LOGO asset requirements will be evaluated at the campaign level for campaigns with brand guidelines enabled and the asset group level for campaigns without brand guidelines enabled. You can reference the relevant section of our Performance Max optimization and troubleshooting guide for more information, and as always, contact our team if you need support.

Performance Max Campaign in Detail Placement View

The detail_placement_view can be used to query metrics aggregated by ad group and URL or YouTube video in the Google Ads API. The detail_placement_view is not intended to be used for campaigns with an advertising_channel_type of PERFORMANCE_MAX, as this view is only intended to be used with campaigns containing ad groups, and Performance Max campaigns are constructed with asset groups rather than ad groups. However, this view is currently returning impression data for Performance Max campaigns. The impression metrics returned from the ​​detail_placement_view may not be accurate and should not be relied upon for campaigns with advertising_channel_type of PERFORMANCE_MAX.

In the next release of the Google Ads API, v18, we will be adding a new resource called performance_max_placement_view, which can be used to query placement impression data for Performance Max campaigns, and in a subsequent release, we will stop returning impression data from the ​​detail_placement_view for campaigns with advertising_channel_type of PERFORMANCE_MAX. Once performance_max_placement_view is released, use the data returned from that view for Performance Max campaigns rather than the data returned from the detail_placement_view.

If you have any questions or need help, check out the Google Ads API support page for options.

Watch Performance Max and the Google Ads API On Demand

As previously announced, Ads Developer Relations hosted a workshop on July 17: Performance Max and the Google Ads API. We are grateful to all the Google Ads API and Performance Max enthusiasts who tuned in for the live workshop.

If you didn't get a chance to watch the workshop live, or you want to review content you previously watched, you can still view sessions on demand at the event site.

We hope you will take advantage of this awesome resource to learn more about the power of Performance Max campaigns, and hear from Google Ads API experts on how to build, manage, and report on Performance Max campaigns using the API.

Register for the Performance Max Workshop

As previously announced, the Performance Max and the Google Ads API workshop is only one week away, on July 17, 2024. Register today to reserve your spot.

As a reminder, this developer-focused, virtual workshop will provide you with knowledge, resources, and support to build, manage, and report on Performance Max campaigns in the Google Ads API. We’re offering this live workshop in three regions. Follow the links below to view the full agenda in your region.

Regional Workshop Times & Agendas

We look forward to seeing you!

Batch processing support for Performance Max

What’s New

Starting with Google Ads API v17, BatchJobService supports AssetGroupOperation. With this change you can use batch processing to create and manage entire Performance Max campaigns.

Batch processing is a powerful feature in the Google Ads API that lets you dispatch a set of operations, which might be interdependent, to multiple services without waiting for each operation to complete. Batch processing also provides automatic retries for transient errors, and automatic grouping of operations We have made batch processing available for AssetGroupOperation in response to your feedback to provide another option for working with asset groups asynchronously.

Implementation Details

Using AssetGroupOperation with batch processing for Performance Max campaigns is similar to how you use other operations, with the following special considerations:

When creating asset groups using batch processing, AssetGroupOperation and AssetGroupAssetOperation must be sequential without other operations in between. This is due to how operations are grouped together when processed. You can learn more about the considerations and best practices for using batch processing to create Performance Max campaigns in the Batch processing for Performance Max guide.

Here’s how to create an asset group in a batch job:

  1. Create a MutateOperation containing an AssetGroupOperation. This is no different than creating a MutateOperation using the GoogleAdsService.Mutate service. See the mutating resources guide.
  2. Associate assets with the asset group by creating a MutateOperation containing operations of type AssetGroupAssetOperation for each asset required; the sequential AssetGroupOperation and operations of type AssetGroupAssetOperation must combine to meet applicable minimum asset requirements.
  3. Add the operations of type MutateOperation to the batch job as you would with any other type of operation.
  4. Run the batch job by calling RunBatchJob after adding all operations.

The following resources contain additional information to help you with your integration:

Improving Performance Max integrations Blog Series

This article is part of a series that discusses new and upcoming features that you have been asking for. We’ll cover what’s new and how it differs from the current implementation approach.

Keep an eye out for further updates and improvements on our developer blog, continue providing feedback on Performance Max integrations with the Google Ads API, and as always, contact our team if you need support.

Workshop Reminder

Register today for the Performance Max and the Google Ads API workshop happening on July 17!

Upcoming Workshop: Performance Max and the Google Ads API

Today, we’re announcing an upcoming developer workshop, Performance Max and the Google Ads API. These virtual sessions will provide you with knowledge, resources, and support to create, manage, and report on Performance Max campaigns in the Google Ads API. The workshop will be presented live in three regions on July 17, 2024.

Regional Workshop Times & Agendas

Hear from Google Ads API experts as we:

  • Tour the core features and business goals available in Performance Max campaigns.
  • Detail key technical pieces of your Performance Max implementation, from setup to reporting.
  • Build a Performance Max interface in an interactive demo.
  • Review best practices for configuring and optimizing your Performance Max campaigns.
  • Discuss Performance Max and AI in an experts panel.

Whether you’re new to Performance Max or looking to expand upon an existing integration, we'll have a variety of sessions to help you achieve your goals and boost your Google Ads account performance with the power of Google AI. We’ll be delivering several talks to discuss what's unique about Performance Max and explain key concepts across experience levels.

Throughout the workshop, you’ll have the opportunity to interact with our team via live Q&A.

Head over to the event site to register and view the full agenda. We look forward to seeing you!

A new guide to help you upgrade to Performance Max using the Google Ads API


Do you want to discover if Performance Max can provide additional benefits beyond your existing campaigns?
Are you interested in upgrading existing campaigns to Performance Max?
Do you need to scale your upgrades using the Google Ads API?

What’s new
If the answer to any of these questions is “yes”, then the new Upgrade to Performance Max guide can help. In this guide you will discover:
  • A summary of the benefits available in Performance Max
  • Steps to assist you managing the upgrade process
  • Eligibility information to help you understand which existing campaigns you are able to upgrade using the Google Ads API
  • Recommendations to compare reporting between existing campaigns and Performance Max campaigns
  • Enhancements you can make to improve your upgraded campaign
Feedback and support
If you have further questions or concerns about upgrading to Performance Max, we want to hear from you. Please provide any feedback on the upgrade process or Performance Max using our feedback page. If you require further support with your upgrade, please reach out to our team via one of our support channels.

Introducing the Performance Max Developer Guide

Today we are pleased to announce the release of a dedicated Performance Max developer guide. With this release, we’ve moved Performance Max content to its own tab in the main navigation of our developer documentation with a dedicated landing page and updated navigation to help you more easily find the information you need to build Performance Max integrations.

Other notable improvements include:

Improving Performance Max integrations Blog Series

This article is part of a series that discusses new and upcoming features that you have been asking for. Keep an eye out for further updates and improvements on our developer blog, continue providing feedback on Performance Max integrations with the Google Ads API, and as always, contact our team if you need support.

Important information for Performance Max campaigns using page feeds with text asset automation opted out

Note: You can ignore this if you are not using Google Ads Performance Max with page feeds and text asset automation

What’s happened?

In October 2023, as part of Google Ads API v15, we launched the ability to configure your campaign to automatically generate text assets. Assets such as dynamic headlines or descriptions that match your landing page content can be configured by setting the Campaign.AssetAutomationSetting of TEXT_ASSET_AUTOMATION to be opted-in or opted-out. We also launched the ListingGroupFilterDimension.Webpage dimension to allow Performance Max campaigns to filter URLs from a page feed specified by a CampaignAssetSet linking the campaign to an AssetSet of type PAGE_FEED.

For this feature to work correctly, developers need to provide BOTH the page feed configuration AND set text asset automation to OPTED_IN (which is the default behavior, if you do not specify a Campaign.AssetAutomationSetting of type TEXT_ASSET_AUTOMATION). We noticed that some developers have included a page feed or a listing group filter for a webpage, but have text asset automation set to OPTED_OUT. Unfortunately this combination will not correctly utilize the page feed for Performance Max campaigns as might be expected.

What is happening today?

Starting Feb 15, 2024, we will begin throwing OPERATION_NOT_PERMITTED_FOR_CONTEXT errors if a Performance Max campaign is created or updated such that it contains the follow incompatible state:

Incompatible state for a Performance Max campaign with a page feed and text asset automation
Campaign.AssetAutomationSetting of type TEXT_ASSET_AUTOMATION is set to OPTED_OUT AND A CampaignAssetSet linking the campaign to an AssetSet of type PAGE_FEED
OR
An AssetGroupListingGroupFilter with ListingGroupFilterDimension set to Webpage.

We are doing this to let you know that this combination is not valid and won’t serve ads utilizing landing page content as expected.

What happens next?

For those developers who have campaigns in this incompatible state, starting April 15, 2024, we will automatically fix the compatibility by removing CampaignAssetSet resources linking a campaign to an AssetSet of type PAGE_FEED and removing AssetGroupListingGroupFilter resources with ListingGroupFilterDimension set to Webpage only if the Campaign.AssetAutomationSetting of type TEXT_ASSET_AUTOMATION is set to OPTED_OUT. This fix will match how the campaign is currently serving and no action is required if you would like the campaign to remain in this state. If you would like to utilize the landing page content, then you will need to opt-in to text asset automation.

What do I need to do?

First, confirm that you are using text asset automation and page feed assets or asset group listing filters with webpage dimensions in your Performance Max campaigns. Otherwise, you are not impacted by this change.

To check if your Performance Max campaign is in an incompatible state for page feeds, run the following GAQL queries:

1) Check for page feeds linked to campaigns that have text asset automation opted-out:

SELECT 
  asset_set.id, 
  asset_set.name, 
  asset_set.resource_name, 
  campaign.id, 
  campaign.name, 
  campaign.resource_name, 
  campaign.asset_automation_settings, 
  campaign_asset_set.status, 
  campaign.status 
FROM campaign_asset_set 
WHERE 
  campaign.advertising_channel_type = 'PERFORMANCE_MAX' 
  AND asset_set.type = 'PAGE_FEED' 
  AND asset_set.status = 'ENABLED' 
  AND campaign_asset_set.status = 'ENABLED' 
  AND campaign.status != 'REMOVED' 

You may be impacted if any of the CampaignAssetSet resources, linking a campaign to an AssetSet of type PAGE_FEED, have a campaign_asset_set.status that is set to ENABLED and an item in campaign.asset_automation_settings with TEXT_ASSET_AUTOMATION set to OPTED_OUT.

2) Check for asset group listing group filters with dimension webpage for campaigns that have text asset automation opted-out:

SELECT 
  asset_group.id, 
  asset_group.name, 
  asset_group.resource_name, 
  asset_group_listing_group_filter.case_value.webpage.conditions, 
  asset_group_listing_group_filter.id, 
  asset_group_listing_group_filter.resource_name, 
  asset_group_listing_group_filter.listing_source, 
  campaign.id, 
  campaign.name, 
  campaign.resource_name, 
  campaign.asset_automation_settings, 
  campaign.status 
FROM asset_group_listing_group_filter 
WHERE 
  asset_group.status != 'REMOVED' 
  AND campaign.advertising_channel_type = 'PERFORMANCE_MAX' 
  AND asset_group_listing_group_filter.listing_source = 'WEBPAGE' 
  AND campaign.status != 'REMOVED'

You may be impacted if any of the AssetGroupListingGroupFilter resources have a case_value that is a Webpage and an item in campaign.asset_automation_settings with TEXT_ASSET_AUTOMATION set to OPTED_OUT.

Manually fix the inconsistent state of the campaign

If you would like to manually configure the campaign yourself ahead of the automatic fix, we suggest one of the two options:

Options to manually fix the inconsistent state of a Performance Max campaign
OPTION A) Turn on text asset automation
Set Campaign.AssetAutomationSetting of type TEXT_ASSET_AUTOMATION to OPTED_IN
OPTION B) Remove associated page feed references
Remove BOTH:
The CampaignAssetSet linking the campaign to an AssetSet of type PAGE_FEED AND The AssetGroupListingGroupFilter with ListingGroupFilterDimension set to Webpage.

You will be able to make this change until April 15, 2024, after which option B will be automatically applied to fix the Performance Max campaign. Note that after the automatic fix is applied, the serving state of the campaign won't change from how it is serving today.

How do I get support?

For more details on how to correctly use automatically generated text assets with landing pages, see the automatically created assets section of the Performance Max guide. If you require further support, please reach out to our team via one of our support channels.