The latest release of the Data Manager API introduces features that simplify audience management, enhance ingestion workflows with field-level warnings, and enable more granular user-provided data for Google Analytics.

Remove all audience members

Use the new RemoveAllAudienceMembers method to clear all members from specified user lists in a single operation. The optional removeAsOfTime parameter lets you target only those members added before a specific timestamp.

This is particularly useful when you need to perform a full refresh (or "replace all") of your audience data, allowing you to clear the existing list and populate it with a new set of users.

Ingestion field warnings

Data Manager API ingestion responses now include detailed field-level warnings for validation issues on optional fields. If the API detects validation issues with optional fields, your ingestion request will succeed and the rest of your ingestion data will still be processed. Validation failures for required fields will continue to fail the entire request following the fast-fail model.

If any optional field you provide is invalid, the response from IngestEventsRequest or IngestAudienceMembersRequest includes a field_warnings field with a list of FieldWarning objects. Each warning provides a specific reason (WarningReason), a descriptive message, and the location of the field in the request where the issue occurred.

Additional address data for Google Analytics events

You can now provide additional user address information when ingesting events to Google Analytics destinations. Along with the given_name, family_name, region_code, and postal_code fields, AddressInfo resource now supports:

  • address_line (street address)
  • city
  • administrative_area (state or province)

Also, you can now use the existing user-provided data (user_data) field to meet the Identifiers requirement for multi-source events sent to web data streams. This gives you another option when you don't have the ad_identifiers.gclid, user_id, or client_id for a multi-source event.

Get started

Build faster with AI agent skills: We recently introduced new Data Manager API agent skills to help you speed up your integrations. Explore the new skills in the Google Skills GitHub repository to get more accurate, efficient guidance directly within your AI-assisted coding environment.

If you have any questions or want to discuss this post, please reach out to us on our "Google Advertising and Measurement Community" Discord server. You can also contact us through the support page if you have an issue or need help with the API.

If you're interested in becoming a data partner, please fill out the Partner Interest Form.

Today we’re announcing the general availability of Structured Data Files v10.1. All users can now use v10.1 when downloading and uploading SDFs in the Display & Video 360 interface.

SDF v10.1 includes the following changes:

  • The ability to specify whether a YouTube video asset identified in a Video ID or Related Videos column contains content that was created or edited with AI. Read more about AI labeling in ads using SDF.
  • Support for digital out-of-home Insertion Order and Line Item resources.
  • New columns identifying the Display & Video 360 creatives in use by ads and ad groups.
  • Updated options for the Inventory Mode column of Line Item files.

See the release notes for the details on the changes in v10.1. If you are using a version previous to v10, it is now deprecated. Follow the instructions in our migration guide to migrate to v10 from any available version.

If you have any questions or want to discuss this post, please reach out to us on our “Google Advertising and Measurement Community” Discord server.

As the use of AI becomes more prevalent, transparency is key. In the last week, we have launched updates in both the Campaign Manager 360 API and Display & Video 360 API that add new optional fields to resources in both APIs, which allow you to label a creative or creative asset as having been created or edited with AI. Labels will be applied to ads with such assets serving in regions with local AI labeling regulations. As of today, those regions are the European Union (EU), India, and New York state. Read more about AI content labeling at the Campaign Manager 360 Help Center and Display & Video 360 Help Center.

In both APIs, this configuration is set using the optional syntheticContentAttestationStatus field in relevant resources. Setting this field to IS_SYNTHETIC applies the label in the regions listed above, while setting it to NOT_SYNTHETIC confirms that the content does not require a label. You can also leave the field unset. A label will not be applied if the field is left unset. However, once the field is set for a resource, it can’t be unset and may only be updated to be either IS_SYNTHETIC or NOT_SYNTHETIC.

If you have any questions regarding the Campaign Manager API, contact Campaign Manager 360 API support. If you have any questions regarding Display & Video 360 API or Structured Data Files, or want to discuss this post, reach out to us on the #display-video-360-api or #structured-data-files channels on Discord.

Using Campaign Manager 360 API

In the Campaign Manager 360 API, this configuration is set in Creative resources. The syntheticContentAttestationStatus field can be set at resource creation using creatives.insert or updated for existing resources using creatives.patch and creatives.update.

For more information about how synthetic content labels work in Campaign Manager 360 API, see our guide page.

Using Display & Video 360 API

In the Display & Video 360 API, this configuration is set in Creative and AdAsset resources. The syntheticContentAttestationStatus field can be set at resource creation using advertisers.creatives.create, advertisers.adAssets.create, advertisers.adAssets.bulkCreate and advertisers.adAssets.upload. It can also be set or updated for existing resources using advertisers.creatives.patch and advertisers.adAssets.patch.

