Google Ads
A Nonpolitical Campaign Still Needs a Defensible EU Declaration

Updated: October 26, 2026
In Google Ads API v26, a campaign that does not positively target the EU may be allowed to omit the EU political-advertising declaration—but only when the campaign’s effective location criteria satisfy Google’s rules. Do not infer “nonpolitical” from the offer or the advertiser. Validate the targeting state the API evaluates and preserve the evidence behind the declaration.
What changed in v26
Google’s October 14, 2026 release notes make Campaign.contains_eu_political_advertising optional for some campaigns that do not positively target the European Union. For most campaign types, the campaign must have no positive EU location, no positive proximity or location-group criterion, and at least one positive location outside the EU after the request executes.
Demand Gen with upgraded targeting is different: Google evaluates every active ad group’s applicable positive location criteria. A later ad-group change can therefore make a previously optional declaration required.
Do not confuse content with targeting
The field answers a regulatory declaration question in the context of campaign delivery. Your internal conclusion that an ad is commercial, educational or nonpartisan does not remove the need to handle the field correctly. Likewise, excluding EU locations is not the same as having a valid positive-location configuration outside the EU.
Use a deterministic preflight
| Check | Pass condition | Evidence to retain |
|---|---|---|
| Positive locations | Every positive criterion is classified correctly | Geo target IDs and API response |
| Proximity | No positive proximity when relying on omission | Campaign criterion export |
| Location groups | No positive group when relying on omission | Group definition and status |
| Demand Gen ad groups | Every active group passes the rule | Ad-group criteria snapshot |
| Mutation order | Campaign and required criteria resolve together | Grouped mutate request and result |
Use the new requirement flags
Version 26 adds requirement indicators on geo targets and campaign or ad-group criteria. Use these fields instead of maintaining a brittle hand-written EU country list. A positive proximity or location-group criterion can require the declaration even when the selected area appears to sit outside EU territory, so the platform’s returned requirement flag should control the validation.
Handle grouped mutations and later edits
Google notes that some campaign creations succeed only when the required criteria are included in the same GoogleAdsService.Mutate request. Build the preflight against the post-mutation state, not just the campaign object before location criteria exist. Re-run the check whenever a user adds a location, enables an ad group, duplicates a campaign or converts targeting.
Log any MISSING_EU_POLITICAL_ADVERTISING_SELF_DECLARATION error with the exact criterion that changed the requirement. That makes the fix auditable instead of encouraging developers to set a value blindly.
Operational checklist
- Resolve all effective positive campaign locations.
- Inspect proximity and location-group criteria.
- For upgraded Demand Gen, inspect every active ad group.
- Read Google’s requirement flags.
- Set or omit the declaration from the evaluated state.
- Store the request, response and reviewer.
- Revalidate after targeting changes.
For broader automated-campaign controls, connect this check to MTC’s AI Max change-history audit so targeting changes and compliance state share one trail.
Frequently asked questions
Can I always omit the field for a US-only campaign?
Only when the campaign satisfies the v26 conditions after the request executes. Validate the actual positive criteria and any proximity or location group.
Does an EU exclusion make the field optional?
Not by itself. The optional path also requires qualifying positive location criteria outside the EU and no disqualifying positive criterion.
Should I hard-code EU countries?
Prefer Google’s new requirement fields, then retain the returned values in your QA record.
