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 |