What’s changing?
As announced last year, Google will stop serving political advertising in the European Union ahead of a new regulation taking effect in October 2025. On September 3, 2025, the Google Ads API and Google Ads scripts will roll out enforcements related to this change. If you use either of these products to create or manage campaigns, you may need to update your application to handle these enforcements before September 3, 2025.
API support for self-declaration of EU political ads
Google Ads API and Google Ads scripts have added support for self-declaration as to whether a campaign has EU political ads. Learn how an EU political ad is defined here. Versions v19.2, v20.1, and v21 of the API contain a new field named contains_eu_political_advertising in the Campaign object. The possible values and their meaning are shown in the table below.
| Value | Meaning |
CONTAINS_EU_POLITICAL_ADVERTISING
|
The campaign has EU political ads. |
DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING
|
The campaign does not have EU political ads. |
UNSPECIFIED
|
The campaign is missing self-declaration about EU political ads. |
You can retrieve the self-declaration status of a campaign in Google Ads API by running the following query using either the Search or SearchStream methods of the GoogleAdsService. For Google Ads Scripts, use the AdsApp.search or AdsApp.report methods.
select campaign.id, campaign.contains_eu_political_advertising from campaign
If you use the Google Ads API client libraries, you may need to download the latest library version to use this functionality in versions v19 and v20 of the API.
API validation & enforcement changes
On September 3, 2025, Google Ads API and Google Ads scripts will start enforcing the following checks in versions v19 and v20 of the API.
- All new campaigns created either through Google Ads API or Google Ads scripts should set the
contains_eu_political_advertisingfield. The API call to create a new campaign usingCampaignService.MutateCampaignswill fail with aFieldError.REQUIREDerror if this field is not set. Google Ads Scripts will enforce these checks when creating campaigns usingAdsApp.mutateorAdsApp.mutateAllmethods. - All the existing campaigns should set the
contains_eu_political_advertisingfield before attempting to changeproximity, location,orlocation_grouptargeting either at the campaign or ad group levels. The API call to create or update these campaign criteria usingCampaignCriterionService.MutateCampaignCriteriamethod for existing campaigns will fail with aCriterionError.MISSING_EU_POLITICAL_ADVERTISING_SELF_DECLARATIONerror if the campaign hasn’t completed the self-declaration. The API call to create or update these ad group criteria usingAdGroupCriterionService.MutateAdGroupCriteriawill also fail in a similar manner if the campaign hasn’t completed the self-declaration. Google Ads scripts will enforce these checks when attempting to change targeting usingAdsApp.mutate,AdsApp.mutateAll,AdsApp.Campaign.addProximity, andAdsApp.Campaign.addLocationmethods. - These enforcements also apply to other mechanisms that you can use to make campaigns, such as running Batch Jobs and using
GoogleAdsService.Mutatemethod to create and update entities. - Attempting to schedule a new experiment using
ExperimentService.ScheduleExperimentmethod will throw anExperimentError.MISSING_EU_POLITICAL_ADVERTISING_SELF_DECLARATIONerror if thecontains_eu_political_advertising declarationis missing on the treatment draft campaigns. - If you use the bulk upload feature in Google Ads scripts, check the product documentation to learn more about the spreadsheet template changes required as part of this change.
These checks are already enforced in version v21 of the Google Ads API.
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 on September 22, 2025. Refer to our Help Center to learn more.
Existing campaigns without a declaration will remain unaffected for now. We recommend updating the existing campaigns in your accounts with an appropriate declaration as soon as possible. You can retrieve campaigns without a declaration using the following GAQL query using either the Search or SearchStream methods of the GoogleAdsService.
select campaign.id, campaign.contains_eu_political_advertising
from
campaign
where
campaign.contains_eu_political_advertising NOT IN
(
'CONTAINS_EU_POLITICAL_ADVERTISING',
'DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING'
)
What do I need to do?
If your application uses either Google Ads API or Google Ads scripts to create or manage campaigns, make sure to update your application to handle these enforcements before September 3, 2025.
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.