Tag Archives: google_ads_api

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!

Announcing v17 of the Google Ads API

Today, we’re announcing the v17 release of the Google Ads API. To use some of the v17 features, you will need to upgrade your client libraries and client code. The updated client libraries and code examples will be published next week.

Here are the highlights: Where can I learn more?
The following resources can help you get started: If you have any questions or need additional help, contact us via the forum.

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.

Pausing Google Ads Keywords starting June 10 due to Low Activity

Starting June 10, 2024, we are rolling out a permanent change that automatically pauses Google Ads keywords that haven’t had any impressions during the last 13 months. The rollout is expected to be complete for all production Google Ads accounts in August 2024. We’re implementing this change to improve Google Ads experience for advertisers, in a similar way to what we changed earlier this year for ad groups with low activity.

You can unpause keywords if you still need them, or to remove them if you don’t. However, we recommend that all advertisers review their keywords, and only unpause the ones they expect to get impressions in the coming weeks.

What do I need to change?

No code changes are necessary, but Google Ads API developers can make changes to improve the transparency to their advertisers as to why the ad_group_criterion.status is set to PAUSED. If you keep local copies of Google Ads information in your database, you can keep them in sync by querying change history.

You can query the change event resource to see if the keyword status has changed with the following query for all API versions. If the change_event.changed_fields contains status, then this is a keyword that Google paused. Make sure to replace INSERT_YYYY-MM-DD with your own date range.

SELECT
change_event.new_resource,
change_event.old_resource,
change_event.changed_fields,
change_event.resource_name,
change_event.change_resource_name,
change_event.user_email
FROM change_event
WHERE
change_event.change_resource_type = 'AD_GROUP_CRITERION'
AND change_event.user_email = 'Low activity system bulk change'
AND change_event.resource_change_operation = 'UPDATE'
AND change_event.change_date_time BETWEEN ' INSERT_YYYY-MM-DD' AND ' INSERT_YYYY-MM-DD'
ORDER BY change_event.change_date_time DESC
LIMIT 50

An example of a change event where the keyword has been paused by Google would look similar to:

{
      "changeEvent": {
        "resourceName": "customers/1234567890/changeEvents/1708648783892610~5~0",
        "changeDateTime": "2024-02-22 16:39:43.89261",
        "changeResourceName": "customers/1234567890/adGroupCriteria/1234567890~0987654321",
        "changeResourceType": "AD_GROUP_CRITERION",
        "userEmail": "Low activity system bulk change",
        "oldResource": {
          "adGroupCriterion": {
            "status": "ENABLED"
          }
        },
        "newResource": {
          "adGroupCriterion": {
            "status": "PAUSED"
          }
        },
        "changedFields": "status",
        "resourceChangeOperation": "UPDATE",
      }
    }

You can use the resource names returned by this query to retrieve the current status of the keywords and mutate if, if needed.

Starting with v17, you can also retrieve the ad_group_criterion.primary_status field to see if your keywords have been paused; keywords that have this field set to PAUSED and for which the ad_group_criterion.primary_status_reasons contains AD_GROUP_CRITERION_PAUSED_DUE_TO_LOW_ACTIVITY are the ones that were automatically paused due to low activity. You can adjust the change history query to include these fields.

You will still be able to update your keywords and make changes while they are in a paused state.

Where can I get support?

If you have questions, please reach out to us on the support form or at [email protected].

Google Ads API Resource Usage Policy Update

What's changing?

We are updating the Google Ads API resource usage policy to throttle GoogleAdsService.Search and GoogleAdsService.SearchStream query patterns that consume excessive amounts of API resources. If a particular query pattern is throttled, other services, methods, and query patterns will continue to work unaffected.

Starting the week of June 17, 2024, and only for the throttled query patterns, requests will be affected as follows:

  • If you use version v16 or older of the API, you will receive a QuotaError.RESOURCE_TEMPORARILY_EXHAUSTED error.
  • If you use version v17 or later of the API, you will receive a QuotaError.EXCESSIVE_SHORT_TERM_QUERY_RESOURCE_CONSUMPTION or QuotaError.EXCESSIVE_LONG_TERM_QUERY_RESOURCE_CONSUMPTION, depending on whether the excessive resource consumption was for a short period of time (a few minutes), or a long period of time.

To help you identify and monitor your expensive reports, we will also return a cost metric for individual reports. To view the cost for successful reports, see the following fields:

Why this change?

We are making this change to preserve the reliability and stability of the API.

What do I need to do?

Before June 17, 2024, update your applications to do the following:

  • Handle the new error codes when making GoogleAdsService::Search or GoogleAdsService::SearchStream calls
    • If you use version v16 or earlier of the Google Ads API, then handle QuotaError.RESOURCE_TEMPORARILY_EXHAUSTED errors.
    • If you use version v17 or later of the API, handle the QuotaError.EXCESSIVE_SHORT_TERM_QUERY_RESOURCE_CONSUMPTION and QuotaError.EXCESSIVE_LONG_TERM_QUERY_RESOURCE_CONSUMPTION errors.
    • If one or more of your reporting query patterns are throttled, you should review and fix the query pattern. Here are some ways to improve query performance:
    • Run the query less frequently.
    • Use a less expensive query pattern or view.

To learn more about optimizing your queries, see manage data efficiency.

  • [Optional] Incorporate the new query_resource_consumption metric into your monitoring systems to detect and handle new expensive queries.

How to get help

If you have any questions about this change or need help optimizing specific query patterns, check out the Google Ads API support page for options.

Announcing v16_1 of the Google Ads API

Today, we’re announcing the v16_1 release of the Google Ads API. To use some of the v16_1 features, upgrade your client libraries and client code. The updated client libraries and code examples will be published next week. This version has no breaking changes.

Here are the highlights:

Where can I learn more?

The following resources can help you get started:

If you have any questions or need additional help, contact us via the forum.

Google Ads API v14 sunset reminder

Google Ads API v14 will sunset on June 5, 2024. After this date, all v14 API requests will begin to fail. Migrate to a newer version prior to June 5, 2024 to ensure your API access is unaffected.

Here are some resources to help you with the migration: You can view a list of methods and services your project has recently called using the Google Cloud Console:
  1. Open the Dashboard page (found under APIs & Services) in the Google Cloud Console.
  2. Click on Google Ads API in the table.
  3. On the METRICS subtab, you should see your recent requests plotted on each graph. At the bottom of the page, you’ll see the Methods table, where you can see which methods you’ve sent requests to. The method name includes a Google Ads API version, a service, and a method name, e.g., google.ads.googleads.v14.services.GoogleAdsService.Mutate. In this way, you can see all versions that you’ve used recently.
  4. (Optional) Click on the time frame at the top right of the page if you need to change it.
If you have questions while you’re upgrading, reach out to us on the forum or at [email protected].

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.