For more information about how synthetic content labels work in Display & Video 360 API, see our guide page.

Using Display & Video 360 Structured Data Files

Starting in Structured Data Files (SDF) v10.1, which is scheduled to launch in the coming weeks, you will be able to add labels when using YouTube videos as video assets in Ad files or as related videos in Line Item files. More details on this implementation will be provided in the upcoming launch announcement of SDF v10.1 and the associated reference documentation.

As part of improving security for Google Ads accounts, the Google Ads API will start requiring passkeys for Google Ads API users. This is part of a broader change in Google Ads that requires passkeys to authorize sensitive actions in your Google Ads account. These important security updates will start rolling out from August 5, 2026, and will be enabled for all users over the next few weeks.

What is changing?

Once this change goes live, users following the user authentication workflow to generate new OAuth 2.0 refresh tokens for Google Ads API will always be required to authenticate using a passkey. If you haven't created a passkey, you will be asked to create one, and use it to complete the authentication workflow. Other forms of authentication that use password alone, or 2-factor authentication (2FA) mechanisms such as Time-based One-Time Password (TOTP) or SMS-based codes will be disallowed.

What action do I need to take?

You may be affected by this change, depending on the authentication workflow that your application uses.

  • Service account workflow: Service account workflows are not affected by this change, so no action is required. We strongly recommend using service account workflow for applications that require automated or offline workflows.
  • User authentication workflow: If your app generates OAuth 2.0 refresh tokens for users, you will be affected as follows:
    • Existing OAuth refresh tokens are not affected by this change. They will continue to work as usual, and you won’t be prompted for reauthorization when obtaining OAuth access tokens.
    • New users will be challenged to authorize with a passkey. A 7-day security delay may apply before a new passkey becomes trusted and operational. To ensure it’s ready for use when you need it, create your passkey at your earliest convenience.

To set up a passkey,

  • Go to g.co/passkeys.
  • Click Create a Passkey to sign in to the Security Key Manager.
  • Create a passkey by following the steps provided by your device.

What other platforms are affected by this change?

Google products that use Google Ads API, such as Google Ads Editor, Google Ads scripts, BigQuery Data Transfer Service or Data Studio to manage Google Ads will also start requiring a passkey-based authentication. If you don’t have passkeys enabled, you will be prompted to add one.

To learn more about how to set up passkeys, visit the Help Center. If you encounter issues, you can contact support.

For any questions or further discussion regarding this update, please connect with us on the "Google Advertising and Measurement Community" Discord server.

Today we’re launching the July 2026 update to the Display & Video 360 API. This update includes the following:

  • Added a new syntheticContentAttestationStatus field to Creative and AdAsset resources. This field lets you specify whether a creative or ad asset contains content that was created or edited with AI. Read more about Labeling AI content in ads.
  • Added support for default business name and logo values in the Advertiser resource. If set, these values will automatically be used when creating or updating Demand Gen and YouTube responsive ads that don’t have a specified business name and logo.
  • Launched beta support for generating reach forecasts and retrieving relevant metadata. This feature is only available to allowlisted partners. Partners will be able to apply for access to this feature at a later date.

For a complete list of new features in this update, see 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 have any questions or want to discuss this post, please reach out to us on our “Google Advertising and Measurement Community” Discord server.

Today, we’re announcing the v25 release of the Google Ads API. This major release brings support for new reporting features and goals. To use these new capabilities, you must upgrade your client libraries and client code. All the updated client libraries and code examples have been published.

Come join us for a live walkthrough of this release in our "Google Ads API Release Highlights" event on Discord or our Ads Developers YouTube Live tomorrow (July 23rd at 10a ET). This will also be recorded and posted on YouTube for those who can’t make the live events. If you have any questions or want to discuss this post, reach out to us in the #ads-api channel on Discord.

New Features

Here are the highlights of what’s new in v25:

Getting Started

To use the new capabilities in Google Ads API v25, download the latest version of your client library. For a full list of changes, please review the official release notes. For technical support issues, reach out to https://support.google.com/google-ads/contact/google_ads_api.

What is changing?

On August 31, 2026, we are aligning Shopping campaigns with Performance Max for Retail campaigns by enabling Local Inventory Ads (LIA) by default. Previously, developers and advertisers had to explicitly set the enable_local field to true within a campaign's ShoppingSetting in order to serve products in their LIA feed.

With this change, the Campaign.ShoppingSetting.enable_local field will no longer have any effect on Shopping campaigns. The Google Ads API backend will automatically override this value to true for all Shopping campaigns, effectively turning on the "Local products" setting behind the scenes.

