Today we are announcing the release of v25.1 of the Google Ads API. To use the 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 (August 20th at 10am 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.1:

Getting Started

Google Ads API v25.1 is a drop-in upgrade for v25. If you use our client libraries, download the latest version of your client library to start using these features. For a full list of changes, please review the official release notes. 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.

For technical support issues, please reach out to the Google Ads API support channel.

We're making changes to language targeting for Search, AI Max for Search, and Performance Max campaigns in Google Ads, simplifying campaign management while maintaining a high-quality ad experience.

Effective late September 2026:

  • For Search and AI Max for Search campaigns, the campaign-level language targeting setting will be removed. Search ads will automatically match based on the language of your ads.
  • For Performance Max campaigns, the way language targeting is used will be updated:
    • On Google Search: The campaign-level language setting will no longer be used for ads shown on Google Search. Language matching will function the same as Search campaigns, using the language of your ads.
    • On other channels (like YouTube, Display, Discover, Gmail): The campaign-level language setting you select will continue to be used to guide who sees your ads.

In cases where multiple eligible campaigns exist within your account, AI-based ad group prioritization will select the most relevant ad language.

How Language Targeting Works

Historically, the language criterion in the Google Ads API allowed you to manually specify target languages for your campaigns. These language criteria will still be returned when querying even though they are not used for targeting. Any mutates to add or update Search campaign CampaignCriterion.language will result in a ContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT error. For Performance Max campaigns, there will be no error as language targeting may be used on other channels.

What should I change for the Google Ads API?

While existing Search and AI Max for Search campaigns will continue to operate without disruption (as their language settings will not apply), we recommend the following code updates:

  1. Stop setting language criteria:
    • For new Search campaigns: Stop including language criteria when creating or updating Search campaigns when sending Google Ads API requests.
    • For existing Search campaigns: You may optionally remove existing language criteria from your Search campaigns for cleanliness, though it is not strictly required as they will not apply.
    • Focus on Ad and Landing Page Language: Ensure your ad creatives and landing pages are clearly structured in the intended languages. Search ads will primarily use these signals, alongside user language preferences, for matching.

Where can I get support?

For technical support issues, please reach out to us using the support form. 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.

The legacy automigrations are divided into two separate phases:


1. Campaign broad and ACA auto-migration: September 1 – September 30, 2026

On September 1, 2026, Google Ads will begin automatically upgrading Search campaigns using Campaign-level Broad Match (CB) or standalone Automatically Created Assets (ACA) to AI Max. The migration job will roll out progressively throughout the month.

To find the campaigns that have been migrated at any point during the month:

   SELECT
      campaign.id,
      campaign.name,
      campaign.aca_migration_date_time,
      campaign.broad_match_migration_date_time
    FROM campaign
    WHERE campaign.aca_migration_date_time > '1970-01-01 00:00:00'
      AND campaign.broad_match_migration_date_time > '1970-01-01 00:00:00'

Default migrated configurations

To support campaign management continuity and minimize performance volatility, campaigns will be migrated in-place to equivalent AI Max settings.

  • Campaign-Level Broad Match (CB):
    • Text Customization (TC): OPT_OUT (OFF)
    • Final URL Expansion (FUE): OPT_OUT (OFF)
    • Search Term Matching (STM): true (ON) by default
    • Brand Lists: Existing brand inclusions and exclusions are preserved and moved into the new setup in-place.
  • Standalone Automatically Created Assets (ACA):
    • Text Customization (TC): OPT_IN (ON) by default
    • Final URL Expansion (FUE): OPT_OUT (OFF)
    • Search Term Matching (STM): true (ON) by default


2. API creation blocks and legacy cleanup

To prevent the creation of new legacy structures ahead of the auto-migration, strict enforcement blocks are now in place across the developer surfaces:

  • Legacy creation end of life (August 3, 2026): Creating new Campaign-level Broad Match configurations or legacy Automatically Created Assets (ACA) is now blocked across the UI, Google Ads Editor, and all versions of the API.


3. API versioning lifecycle and support grace period

How you manage these features depends on the API version your integration targets:

New API versions (post-September 1, 2026)

Any new versions of the Google Ads API released after September 1, 2026, will completely remove the legacy entities used to create or manage:

Older API versions (grace period)

  • Active support: Previously released API versions that are currently active will temporarily continue to support legacy ACA and Broad Match settings.
  • Sunset timeline: You can continue to edit and manage these legacy setups through older API versions until those specific versions reach their standard scheduled sunset (typically one year after their introduction, around September 2027). At that point, all remaining legacy entities will be permanently removed.


4. Dynamic Search Ads automigration February 2027

Your active legacy DSA campaigns are excluded from the September auto-migrations and will continue to serve as normal. However, prepare for the upcoming DSA timeline:

  • September 2026: Google will launch in-account pre-migration banners in the UI to warn unmigrated advertisers of the upcoming transition and encourage voluntary one-click upgrades by selecting “Upgrade Your Dynamic Search Ads (DSAs) to AI Max” under Campaign Settings | Dynamic Search Ads setting.
  • January 15, 2027: Official MSA reminder notification will be sent to all impacted accounts.
  • February 1–28, 2027: Automigration begins. The ability to create new DSA ad groups will be permanently removed, and unmigrated DSA campaigns will automatically upgrade to standard Search ad groups with AI Max enabled.


Developer action plan

  1. Audit your integration: Identify any scripts, external tools, or client libraries still attempting to create or edit campaign-level broad match settings or legacy ACA.
  2. Move to standard entities: Begin updating your campaign construction workflows to use standard Search campaigns with the AI Max settings bundle (Uber Toggle, Text Customization, and Search Term Matching).
  3. Handle grandfathered read-only entities: Be prepared to handle API error codes if your integration attempts to modify (rather than pause or delete) legacy Expanded Dynamic Search ads (eDSAs) or criteria once they transition to standard ad groups.


Bob Hancock, Google Ads API Team

You can now use the reportData.query endpoint in the Campaign Manager 360 API to synchronously query your campaign performance data and retrieve structured JSON data directly in the response.

The new reportData.query endpoint offers a simplified option for report data retrieval compared to the standard reporting API workflow:

  • Queries run synchronously with a 60-second execution limit, making this endpoint ideal for real-time dashboards and ad-hoc data explorations.
  • Report data is returned as structured JSON directly in the HTTP response, which eliminates file management overhead.
  • You no longer need to create a preconfigured Report resource to fetch data, as you can specify your dimensions, metrics, and filters directly in the request body.

The existing Reports service is still recommended for retrieval of large datasets, scheduled jobs, or applications that rely on downloadable report files (CSV or Excel). This service requires multiple steps: developers must create and manage Report configurations, trigger a run of the report, poll for status updates, and download the report file.

Get Started

If you have any questions or need technical support, please reach out to Campaign Manager 360 API Support.

The Google Ads API is piloting a security feature designed for securing API access to Google Ads manager accounts. We are seeking developers who would like to participate in this pilot project and provide us with feedback.

What are we offering?

The new pilot program protects accounts under a Google Ads manager hierarchy by restricting access to sensitive API methods such as account management, user management, and billing API calls to a pre-approved allowlist of Google Cloud projects. This happens in the following phases:

  1. You sign up for the pilot program, and share the customer ID of your top-level Google Ads manager account.
  2. Google performs an audit of the API activity of all the accounts under the Google Ads manager account to identify the list of applications and their Google Cloud project numbers.
  3. Google works with you to establish an allowlist of approved applications and projects as a new mechanism for controlling API access to sensitive methods.

After the Google Ads manager account is secured, any unapproved application that tries to make sensitive API calls to any account under the protected manager account will fail.

This security measure provides benefits:

  • Enhanced Security: Lowers the risk of account takeovers by malicious applications by helping to restrict access so that only verified tools can perform sensitive operations, even if your credentials are compromised.
  • Improved Visibility: Provides advertisers with a clear and concise view of exactly which applications have access to their advertising data and are performing sensitive actions on their accounts.

How do I join this program?

To participate in this program, express your interest by filling out the application form. You should provide your contact email address and the customer ID of the top-level Google Ads manager account that you want to secure. If Google selects your account for participation in the pilot program, then we will reach out to you using the email address you provided, and list the next steps required to secure the accounts under your Google Ads manager account under this pilot program.

How do I authorize new applications under this program?

If you are participating in this program and want to allowlist a new application to make sensitive API calls to the accounts under the protected Google Ads manager account, let us know the Google Cloud project number of the application by filling out the form. If you don’t have these details, you can reach out to your application developer for this information. Google will make the necessary changes within 10 business days and let you know.

How do I stop participating in this program?

If you are participating in this program and want to stop your participation, contact Google Ads API support using the same email address you used when signing up for this program and let us know the reason why you are opting out of this program. Google will make the necessary changes within 10 business days and let you know.

What happens if I unlink an account from a protected top-level manager account?

If you unlink an account from the hierarchy under a protected top-level manager account the account loses the API protection offered under this program.

What happens if I link a new account under a protected top-level manager account?

If you link an account under the hierarchy of a protected top-level manager account, the newly linked account will inherit the protection from the top-level manager account. In addition, if a newly linked account has existing applications, but those applications are not already authorized by the manager account, they might fail and may need to be authorized.

If you have more questions about this pilot program, you can contact support.

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.