As part of improving security for Google Ads accounts, the Google Ads API will start requiring Multi-factor authentication (MFA) for Google Ads API users. These important security updates will start rolling out from April 21, 2026, and will be enabled for all users over the next few weeks.

What is MFA?

MFA, also known as 2-step verification or 2SV, is an important security measure. In addition to your password, MFA requires another proof of identity, known as an authentication factor, to successfully sign in to an account. By requiring the second factor, you’re making it significantly harder for unauthorized users to breach your account, and a compromised password alone is not enough to gain access.

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 challenged with a second factor for authentication in addition to a username and password.

If you don’t have 2-step verification enabled, you will be prompted to add a 2-step verification method.

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 with a second factor for authentication in addition to a username and password.

What other platforms are affected by this change?

If you use Google Ads Editor, Google Ads Scripts, BigQuery Data Transfer Service or Data Studio to manage Google Ads, you will start getting challenged with a second factor for authentication in addition to a username and password. If you don’t have 2-step verification enabled, you will be prompted to add a 2-step verification method.

How can users check and enable MFA?

Users can check whether MFA is enabled for their account by opening the Security tab of their Google Account settings page. The 2-Step Verification setting is displayed in the How you sign in to Google section. If MFA isn’t enabled, follow the on-screen steps displayed in this section.

If you don't see the 2-Step Verification option for your account, your administrator might have disabled it. Contact your administrator for assistance.

Troubleshooting

Q: When I navigate to the Google Account settings page, I don’t see the 2-Step Verification option for my account.

A: If you don't see the 2-Step Verification option for your account, your administrator might have disabled it. Contact your administrator for assistance.

Q: I don’t have a 2-step verification option enabled for my account. When I attempt to sign in, I get an error that "Google couldn’t verify this account belongs to you." and I am prompted to Recover account instead of prompting me to add a 2-step verification.

A: In certain situations, Google needs additional verification before letting you add a second factor to your account. To fix the issue, navigate to the Security tab of your Google Account settings page. The 2-Step Verification setting is displayed in the How you sign in to Google section. If 2-Step Verification isn’t enabled, follow the on-screen steps displayed in this section. Wait for a few minutes and attempt signing into the Google Ads API application again.

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

Improving your Advertising Workflows

It’s an incredible time to be a developer in the advertising space. Innovation is moving at a breakneck pace, and we’re shifting from incremental API integrations to fundamental improvements in how technical users interact with our platforms. In the latest episode of Ads DevCast, I sat down with my colleague Matt Landers to discuss how AI is moving from "hype" to "utility," decreasing friction in development and delivering tangible business results.

The Power of Multi-Product Insights

One of the most exciting developments we’re seeing is the value of Advertising MCPs (Model Context Protocol) servers showing up. These open-standard tools allow your AI agents to interact directly with the Google Ads and Google Analytics APIs.

Historically, solving a problem like "why is my high-CTR ad not converting?" meant a lot of manual data joining between Ads and Analytics. By combining the Google Ads and Analytics MCPs, you can now perform this analysis in seconds using natural language. You can verify engagement rates, identify content mismatches on landing pages, and even suggest ROI improvements in the time it takes to brew a cup of coffee.

Efficiency and Speed with Natural Language

We’re also seeing AI make technical tasks more accessible. A great example is the recent update to our Sheets Report Builder add-on for Google Analytics 4. Previously, creating complex reports required manually adding dimensions, metrics, and filters in the UI. Now, with Gemini integrated directly into Sheets, you can simply ask, "What's my highest converting landing page?" and the tool automatically sets all the parameters in the UI, sends the API request, and imports the data for you.

The Senior Pair Programmer in Your CLI

For developers deep in the code, the Google Ads API Developer Assistant is a game-changer. Think of it as a senior pair programmer that has memorized the entire API schema and every possible error code. Whether you’re troubleshooting conversion uploads or finding hidden problems in your account, the assistant doesn’t just explain what’s wrong—it can generate, debug, and even run the fix directly in your environment.

Health, Diagnostics, and Seamless Migrations

Beyond AI-driven insights, we’re focused on improving the underlying health of your technical systems. The Data Manager API will soon feature integrated diagnostics in the UI, allowing you to track what went wrong with your integrations. Last but not least, for publishers, we’ve released a new migration skill for the AdMob SDK to help you transition between versions with the help of your coding agent.

Experiment, Fail Fast, and Build Great Things

The barrier to entry for building sophisticated, data-driven advertising solutions is dropping. By automating the busy work, you’re freed up to focus on high-impact projects that drive real business growth.

Ready to dive deeper?

