Last year, the OAuth scopes used by the following Ads APIs were classified as sensitive, requiring developers to complete the OAuth verification process for their Google Cloud projects:
  • Google Ads API & AdWords API
    • https://www.googleapis.com/auth/adwords
  • Content API for Shopping
    • https://www.googleapis.com/auth/content
  • DoubleClick Bid Manager API
    • https://www.googleapis.com/auth/doubleclickbidmanager
Last year, the OAuth scopes used by the following Ads APIs were classified as sensitive, requiring developers to complete the OAuth verification process for their Google Cloud projects:
  • Google Ads API & AdWords API
    • https://www.googleapis.com/auth/adwords
  • Content API for Shopping
    • https://www.googleapis.com/auth/content
  • DoubleClick Bid Manager API
    • https://www.googleapis.com/auth/doubleclickbidmanager
Any remaining OAuth clients using the above scopes that remain unverified may have their existing credentials revoked and lose access to the above APIs if they do not complete the OAuth verification process as soon as possible.

Certain apps may qualify for one of the exceptions for app verification. If your application meets any one of those exceptions, follow the steps listed for the appropriate use case. If not, you must complete OAuth verification to continue using these Ads APIs.

If you have any questions or need additional help, contact us using any of the following support options:

Update (Oct 16, 2021): An issue impacting Google Ads scripts between 7:30 AM EDT on October 13 until October 15th 7:00 PM EDT has been resolved.

There was an issue with Google Ads scripts that started around 7:30 AM EDT on October 13, 2021 until October 15th 7:00 PM EDT. The issue is now fixed. If your existing script was affected, it would have failed with a ...
Update (Oct 16, 2021): An issue impacting Google Ads scripts between 7:30 AM EDT on October 13 until October 15th 7:00 PM EDT has been resolved.

There was an issue with Google Ads scripts that started around 7:30 AM EDT on October 13, 2021 until October 15th 7:00 PM EDT. The issue is now fixed. If your existing script was affected, it would have failed with a Finished with errors execution status or show Failed or No changes in the Results column. No context was being logged for the failed scripts. If your existing script was affected, it would have failed to run while this issue was ongoing.

We have fixed the issue and it will not affect any scripts. Formerly affected scripts have had their functionality restored and your scripts have returned to running as scheduled.

If you have any questions, please leave a post on our forum.

The Authorized Buyers Marketplace API has been released. You can use the Marketplace API to manage clients, users, and auction packages, and to negotiate proposals with publishers. This new API is intended to replace the following Marketplace resources included in the Ad Exchange Buyer II API ...
The Authorized Buyers Marketplace API has been released. You can use the Marketplace API to manage clients, users, and auction packages, and to negotiate proposals with publishers. This new API is intended to replace the following Marketplace resources included in the Ad Exchange Buyer II API:
Although the Ad Exchange Buyer II API is not deprecated at this time, we recommend that all Marketplace integrations adopt the new API to receive the latest updates going forward. New features will only appear in the Marketplace API.

The Marketplace API introduces the following features:
  • Programmatic support for auction packages.
  • Deals are now a sub-resource of proposals.
  • The finalizedDeals resource helps you manage deals.
  • The rtbMetrics field of finalizedDeals provides performance data.
Given that the Marketplace API is distinct from the existing Real-time Bidding and Ad Exchange Buyer II APIs, please note that you need to enable the Authorized Buyers Marketplace API in your Google Cloud Console project. Additionally, you need to update your existing OAuth 2.0 credentials and workflows to include a new API scope:

https://www.googleapis.com/auth/authorized-buyers-marketplace

For any questions or feedback about this API, please contact us via our support forums.

On , the maximum number of user_identifers set in a UserData object will be reduced from 100,000 to 20. This is to clarify that each set should represent a single user.
On January 10, 2022, the maximum number of user_identifers set in a UserData object will be reduced from 100,000 to 20. This is to clarify that each set should represent a single user.

The table below illustrates uploading UserData for two users (John Doe and Max Mustermann), each of whom has two email addresses.




Correct usage
operations: {
  create: {
    user_identifiers {
      hashed_email: hash(“johndoe@gmail.com”)
    },
    user_identifiers {
       hashed_email: hash(“johndoe@google.com”)
    } 
  }
}
operations: {
  create: {
    user_identifiers {
      hashed_email: hash(“maxmustermann@gmail.com”)
    },
    user_identifiers {
      hashed_email: hash(“maxmustermann@google.com”)
    }
  }
}
Incorrect usage
operations: {
  create: {
    user_identifiers { 
      hashed_email:  hash(“johndoe@gmail.com”) 
    },
    user_identifiers {
      hashed_email:  hash(“johndoe@google.com”)
    },
    user_identifiers { 
      hashed_email: hash(“maxmustermann@gmail.com”)
    },
    user_identifiers { 
      hashed_email: hash(“maxmustermann@google.com”)
    }
  }
}

