In October 2025, Google stopped serving political advertising in the European Union ahead of a new political ads regulation. This guide summarizes the support for the EU Political Ads Regulation in the Google Ads API.
Support for self-declaration of EU political ads
Google Ads API supports self-declaring a campaign for EU political ads
using
the contains_eu_political_advertising
field. The possible values and
their meaning are shown in the following table.
| 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
.
select
campaign
.
id
,
campaign
.
contains_eu_political_advertising
from
campaign
Campaign-level API validation and enforcement
All new campaigns created through the Google Ads API should set the contains_eu_political_advertising
field. The API call to create a
new campaign using CampaignService.MutateCampaigns
will fail with a FieldError.REQUIRED
error if this field is not set.
All the existing campaigns should set the contains_eu_political_advertising
field before attempting to change proximity
, location
, or location_group
targeting either at the campaign or ad group levels. The API call to create or
update these campaign criteria using the CampaignCriterionService.MutateCampaignCriteria
method for existing
campaigns will fail with a CriterionError.MISSING_EU_POLITICAL_ADVERTISING_SELF_DECLARATION
error if the campaign hasn't completed the self-declaration. The API call to
create or update these ad group criteria using the AdGroupCriterionService.MutateAdGroupCriteria
method will also fail
in a similar manner if the campaign hasn't completed the self-declaration.
These enforcements also apply to other mechanisms that you can use to make
campaigns, such as running Batch Jobs
and using GoogleAdsService.Mutate
method to create and update entities.
Attempting to schedule a new experiment using the ExperimentService.ScheduleExperiment
method will throw an ExperimentError.MISSING_EU_POLITICAL_ADVERTISING_SELF_DECLARATION
error if the contains_eu_political_advertising
declaration is missing on the
treatment draft campaigns.
Account-level API validation and enforcement changes
Starting on April 1, 2026, if a Google Ads account has one or more undeclared
campaigns, the Google Ads API will fail all mutate calls related to campaign management
with a MutateError.EU_POLITICAL_ADVERTISING_DECLARATION_REQUIRED
error. All other calls--such as reporting, account management or keyword
planner--will continue to work unaffected. See the full list of
methods
.
How to declare existing undeclared campaigns
To declare existing undeclared campaigns, retrieve the list of eligible
campaigns, and set their contains_eu_political_advertising
declaration using the CampaignService.MutateCampaigns
method, the GoogleAdsService.Mutate
method, or
using the BatchJobService
. These methods
won't fail with a MutateError.EU_POLITICAL_ADVERTISING_DECLARATION_REQUIRED
error as long as you only update the campaign's contains_eu_political_advertising
field.
You can retrieve the list of undeclared campaigns by running the following GAQL
query using either the Search
or SearchStream
methods of
the GoogleAdsService
.
select
campaign
.
id
from
campaign
where
campaign
.
missing_eu_political_advertising_declaration
=
true
You can also declare undeclared campaigns on the Google Ads account level using the
Google Ads UI. The account level declaration status can be retrieved using the contains_eu_political_advertising
field of the Customer
object.
Effect on 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. Learn more
.
Existing campaigns without a declaration will remain unaffected for now.
List of enforced methods
All methods that are used for Google Ads campaign management are affected by the account-level validation and enforcement . A full list of methods is listed in the following table.
| Service | Method |
|---|---|
AdGroupAdLabelService
|
MutateAdGroupAdLabels
|
AdGroupAdService
|
MutateAdGroupAds
|
AdGroupAdService
|
RemoveAutomaticallyCreatedAssets
|
AdGroupAssetService
|
MutateAdGroupAssets
|
AdGroupAssetSetService
|
MutateAdGroupAssetSets
|
AdGroupBidModifierService
|
MutateAdGroupBidModifiers
|
AdGroupCriterionCustomizerService
|
MutateAdGroupCriterionCustomizers
|
AdGroupCriterionLabelService
|
MutateAdGroupCriterionLabels
|
AdGroupCriterionService
|
MutateAdGroupCriteria
|
AdGroupCustomizerService
|
MutateAdGroupCustomizers
|
AdGroupLabelService
|
MutateAdGroupLabels
|
AdGroupService
|
MutateAdGroups
|
AdParameterService
|
MutateAdParameters
|
AdService
|
MutateAds
|
AssetGroupAssetService
|
MutateAssetGroupAssets
|
AssetGroupListingGroupFilterService
|
MutateAssetGroupListingGroupFilters
|
AssetGroupService
|
MutateAssetGroups
|
AssetGroupSignalService
|
MutateAssetGroupSignals
|
AssetService
|
MutateAssets
|
AssetSetAssetService
|
MutateAssetSetAssets
|
AssetSetService
|
MutateAssetSets
|
AudienceService
|
MutateAudiences
|
AutomaticallyCreatedAssetRemovalService
|
RemoveCampaignAutomaticallyCreatedAsset
|
BiddingDataExclusionService
|
MutateBiddingDataExclusions
|
BiddingSeasonalityAdjustmentService
|
MutateBiddingSeasonalityAdjustments
|
BiddingStrategyService
|
MutateBiddingStrategies
|
CampaignAssetService
|
MutateCampaignAssets
|
CampaignAssetSetService
|
MutateCampaignAssetSets
|
CampaignBidModifierService
|
MutateCampaignBidModifiers
|
CampaignBudgetService
|
MutateCampaignBudgets
|
CampaignConversionGoalService
|
MutateCampaignConversionGoals
|
CampaignCriterionService
|
MutateCampaignCriteria
|
CampaignCustomizerService
|
MutateCampaignCustomizers
|
CampaignDraftService
|
ListCampaignDraftAsyncErrors
|
CampaignDraftService
|
MutateCampaignDrafts
|
CampaignDraftService
|
PromoteCampaignDraft
|
CampaignGoalConfigService
|
MutateCampaignGoalConfigs
|
CampaignGroupService
|
MutateCampaignGroups
|
CampaignLabelService
|
MutateCampaignLabels
|
CampaignLifecycleGoalService
|
ConfigureCampaignLifecycleGoals
|
CampaignService
|
EnablePMaxBrandGuidelines
|
CampaignService
|
MutateCampaigns
|
CampaignSharedSetService
|
MutateCampaignSharedSets
|
ConversionActionService
|
MutateConversionActions
|
ConversionAdjustmentUploadService
|
UploadConversionAdjustments
|
ConversionCustomVariableService
|
MutateConversionCustomVariables
|
ConversionGoalCampaignConfigService
|
MutateConversionGoalCampaignConfigs
|
ConversionValueRuleService
|
MutateConversionValueRules
|
ConversionValueRuleSetService
|
MutateConversionValueRuleSets
|
CustomAudienceService
|
MutateCustomAudiences
|
CustomConversionGoalService
|
MutateCustomConversionGoals
|
CustomInterestService
|
MutateCustomInterests
|
CustomerAssetService
|
MutateCustomerAssets
|
CustomerAssetSetService
|
MutateCustomerAssetSets
|
CustomerConversionGoalService
|
MutateCustomerConversionGoals
|
CustomerCustomizerService
|
MutateCustomerCustomizers
|
CustomerLabelService
|
MutateCustomerLabels
|
CustomerLifecycleGoalService
|
ConfigureCustomerLifecycleGoals
|
CustomerNegativeCriterionService
|
MutateCustomerNegativeCriteria
|
CustomerSkAdNetworkConversionValueSchemaService
|
MutateCustomerSkAdNetworkConversionValueSchema
|
CustomizerAttributeService
|
MutateCustomizerAttributes
|
ExperimentArmService
|
MutateExperimentArms
|
ExperimentService
|
EndExperiment
|
ExperimentService
|
GraduateExperiment
|
ExperimentService
|
ListExperimentAsyncErrors
|
ExperimentService
|
MutateExperiments
|
ExperimentService
|
PromoteExperiment
|
ExperimentService
|
ScheduleExperiment
|
FeedService
|
MutateFeeds
|
GoalService
|
MutateGoals
|
LabelService
|
MutateLabels
|
LocalServicesLeadService
|
AppendLeadConversation
|
LocalServicesLeadService
|
ProvideLeadFeedback
|
OfflineUserDataJobService
|
AddOfflineUserDataJobOperations
|
OfflineUserDataJobService
|
CreateOfflineUserDataJob
|
OfflineUserDataJobService
|
RunOfflineUserDataJob
|
RecommendationService
|
ApplyRecommendation
|
RecommendationService
|
DismissRecommendation
|
RecommendationSubscriptionService
|
MutateRecommendationSubscription
|
RemarketingActionService
|
MutateRemarketingActions
|
SharedCriterionService
|
MutateSharedCriteria
|
SharedSetService
|
MutateSharedSets
|
SmartCampaignSettingService
|
MutateSmartCampaignSettings
|
UserListCustomerTypeService
|
MutateUserListCustomerTypes
|
UserDataService
|
UploadUserData
|
UserListService
|
MutateUserLists
|