Watch the full episode: goo.gle/watchadsdevcast

Listen on the go: goo.gle/listenadsdevcast

Take our Episode 3 Survey: goo.gle/adc-survey-e3

Join our Discord Community: goo.gle/ads-and-measurement-discord

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

While Demand Gen campaign support is in beta, it is only available to allowlisted customers. See our guide for detailed instructions on how to create a Demand Gen ad campaign. If your partner is allowlisted:

  • Demand Gen line items, ad groups, and the relevant targeting will be included in relevant get and list requests.
  • Demand Gen line items, ad groups, ads, and the relevant targeting can be created, deleted, and updated.

We aim to launch full Demand Gen support for the Display & Video 360 API in general availability later this year. This will be announced with a future release.

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.

The Content API for Shopping will sunset on August 18, 2026, to be replaced by the Merchant API. This migration provides a shift toward more robust, scalable, and feature-rich integrations. For Google Ads scripts users, the Google Ads scripts editor will begin rolling out Merchant API support on April 22, 2026. While the Content API for Shopping will remain available until its sunset, here’s what to expect from the Merchant API.

Understanding the Merchant API

The Merchant API offers important changes and improvements over the Content API for Shopping:

  • Modular Design: The Merchant API is broken down into sub-APIs. This allows for:
    • Faster access to new features and updates.
    • Easier versioning and maintenance.
    • Reduced disruption, as changes in one sub-API are less likely to impact others.
  • New Features & Capabilities:
  • Omnichannel Support: Designed with Omnichannel in mind, though it provides backward compatibility for legacy separate online/local offer structures using the legacy_local flag.

Take a look at the Merchant API migration guide for more detail on the changes between APIs.

How to get started

The Merchant API will be available as an Advanced API in the Google Ads scripts editor, just as the Content API is.

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.

We're excited to announce the addition of new channels for the Data Manager API on our “Google Advertising and Measurement Community” Discord server. To join, just click this invite link and follow the onboarding guide.

Our team will be on this server regularly to interact with the Data Manager API community, answering questions and gathering feedback in the #data-manager-api channel. We’ll also keep you up to date on the latest Data Manager API news in the #announce-data-manager-api channel.

If you have any questions or want to discuss this post, please reach out to us on the “Google Advertising and Measurement Community” Discord server. We look forward to seeing you there and hearing your thoughts on how we can continue to improve the Data Manager API!

We're excited to announce the launch of the new Google Advertising and Measurement Developers Hub!

Come see the new site!

Whether you're looking to automate campaigns, analyze performance, manage tags, or monetize your apps, the new hub is designed to make it easier to find the right tools and information.

We've launched a new technical-user focused site to make it easier than ever for you to find the tools, resources, and support you need to build and innovate with Google's advertising and measurement products.

What's New?

We have created a one-stop shop where you can easily find the resources you need, connect with our team and the community, and get support. Here are some key features:

  • At-a-glance homepage: A clear starting point highlighting how we can help, with quick links to our blog, Discord, and information about our team.
  • Meet the team: Learn more about the Developer Relations team dedicated to supporting your success.
  • Products: A comprehensive directory of the developer products we cover, from the Google Ads API and Google Analytics APIs to Publisher Tools like AdMob and Ad Manager, linking directly to their official documentation. You can browse by categories like Advertising Platforms, Tagging, Measurement & Analytics, and Publisher Tools.
  • Connect with us: A streamlined page to help you find the best way to engage:
    • Join our vibrant Discord community.
    • Find links to product or technical support.
    • Download open source projects on GitHub.
  • Media and podcast: A new home for our multimedia content, including the Ads DevCast playlist embedded directly on the page.

We're excited to make this the place for you to learn, build, and connect.

Please explore the new site and use the Send Feedback button located at the bottom of each page to share your thoughts!

If you have any questions about this announcement or want to discuss it with our team and the community, please reach out to us on our "Google Advertising and Measurement Community" Discord server.

Happy Building!

Many to 1, Audience Management in Data Manager API

In today's fast-paced digital landscape, managing multiple data pipelines can feel overwhelming. If you're a developer navigating the complexities of audience management and conversion tracking, you might be wondering: how can I streamline my processes and reduce costs?

This week’s episode of Ads DevCast explores the new Data Manager API, which will transform the way you connect data across various Google ad platforms, making your workflows more efficient and cost-effective. This product solves many of the complexities developers and agencies have had to juggle across multiple APIs—each with its own schema, maintenance requirements, and learning curve.

Click here to watch the episode: https://youtu.be/Z4mAR98cizQ