UserData is used for Customer Match and store sales uploads. In a given create/remove UserData operation, each set of user_identifiers should be for a single user.

Note that the same total amount of data can be sent in a single request, but each set of user_identifiers must represent a single person.

If the number of user_identifiers for a single set exceeds the new limit of 20, a TOO_MANY_USER_IDENTIFIERS error will be generated.

This will be applied to the two Google Ads API methods that provide UserData uploads:

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

On October 12, 2021, you will no longer be able to retrieve AdMob data from the AdSense Management API v1.4. To retrieve AdMob data programmatically, migrate to the ...
On October 12, 2021, you will no longer be able to retrieve AdMob data from the AdSense Management API v1.4. To retrieve AdMob data programmatically, migrate to the AdMob API.

What do I need to do?

Follow the instructions in the migration guide to migrate your API workflow. Review these additional resources to support your migration:


Start migrating from the AdSense API to the AdMob API as soon as possible. If you don’t complete the migration by October 12th, 2021, you will lose access to AdMob data through the AdSense API, which may impact your ability to make data-driven business decisions.

Feel free to reach out to us via the AdMob API Developer forum if you have questions or feedback regarding the AdMob API.


In 2020, we launched the first ever Google Publisher Tag (GPT) developer survey to learn more about our community and understand how we can improve the developer experience. Feedback from users like you directly inspired improvements to our sample offerings, release notes, and much more over the course of the past year.
In 2020, we launched the first ever Google Publisher Tag (GPT) developer survey to learn more about our community and understand how we can improve the developer experience. Feedback from users like you directly inspired improvements to our sample offerings, release notes, and much more over the course of the past year.

As we look forward to a new 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 2021 GPT developer survey.



The survey should take no more than 10 minutes to complete, and it will be open through the end of October 2021. Most questions are optional and your answers are completely 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!

Today we’re launching support for responsive video ads in Google Ads scripts. If you were using the TrueView for action campaign type, you must update your code to use the new video ad type.
Today we’re launching support for responsive video ads in Google Ads scripts. If you were using the TrueView for action campaign type, you must update your code to use the new video ad type. If you don’t update, your code will begin throwing errors starting approximately October 10, 2021. The old TrueView for action campaign type is being renamed to Video action campaign along with this change.

You can update your selectors with a new withCondition clause to separate Video action campaigns from other video campaign types in your code.

To get campaigns with the video action type:
AdsApp.videoCampaigns()
    .withCondition("AdvertisingChannelSubType = VIDEO_ACTION")
    .get();
Or to get video campaigns of other types, which are unaffected by this change:
AdsApp.videoCampaigns()
    .withCondition("AdvertisingChannelSubType != VIDEO_ACTION")
    .get();
Once you've identified that you're acting on a Video action campaign, create a new type of ad group that can house responsive video ads, and then construct a new type of ad at ad creation time. For other types of video campaigns, this new ad type isn’t available.

For creating the ad group, if you were using:
videoCampaign.newVideoAdGroupBuilder().withAdGroupType("VIDEO_TRUE_VIEW_IN_STREAM")
Then update that code to:
videoCampaign.newVideoAdGroupBuilder().withAdGroupType("VIDEO_RESPONSIVE")
For creating the ads themselves, if you were using:
adGroup.newVideoAd().inStreamAdBuilder()
Then update that code to:
adGroup.newVideoAd().responsiveVideoAdBuilder()
Check out the reference documentation for the new responsiveVideoAdBuilder for details on its fields and methods.

If you have any questions, please leave a post on our forum so that we can help.

Between 2:50 am EDT and 6:40 am EDT on October 1, there was an outage that may have prevented some users from accessing the Google Ads API, Google Ads scripts, & the AdWords API. If you were using the Google Ads API or the AdWords API or running Google Ads scripts, then you may have experienced slowness or timeouts. Please check for any failed requests from these tools during the outage.

Between 2:50 am EDT and 6:40 am EDT on October 1, there was an outage that may have prevented some users from accessing the Google Ads API, Google Ads scripts, & the AdWords API. If you were using the Google Ads API or the AdWords API or running Google Ads scripts, then you may have experienced slowness or timeouts. Please check for any failed requests from these tools during the outage.

If you have any questions, please contact us via the forum.