Author Archives: Google Ads Developer Advisor

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.

Announcing v202405 of the Google Ad Manager API

We're pleased to announce that v202405 of the Google Ad Manager API is available today. This release brings support for contextual targeting.

It also includes a number of deprecations, such as the removal of the ActivityService, ActivityGroupService, and ACTIVITY reporting dimensions to support the Spotlight deprecation.

For the full list of changes, check the release notes. Feel free to contact us on the Ad Manager API forum with any API-related questions.

Create Performance Max campaigns in Google Ads scripts

We recently published a new suite of guides on how to create Performance Max campaigns in Google Ads scripts. You can check them out on our developers site.

These guides focus on using the new mutate function, which lets you access most of the features from the full Google Ads API.

By following the pattern established in these guides, you can customize the operations to perform all sorts of tasks automatically with scripts. Check out the mutate strategy section specifically for some general advice applicable to many use cases.

If you have any questions or concerns, you can reach out to us on our forum.

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].

Take the 2024 Google Publisher Tag developer survey

Since 2020, we've asked the Google Publisher Tag (GPT) developer community to provide their valuable feedback through an annual survey. This feedback influences what we work on each year, and has directly inspired work on resources and tools like the official GPT type definitions, GPT sample builder, and more.

As we look forward to another year, it's time once again to check in with our developer community to see what's working well and what can be improved. Starting today, we're kicking off the 2024 GPT developer survey.

Take the survey

The survey should take no more than 10 minutes to complete, and it will be open through the end of June 2024. Most questions are optional and your answers are anonymous.

Remember that the feedback you provide influences what we work on over the course of the next year, so please let us know what matters most to you. Thanks in advance for taking the time to help improve the GPT developer experience!

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.

April 2024 update to Display & Video 360 API

Today we’re announcing the April 2024 update to the Display & Video 360 API. This update includes:

More details about this update can be found in the Display & Video 360 API release notes. Before using these new features, make sure to update your client library to the latest version.

If you need help with these new features, please contact us using our new Display & Video 360 API Technical support contact form.

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].