About our Guest

In this episode we sit down with Melissa Ng, Product Manager for Data Manager API, to discuss how Google is streamlining these processes and what it means for your development workflow.

Melissa is a seasoned Product Manager, specializing in ads measurement at Google for the past four years. Her deep understanding of customer needs and data management challenges drives her passion for creating innovative solutions like the Data Manager API.

What are we solving for?

Every advertising product has its own unique requirements that aren't necessarily interoperable. This fragmentation creates confusion, slows down onboarding, and drives up engineering costs. It also makes it difficult to build the kind of cohesive "Data Strength" needed to fuel modern advertising and maximize conversions.

In a joint case study, one of our advertisers reported spending over $1 million annually on maintenance alone. We needed to provide a unified ingestion point for conversions and audiences, effectively reducing confusion and simplifying data management.

Enter the Data Manager API

The Data Manager API is Google's answer to this complexity. It allows data partners, agencies, and advertisers to send first-party data to multiple Google advertising products—such as Google Ads, Display & Video 360, Campaign Manager 360, Google Analytics, and others—in a single call.

"This means that when you’re sending in a field for, say, 'transaction id', that field means the same thing in all of the downstream use cases across all of the Google advertising products," explains Melissa in the episode.

While the primary motivation behind developing the Data Manager API was to address complexities associated with maintaining multiple APIs, there are other benefits as well:

  • Ease of Use and Efficiency at Scale: You can achieve significant savings in resources. Treasure Data, one of our early API integration partners, reported a 2x faster advertiser onboarding process and an 80% reduction in engineering efforts.
  • Privacy by Default: End-user privacy is non-negotiable. The Data Manager API features confidential matching right out of the box for audience solutions like Customer Match. This utilizes a Trusted Execution Environment (TEE) to ensure that no one—not even Google—can view the processed data. (Read more)
  • Future-Proofing Your Stack: The Data Manager API is the future of audience and conversion management. Any new features for audience or conversion management will be implemented in the Data Manager API going forward. (See our timelines)
  • Enhanced Diagnostics: For the first time, API stats and diagnostics will soon be available directly in the Ads UI, providing visibility into the health of your connections and downstream asynchronous errors, saving you countless hours of troubleshooting.

Tune In and Take Action

If you are managing audiences or conversions programmatically, this episode is a must-listen. It is packed with insights, roadmap updates, and advice on how to seamlessly migrate your existing systems.

Listen to the full episode of the Ads DevCast here!

Ready to get started with the Data Manager API?

  1. Start your upgrade today: Dive into the step-by-step tutorials and upgrade guides.
  2. Join the community: Connect with us and other developers on our Discord server.
  3. Share your feedback: We want to hear from you! Let us know what features you want to see next by filling out our Episode Survey. Reminder, this show is a pilot, and your feedback is important so we can tailor our content to what is most useful for you.

Thanks for tuning in! We'll see you in two weeks for Episode 3.

The Ad Manager API now supports a read-only OAuth scope. This new scope, https://www.googleapis.com/auth/admanager.readonly, allows developers to request read-only access to their users' Ad Manager data.

This new scope is only available for the Ad Manager API. It is not supported by the legacy Ad Manager SOAP API, which will continue to require the full-access scope.

The read-only scope allows reading data and running reports, but does not grant permission to write or modify data. This provides an enhanced security layer for developers and users of read-only integrations, such as reporting dashboards or alerting tools.

No action is required for existing integrations. If your application does not require write access, we recommend migrating to the new read-only scope. For a refresher on how to configure OAuth, see Using Oauth 2.0 for Web Server Authentication.

As always, Ad Manager access controls, including User roles and Restrictions imposed by teams, are applied to all API requests regardless of the OAuth scope used.

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

Increased Request Limits for BatchJobService Enhance Large Asset Uploads

We're pleased to announce significant increases to the request size limits for the BatchJobService.AddBatchJobOperations method in the Google Ads API. These changes are designed to streamline workflows, particularly for developers uploading multiple large assets like images, by reducing the need to split uploads into numerous smaller requests.

The following limits have been increased:

Request Size Cap on AddBatchJobOperations: Increased from 10,484,488 bytes (approximately 10.48 MB) to 41,937,920 bytes (approximately 41.94 MB).

Single Mutate Operation Size: While the overall request can be larger, the size of a single mutate operation within the batch is capped at 10,484,488 bytes (approximately 10.48 MB).

What This Means for Developers:

This update allows you to include more operations, especially those containing sizable data like image assets, within a single AddBatchJobOperations request. This can simplify your client-side logic and potentially improve throughput by reducing the number of round trips required to add all operations to a batch job.

