Support for European Union Political Ads Regulation

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