Field notes · Google Ads API

Google Ads API v22 stops working in October. Moving to v25 took us a day

Three emails from Google arrived on 14 September, and one of them could switch off our nightly import on 7 October. The documentation told us what changed in the API. It could not tell us what would change in our reports.

What the move took ↓

Short answer: version 22 of the Google Ads API reaches its sunset in October 2026, and the email Google sent Climent Media gave 7 October. After that date, requests to v22 fail. Moving the Climent Ads Assistant MCP to v25 changed 2 of the 197 fields it reads, plus one number in its reports that no release note mentioned. The switch went live on 21 September, the day the work started.

What did Google’s emails of 14 September say?

Three messages from Google reached the same inbox that day, each written like a routine announcement. I pasted them into a working session a week later with one line: I don’t know what we have to do, or how.

EmailWhat it changesWhat it took us
Developer tokens move to Google Cloud projectsAccess levels now belong to the Cloud project. The token in the request header becomes optional.Nothing yet. Our Basic access had already moved on its own to the project our OAuth client lives in. Taking the header out is still on the list.
Upgrade from v22 before 7 October 2026Requests to v22 fail after the sunset: the nightly import, the reports, the MCP and every approved change.One day, described below.
Google Ads developer policy updateNew rules for integrations, including one on MCP servers and proxies.A careful read. What it means for an MCP that other businesses use is in the Google Ads API access guide.
Or see what your team should look at first: the Paid Media Capacity Check, being built now

Which Google Ads API version should you move to?

The newest one you can test. Moving from v22 to v23 costs about the same work as moving to v25, and v23 goes away in February 2027. Version 25 lasts until August 2027.

VersionReleasedSunsetBest for
v2215 October 2025October 2026 (7 October in our email)Nothing now. Move off it.
v2328 January 2026February 2027Only if a library you depend on stops there.
v2422 April 2026May 2027The same work as v25, for three months less.
v2522 July 2026August 2027Moving today.
v26October 2026 (upcoming)November 2027The next move, once it ships.

Dates from Google’s deprecation and sunset page, last updated on 23 September 2026. The table leaves out the minor versions, such as v25.1, which the page lists. And the page is plain about what a sunset means:

“Requests sent to this version will fail on or after the sunset date.”

Google Ads API documentation, Deprecation and sunset, read on 28 September 2026.

How do you see which version your project calls?

In the Google Cloud Console, open APIs and Services, then Google Ads API, then the Metrics tab. The Methods table names each call with its version inside, such as google.ads.googleads.v25.services.GoogleAdsService.Mutate. In our case the version lived in one place: an environment variable that the service and a separate daily script both read.

Setting up access from scratch? How Google Ads API access works now that the developer token is gone

What did the move from v22 to v25 actually take?

Less than I feared, and more than reading the release notes. In the order it happened:

The diagnosis was ready 23 minutes after I pasted the emails, and the service was talking v25 at 17:45 UTC the same day. The last step was mine: the session’s permissions would not let it write to the production environment file, so I ran the script myself.

Which difference did the release notes not mention?

Performance Max. With v22, its traffic came back under a single network value, MIXED. With v25, the same traffic came back split by channel: SEARCH, YOUTUBE, CONTENT and DISCOVER. Campaign by campaign, impressions, clicks and cost added up to exactly the same totals. Only ratios such as cost per click by network moved.

The split is not a broken read. It is a finer one. But a report whose window crosses the switch date shows the same Performance Max traffic counted two ways, and that looks like a change in the account. The Climent Ads Assistant MCP now says so in the description it gives the model for that field, so an answer that crosses the date can warn about it.

Was it just a matter of handing the AI the documentation?

Partly. The documentation says what changed in the API. It cannot say what changes in your reports, because it doesn’t know which fields you read or how you add them up. What made this a one-day job for Climent Ads Assistant was measuring against its own data: the same day read on both versions, account by account. Without that, the Performance Max split would have reached a client report as a real change.

The token change, on the other hand, took nothing at all. Google had moved our Basic access to the right project before any of us had read the email.

Or see what your team should look at first: the Paid Media Capacity Check, being built now

What I still don’t know

Whether v26, due in October 2026, removes anything we read. The check will be the same: our fields against the new definitions, and the same day read on both versions.

And exactly when a developer token in the header stops being accepted. Google’s email to developers says releases expected in the first half of 2027 will reject it. Our code still sends it, and taking it out is on the list.

Or skip the plumbing: the Google Ads MCP options, and what each one can change

Questions people actually ask

When does Google Ads API v22 stop working?

In October 2026. Google’s sunset page lists it as tentative for October, and the email Google sent to developers still using it gave 7 October. After the sunset, requests to v22 fail, so anything still calling it stops returning data.

How do I check which Google Ads API version my app uses?

In the Google Cloud Console, open APIs and Services, then Google Ads API, then the Metrics tab. The Methods table shows each call with its version in the name, for example google.ads.googleads.v25.services.GoogleAdsService.Mutate. In code, look for the version in the request URL or in your client library settings.

What changed between v22 and v25 for reporting?

In the 197 fields we read, two: campaign.start_date and campaign.end_date became start_date_time and end_date_time in v23. In our data, Performance Max also stopped reporting one MIXED network and came back split by channel, with identical totals. Your fields may differ, so compare your own.

Should I upgrade to v23 or straight to the latest version?

Straight to the latest you can test. The work is similar, and every version you skip is one migration you do not repeat. Google lists v23 for sunset in February 2027 and v25 in August 2027.

Do I need to change my code because developer tokens were retired?

Not yet. Access levels moved to Google Cloud projects automatically, and a developer token in the header is now optional. Google’s email to developers says releases expected in the first half of 2027 will no longer accept it, so remove it when you next upgrade.

Related reading

Last updated:

Who wrote this

I’m Manu. I’m a media buyer, and I built Climent Ads Assistant because no ads software I paid for was worth it. It reads Meta, Google Ads, GA4 and Search Console one client at a time, and changes a campaign only through a proposal that a person signs in the product. On v25 since 21 September.