For example, when uploading multiple images, each of which can be up to 5,242,880 bytes (approximately 5.24 MB), you can now batch more of these into a single request, up to the new 41,937,920 bytes (approximately 41.94 MB) total request limit.

Important Notes:

  • While the request size limit has increased, other limitations such as the maximum number of operations per request (10,000) and per job (1 million) still apply. Please refer to the Best Practices and Limitations guide for full details.

We believe this enhancement to the BatchJobService will offer greater flexibility and efficiency for managing bulk operations in the Google Ads API.

As always, please reach out to us via the forum or our other support channels if you have any questions or feedback.

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.

Starting in April, 2026 the Google Ads API will benefit from a series of infrastructure changes designed to improve the Offline Conversion Import experience. These upgrades will not result in any breaking changes to the Google Ads API, however there may be minor fluctuations in attribution rates as the changes are rolled out.

Here is a breakdown of the rollout and the improvements you can expect:

  1. Improved attribution and fallback recovery (April, 2026): We will implement changes allowing us to attribute some expired GCLIDs and clicks that occurred before a conversion. Once deployed, you may receive fewer EXPIRED_EVENT and CONVERSION_PRECEDES_EVENT errors in conversion upload responses, and you may notice higher attribution rates.
  2. Flexible import requests (April - May, 2026): We will improve the authorization structure for conversion import requests to make it easier for manager or client accounts to import conversions on behalf of a different trafficking account. Once released, users should expect a reduction in UNAUTHORIZED_CUSTOMER and INVALID_CUSTOMER_FOR_CLICK errors in conversion import responses. This may also result in an increase in attribution.

Make sure to review our guidance on how to maximize the performance of your Google Ads conversion data. And take a look at the Data Manager API, including our migration guide for Google Ads API users.

