Data Measured

30 Sept 2026 · Google Ads · medium severity · fix verified 10 Sept 2026

Campaign-level language targeting removed from Search, AI Max for Search and the Search half of Performance Max (late September)

Google Ads Help: "Starting in September 2026, the way language targeting works is changing for Search campaigns and the Search Network portion of Performance Max campaigns." The campaign-level setting is removed and "Search ads will automatically match based on the language of your ads." Per the Google Ads Developer Blog the criteria survive in the API: they "will still be returned when querying even though they are not used for targeting", and any mutate that adds or updates CampaignCriterion.language on a Search campaign "will result in a ContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT error". Performance Max keeps the setting on YouTube, Display, Discover and Gmail; Shopping ads inside Performance Max are not governed by it.

Source: Google Ads Developer Blog — Google Ads language targeting changes starting September 2026 (13 August 2026).

What it breaks

Any language dimension sourced from campaign_criterion.language.language_constant keeps returning a populated, filterable value that no longer describes delivery on Search. There is no null, no flag and no deprecation marker on the row. The replacement signal, the language of the ad and the landing page, has no field in the API: no segments.language, and no language attribute on ad_group_ad or on a text asset. Write paths break asymmetrically, erroring on Search campaigns and succeeding silently on Performance Max. Compliance files that cite the campaign language setting as a market control name a setting that constrains nothing on Search.

Who it hits: Any account reporting or auditing by campaign language; anyone whose scripts set CampaignCriterion.language; regulated advertisers who used the setting as evidence of a market restriction.

The fix

Snapshot every language criterion with its campaign channel type before the change lands, label each row inert, partial or live, and stop sourcing a language dimension from the criterion on Search. Split the Search write path out of any routine that sets campaign languages.

fix artifact · #A-012

Language criterion audit (GAQL), with the label rule

The query that pulls every campaign-level language criterion with its campaign channel type, so each row can be labelled inert, partial or live before Google Ads stops using the setting on Search in late September 2026. The criterion keeps returning after the change, so this snapshot is the only surviving record of what the account asked for.

verified_on
2026-09-10
next re-check
2026-12-01
status
current

Open the artifact →

Related changes

Sources linked on every entry · artifacts stamped and re-verified · ← all changes