What you need to do

For v25.1 and future versions, you’ll need to update your code to avoid setting enable_local to false, otherwise you will see a ContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT error. For any versions prior to v25.1, no immediate code changes are required, and any requests to mutate the enable_local field for a Shopping campaign will treat the value as true.

If you previously relied on setting enable_local to false to prevent local offers from serving in specific Shopping campaigns, you should instead use the CampaignCriterionService to add a listing scope with product_channel set to ONLINE, or use the "Inventory filter" section in the campaign settings UI to filter out local inventory and silo budgets by channel (Online vs. Local).

Note that this change only applies to Shopping campaigns. The enable_local field will continue to function as before for other supported campaign types, such as Performance Max and Demand Gen.

If you have any questions or want to discuss this post, please reach out to us on our “Google Advertising and Measurement Community” Discord server.

Today, we are launching a pilot process to expedite the Basic Access application review process. If you have a pending Basic Access application for your Google Ads API developer token, then you can complete brand verification for your Google Cloud project to expedite the reviews for your pending application. With this launch, we aim to reduce the review delays and better meet the significant interest from our developer community for Google Ads API access.

What is brand verification?

Brand verification provides a way for an application developer to verify that they accurately represent their identity and intent as specified by Google API Services User Data Policy. Brand verification is part of the OAuth App verification process, and is an automated self-service option for most developers.

How do I expedite the review process?

If you have a pending Basic Access application for your developer token, then follow these instructions to expedite the review process:

  1. Associate your developer token to your Google Cloud project. This step is important; without it we won’t know which Google Cloud project to use as part of the review process.
  2. Complete brand verification for your Google Cloud project. If you completed brand verification for your Google Cloud project in the past while using another Google API, you don’t need to repeat the process. If you have more than one Google Cloud project associated with your developer token, you need to complete brand verification only for one project.

Once your Google Cloud project is brand verified, your pending Basic Access application will be reviewed in the next few hours.

Is brand verification mandatory?

Currently, brand verification is optional and is used only as a signal for faster determination of Ads API Basic Access eligibility. This means that

  • You may complete the Brand verification process for your Google Cloud project to expedite the review process for your Basic Access application.
  • The Google Ads API Compliance team may request some developers with pending Basic Access applications to complete brand verification.

You don’t need to complete brand verification if you already have an approved developer token and aren’t newly applying for Basic Access level.

We will closely monitor the developer experience throughout pilot surveys and use that data to determine the future changes to the application review process for developer token access levels.

Google Mobile Ads (GMA) Next-Gen SDK is now the preferred SDK for Android development with Google AdMob and Google Ad Manager. GMA Next-Gen SDK is a significant rewrite of Google Mobile Ads SDK that improves speed, stability, and the developer experience. Google Mobile Ads SDK for Android is now legacy.

We invite you to integrate GMA Next-Gen SDK and discover the performance and stability enhancements it can bring to your Android applications. To get started today, migrate to GMA Next-Gen SDK in AdMob and Ad Manager.

Deprecation of Google Mobile Ads SDK (legacy)

Google Mobile Ads SDK (legacy) versions 25.x.x are now considered outdated by GMA Next-Gen SDK. Version 25.x.x follows a similar deprecation schedule, as previous major versions. See the following timeline for support of Google Mobile Ads SDK (legacy) version 25.x.x:

Date Google Mobile Ads SDK (legacy) status
July 1, 2026 Supported

Ads continue to serve. Technical support is available through the contact us form.

June 30, 2027 Deprecated

Ads continue to serve. Technical support is no longer available.

June 30, 2028 Sunset

Ads are at risk of not serving. Google Mobile Ads SDK (legacy) is reported as outdated and prevents app releases.

For more information about the deprecation timelines and definitions, see the deprecation schedule.

Migrate with an AI skill

We recently introduced agent skills, including a google-mobile-ads-android-migrate-to-next-gen skill to help you migrate your app from Google Mobile Ads SDK (legacy) to GMA Next-Gen SDK.

For details about migrating to GMA Next-Gen SDK with AI, see Migrate with AI tools.

Additional Resources

  • Integration guide: The latest version and setup instructions are available in our Set up GMA Next-Gen SDK guide in AdMob and Ad Manager.
  • Migration guide: Instructions to migrate to GMA-Next Gen SDK in AdMob and Ad Manager.
  • Developer samples: Example applications are available in the gma-next-gen-sdk-android-examples GitHub repository.

If you have any questions or need additional help, contact SDK support. To discuss this post or engage in community discussion, join the GMA Next-Gen SDK channel on our Discord server to share your thoughts.