Reach out to the Google Ads API support channel if you have any questions. And 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 v23.2 release of the Google Ads API. To use the new v23.2 features, 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 on our Ads Developers YouTube Live tomorrow (March 26th at 11a 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.

Here are some of the key features in this release:

Where can I learn more?

The following resources can help you get started:

For technical support issues, reach out to https://support.google.com/google-ads/gethelp

Today we’re announcing two huge improvements for Display & Video 360 bulk tools.

First, we are launching support for Display & Video 360 API, Structured Data Files, and Bid Manager API products in the existing “Google Advertising and Measurement Community” Discord server! To join, just click this invite link and follow the onboarding guide.

Our team will be on this server regularly to interact with the Display & Video 360 community, answering questions and responding to feedback. We’ll also let you know what’s new with our products in the #announce-display-video-360 channel.

Second, we have made a significant update to the Display & Video 360 API and Structured Data Files documentation. The updated site is designed to make it easier to learn how to perform common tasks with Task guides, browse important conceptual information with Concept guides, and review reference material with updated navigation that highlights currently-supported versions and features of the API and Structured Data Files.

If you have feedback on these changes or the content of any of the guides, please click the Send Feedback button at the bottom of any page in the documentation.

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

A new podcast for the ads technical community

We are thrilled to announce the launch of Ads DevCast, a new bi-weekly vodcast and podcast series brought to you by Google’s Advertising and Measurement Developer Relations team.

Hosted by Developer Relations Engineer Cory Liseno, this show is dedicated to deep dives into our latest technical updates, insights from the engineers building our tools, and expert discussions on products like Google Ads, Google Analytics, Display & Video 360, Meridian, and more.

While you might already be familiar with the Ads Decoded podcast — where Ginny Marvin does a fantastic job bridging the gap for marketing teams on campaign strategy — Ads DevCast is built specifically for builders and developers.

You can tune in on our Google Ads Developers YouTube channel or find the podcast on Google Ads Developers in YouTube Music.

Episode 1: MCPs, Agents, and Ads. Oh My!

In our premiere episode, we explore the "agentic shift" currently reshaping the advertising landscape. We’re seeing a world where agents, not just humans, are becoming primary consumers of our APIs. To help you stay ahead, we’ve released several tools designed to make your integrations smarter, faster, and more accessible.

Getting Smarter with MCP Servers

One of the covered topics is Model Context Protocol (MCP), and how it allows your agents like Gemini CLI to securely access your data.

We’ve recently released open source, self-hosted MCP servers for the Google Ads API and Google Analytics API. These tools allow you to ask natural language questions directly to your agent, such as:

  • "What are my active campaigns?"
  • "Which properties had the highest traffic yesterday?"
  • "What are my top-selling products over the last month?"

The real magic happens when you combine this data with generative power. In the episode, we discuss how you can use the Analytics MCP to not only pull reports but then ask Gemini to generate a data-justified marketing plan based on those specific results.

Moving Faster with the Developer Assistant

Technical speed is another major focus. To reduce the time spent digging through documentation, we’ve launched the Google Ads API Developer Assistant. This Gemini CLI extension allows you to use natural language to generate, debug, and even test-run integration code.

In one real-world test, we used the assistant to solve a complex reporting issue regarding policy disapprovals. What would normally take days of back-and-forth with email support was resolved by the assistant in minutes, providing the exact GAQL query needed to get the job done.

Improving Accessibility

AI tooling is also changing who can interact with our technical systems. We’re seeing a shift from the "Ads Developer Community" to a broader "Ads Technical Community." Marketing power users are now leveraging MCP servers to perform real-time data operations without waiting for a full development lifecycle. This frees up engineering teams to focus on high-impact "blue sky" projects while giving marketers the agility they need.

We want to hear from you

This show is a pilot, and your feedback is important so we can tailor our content to what is most useful for you. Please take a moment to fill out our Episode 1 Survey and let us know what topics you want us to cover next.

Be sure to also join our Discord Community where you can join the conversation with Googlers and fellow developers.

Thanks for tuning in! We'll see you in two weeks for Episode 2.

Google Ads is committed to providing a reliable and efficient environment for all advertisers. To ensure that our systems remain stable and that resources are allocated fairly, we are introducing a uniqueness check for Lookalike user lists that prevents the creation of duplicate lists. These changes primarily impact Demand Gen campaigns and will begin to be enforced starting on April 30, 2026.

A Lookalike user list is considered a duplicate if it shares all of the following attributes with an existing list:

  • Seed lists: The underlying source audiences used to build the Lookalike.
  • Expansion level: The degree of similarity to the seed lists.
  • Country targeting: The geographical reach of the Lookalike list.

If an advertiser attempts to create a duplicate list after April 30, 2026, the Google Ads API will return the error code DUPLICATE_LOOKALIKE for v24 and beyond. For earlier versions, the error will be RESOURCE_ALREADY_EXISTS.

What this means for you

For the majority of advertisers, these changes will go unnoticed, as most current usage falls well within these new boundaries. However, to ensure a smooth transition, we recommend the following:

  • Reuse audiences: Instead of creating a new, identical Lookalike list, verify if an existing one with the same configuration can be reused in your campaigns.
  • Update error handling: If you use the Google Ads API, ensure your integrations are prepared to handle the new error starting on April 30, 2026: v24 will return the DUPLICATE_LOOKALIKE error code and all previous versions will return RESOURCE_ALREADY_EXISTS.

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.

Starting on April 1, 2026, the Google Ads API will no longer accept new adopters of Customer Match. As with our recent announcement for the use of session attributes and IP address in click conversions in the Google Ads API, we’re recommending that new adopters of Customer Match integrate with the Data Manager API as their primary user data import API.

Developers who have not adopted Customer Match, or have not uploaded data to a Customer Match list between October 2025 and March 2026, will receive an error if they attempt to upload to a Customer Match list. Developers who have already adopted Customer Match can continue importing user data using the Google Ads API while they integrate with the Data Manager API.

Technical details

  • Developers will be allowlisted by their developer token.
  • Once this change is rolled out, users who are not on the allowlist will receive the error CUSTOMER_NOT_ALLOWLISTED_FOR_THIS_FEATURE when attempting to upload user data to a Customer Match list using either the OfflineUserDataJobService or UserDataService.
  • See the documentation for integrating with the Data Manager API for Customer Match imports for Google Ads.

Reach out to the Google Ads API support or Data Manager API support channels if you have any questions.

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.

Starting on April 1st, 2026, the Google Ads API will begin enforcing a minimum daily budget of 5 USD, or the equivalent in local currency, for all Demand Gen campaigns. This update ensures that campaigns have adequate budget to navigate the initial "cold start" phase, during which our models learn and optimize for performance.

This change is being implemented as an unversioned update across the Google Ads API, providing consistency across all buying doors.

Technical details and error handling

Depending on the version of the API you are using, you will encounter different behaviors when a budget below the 5 USD floor is specified for a Demand Gen campaign:

  • Google Ads API v21 and above: You will receive a BUDGET_BELOW_DAILY_MINIMUM error when creating or updating a campaign with an insufficient budget. You can also refer to the details.budget_per_day_minimum_error_details field for further details about the minimum budget, such as the actual minimum threshold.
  • Google Ads API v20: The API will return a generic UNKNOWN error code. To identify this specific validation failure, you must check the details.unpublished_error_code field, which will contain the string CampaignBudgetError.BUDGET_BELOW_DAILY_MINIMUM.

The validation will trigger whenever a campaign's budget, start time, or end time is modified in a way that results in a daily budget below the floor. This applies to both daily budgets and flighted (custom) budgets.

Impact on existing campaigns

Existing Demand Gen campaigns that currently operate with a budget below the 5 USD threshold will continue to serve without interruption. However, any future modifications to these campaigns' budgets or durations will be subject to the new validation rules. To make a change to these campaigns, the budget must be increased to at least the minimum required floor.

Next steps

We recommend that developers update their reporting and management systems to handle these new error codes.

If you have any questions regarding this change, get Google Ads API support.

This major update transforms the Assistant from a powerful code generation tool into a proactive troubleshooting and automation partner for Google Ads developers. Since our v1.6.0 release, we've listened to your feedback and focused on the most challenging parts of API development: diagnostics, consistency, and setup.

What’s new in v2.0?

1. Simpler Installation & Maintenance

Setting up a multi-language development environment shouldn't be a chore.

  • One-Command Setup: Use the new --install-deps flag with install.sh or install.ps1 to handle pip, composer, and bundler dependencies in one go.
  • Unified Directory Structure: All your generated code, CSV exports, and diagnostic reports are now organized under a single saved/ directory with sub-directories for each type of output.
  • One-Command Update: When a new version of the API and the client libraries are released you need to execute update.sh to work with the latest version. You can also use update.sh to add additional client libraries to your context.

2. Agentic conversion troubleshooting

Offline conversion tracking is one of the most powerful—yet complex—features of the Google Ads API. Debugging why a conversion wasn't attributed can be a time-consuming manual process.

In v2.0, we’ve introduced a dedicated Conversion Troubleshooting & Diagnostics suite.

  • New Script: api_examples/collect_conversions_troubleshooting_data.py
  • New Command: /conversions_support_data

The script executes standard reports for conversions troubleshooting and provides context for the Assistant to troubleshoot your issues.

The command is most useful after the Assistant has analyzed your conversion problem and attempted to solve it. If it cannot, and you need to contact support, this command will analyze your customer settings, conversion actions, and upload summaries to generate a structured diagnostic report based on the analysis already performed. It even identifies "unhealthy" states and high failure rates automatically, saving you hours of log diving. It saves the results to a text file that you can include with a support request should you need to file one.

3. Built for the latest API (v23)

Version 2.0 fully supports Google Ads API v23. All our interactive examples have been updated, and the Assistant's internal context is now optimized for the latest resources and fields, ensuring the code you generate is production-ready.

4. Seamless Automation with Session Hooks

We’ve added SessionStart and SessionEnd hooks to make your workflow truly frictionless.

  • Automatic Configuration: The Assistant can now automatically locate your configuration file in your $HOME directory at the start of a session. It copies it to the sub-directory config in your project directory. Python is Gemini’s preferred language to query the API. So, if you are using another language, it reads your configuration file and creates a temporary google-ads.yaml in config for its queries, but continues to respond in the code of your preferred language.
  • Auto-Cleanup: Temporary configurations are securely wiped when you exit, keeping your workspace clean and your credentials safe.

5. Smarter GAQL validation

Building complex GAQL queries is easier than ever. We've updated GEMINI.md and conversions/GEMINI.md with rigorous validation rules for the latest API edge cases, including improved handling of date segments and finite range requirements. The Assistant now catches logic errors before you execute the query.

6. Skills

Think of a Skill as a mini-plugin or a "behavior blueprint." While the general context (like your GEMINI.md file) provides background info, a Skill is only "loaded" into the AI's brain when it specifically needs to perform a complex, procedural task like obtaining the current version of this extension. You don’t execute the Skill directly. Gemini decides when it needs it.

Although still an experimental feature, we have included one with this release to compliment our use of hooks for session initialization and cleanup.

Why Should You Upgrade?

The leap from v1.6.0 to v2.0.0 is about more than just new features; it’s about reliability. By integrating deep API knowledge with automated diagnostic tools, v2.0 reduces the "trial and error" loop that often slows down API integration.

Whether you're debugging conversion uploads or building complex reporting pipelines, v2.0 gives you the tools to work faster and with more confidence.

Getting Started

First installation

Upgrading from a previous version

  • Copy any custom code from saved_code/ and saved_csv/ to a secure location.
  • Delete your local clone of the Google Ads API Developer Assistant by deleting your project directory and all sub-directories and files.
  • git clone https://github.com/googleads/google-ads-api-developer-assistant.git
  • In the project directory, run install.sh or install.ps1 to install the extension and client libraries.

Bob Hancock, Google Ads API Team

What’s changing?

In 2025, Google rolled out changes to support the EU Political Ads Regulation in the Google Ads API and Google Ads scripts. On April 1, 2026, we will change account-level API restrictions. If you use either of these products to create or manage campaigns, you may need to update your application before April 1, 2026 to handle these enforcements.

API validation and enforcement changes

On April 1, 2026, Google Ads API and Google Ads scripts will implement the following changes in versions v20, v21, v22 and v23 of the API.

    select campaign.id
      from
        campaign
      where 
        campaign.missing_eu_political_advertising_declaration = true

How will this affect my campaign serving?

Any campaign that has declared EU political ads by setting contains_eu_political_advertising to true will stop serving ads in the EU. Refer to the Help Center to learn more.

What do I need to do?

If your application uses either the Google Ads API or Google Ads scripts to create or manage campaigns, make sure to update your application to handle these enforcements before April 1, 2026.

How do I get help?

Reach out to the Google Ads API support or Google Ads scripts support channels if you have more questions about this change.

Today, we’re announcing the v23.1 release of the Google Ads API. To use the new v23.1 features, you must upgrade your client libraries and client code. All the updated client libraries and code examples have been published.

We are also releasing minor versions v20.2, v21.1 and v22.1 of the Google Ads API to add additional support for the EU Political Ads Regulation.

Here are some of the key features in this release:

Where can I learn more?

The following resources can help you get started:

Come join us for a live walkthrough of this release in our "Google Ads API Release Highlights" event on Discord or on our Ads Developers YouTube Live tomorrow (February 26th 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.

For technical support issues, reach out to https://support.google.com/google-ads/gethelp

Version 25.0.0 of the Android Google Mobile Ads SDK is now available. We recommend upgrading as soon as possible to take advantage of the latest features, performance improvements, and API updates. This is a major version update that includes several breaking changes, new functionality for optimizing banner ad sizes, and important dependency updates.

New Large Anchored Adaptive Banner Size APIs

Unlock better performance with new banner ad sizes:

To better align with modern mobile devices, we are introducing the Large Adaptive Anchor API (e.g. AdSize.getLargeAnchoredAdaptiveBannerAdSize()). This update focuses solely on the sizing logic within adaptive anchor banners. While individual results may vary, larger ads are designed to increase engagement and revenue potential for publishers. The previous anchored adaptive APIs (e.g. AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize()) are now deprecated in favor of the new large anchored adaptive banner approach.

Old usage (Kotlin):

adView.setAdSize(AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, 360))

New usage (Kotlin):

adView.setAdSize(AdSize.getLargeAnchoredAdaptiveBannerAdSize(this, 360))

Breaking Changes and Removals

Version 25.0.0 is a major version with breaking changes that primarily impact mediation adapters and custom events.

API Removals:

  • The VersionInfo class in the com.google.android.gms.ads.mediation package has been removed. Use com.google.android.gms.ads.VersionInfo instead.
  • The deprecated getConfiguration() method in the RtbSignalData class has been removed. Developers should migrate to using getConfigurations() instead.
  • The deprecated onFailure(String) and onAdFailedToShow(String) methods have been removed from the following callback classes:
    • SignalCallbacks
    • MediationAdLoadCallback
    • MediationInterstitialAdCallback
    • MediationRewardedAdCallback
      The replacement methods are onFailure(AdError) and onAdFailedToShow(AdError).
    • The NativeAdViewHolder class has been removed from the com.google.android.gms.ads.nativead package.

For the full list of changes, please refer to the release notes. We strongly encourage you to review our migration guide to ensure your mobile apps are ready to upgrade.

SDK Deprecation Reminder

Per the deprecation schedule, the release of version 25.0.0 means that:

  • Android Google Mobile Ads SDK versions 23.0.0 - 23.6.0 are officially deprecated.
  • Android versions 22.0.0 - 22.6.0 will sunset on June 30, 2026.

We strongly recommend updating to a supported SDK version to avoid any disruption in ad serving and to benefit from the latest SDK features and fixes.

To comment on this blog post or engage with fellow developers, join the Google Mobile Ads SDK Discord channel and share your thoughts.

We're excited to announce the release of v1.5 of the Data Manager API, delivering a more comprehensive platform for data management. This update introduces powerful new capabilities for managing user lists alongside expanded options for audience member ingestion.

End to end user list management

The UserListService now allows you to oversee the lifecycle of your user lists entirely through the Data Manager API. It provides core resource management operations such as create, retrieve, update, and delete methods for UserLists, enabling full control over your audience management workflows.

Partner links

The introduction of the PartnerLinkService provides a secure way to manage connections between advertiser and data partner accounts across Google Ads and Display & Video 360.

Expanded audience member identifiers

The Data Manager API now supports additional user identifiers for audience ingestion. You can now upload User IDs, which can be used for Customer Match in Google Ads.

We’ve also integrated status reporting specific to User ID when you retrieve diagnostics for your ingestion requests. These updates make it easier to monitor User ID ingestion and quickly identify any issues.

Get started

If you have questions or need help, contact us through the support page.

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

Version 13.0.0 of the Google Mobile Ads SDK for iOS is now available. We recommend upgrading as soon as possible to take advantage of the latest features, performance improvements, and API updates.

Updates in Version 13.0.0

  • Increased minimum deployment target: The minimum supported iOS deployment target has been raised to iOS 13.
  • Unlock better performance with new banner ad sizes: To better align with modern mobile devices, we are introducing the Large Adaptive Anchor API (e.g. largeAnchoredAdaptiveBanner). This update focuses solely on the sizing logic within adaptive anchor banners. While individual results may vary, larger ads are designed to increase engagement and revenue potential for publishers. The previous anchored adaptive APIs (e.g. currentOrientationAnchoredAdaptiveBanner) are now deprecated in favor of the new large anchored adaptive banner approach. For more API details, see the migration guide.

    Old usage (Swift):

    bannerView.adSize =
        currentOrientationAnchoredAdaptiveBanner(width: 375)

    New usage (Swift):

    bannerView.adSize = largeAnchoredAdaptiveBanner(width: 375)
  • Swift 6 concurrency support: This release continues to enhance support for Swift 6 strict concurrency, such as updating our delegate methods to only be accessed on the main thread.
  • Stricter type enforcement: The SDK will now raise an exception if any object that is not a String type is detected in the neighboringContentURLStrings array, ensuring better type safety.

For the full list of changes, please refer to the release notes. We strongly encourage you to review our migration guide to ensure your mobile apps are ready to upgrade.

SDK Deprecation Reminder

Per the deprecation schedule, the release of version 13.0.0 means that:

  • iOS Google Mobile Ads SDK versions 11.x.x are now officially deprecated.
  • Version 10.x.x will sunset on June 30, 2026.

We strongly recommend updating to a supported SDK version to avoid any disruption in ad serving and to benefit from the latest SDK features and fixes.

To comment on this blog post or engage with fellow developers, join the Google Mobile Ads SDK Discord channel and share your thoughts.

With the recent release of Explorer Access for the Google Ads API, Google Ads API MCP server and the Google Ads API Developer Assistant, we are seeing significant interest in the developer community for Google Ads API access, and are receiving an increase in developer token access applications. As a result, there is also an increased delay on reviews for these applications.

We have heard from the developer community that the applications for developer token access levels are taking longer than usual. We are aware of this issue, and have added additional reviewers to process the applications and clear the backlog. We have fast-tracked some applications, so some of you should already start seeing your applications getting approved.

If you have Explorer Access, continue to use it if it meets your needs, as it provides the same campaign management and reporting features as Basic and Standard levels.

Upgrade to Basic Access only if:

  • You consistently exceed your daily quota.
  • You are planning for growth and expect you will exceed quotas.
  • You are blocked by features unavailable in your current Access Level (Test or Explorer).

How can I support the progress of my application?

If you have an ongoing Basic Access application, regardless of whether you currently have Test Account Access or Explorer Access, you can take the following actions to help us move your application forward with fewer requests for additional information:

  • Ensure that the accounts you plan to manage are listed as children under the Google Ads Manager account from which you signed up for the developer token, when possible.
  • Complete advertiser verification for one or more accounts under the Google Ads Manager account from which you signed up for the developer token. If you already have verified accounts under a different Manager account, you may link those accounts under the API Manager account instead.
  • If you are using other Google APIs and have completed the OAuth App verification process for your Google Cloud project in the past, then update your Basic Access application to include the Google Cloud project number. If you have a new Google Cloud project, consider completing the OAuth App verification process and sharing the project number with the review team.
  • Update your Basic Access application with clear, specific details of your use case, including why your current level of access doesn’t meet your needs. Your explanation should be a few sentences long, that helps us understand both your business, and your API use case. We will reject applications that are unclear.

For technical support issues, reach out to https://support.google.com/google-ads/gethelp