Google Ads API Release Notes
Last updated: Jan 29, 2026
- Jan 28, 2026
- Date parsed from source:Jan 28, 2026
- First seen by Releasebot:Jan 29, 2026
v23 (2026-01-28)
Google Ads v23 brings a sweeping set of shipped updates across Ads, Assets, Campaigns and Reports. Expect richer metrics, new error codes, expanded incentives, enhanced audience insights and refined conversion tracking that unlocks deeper performance insights.
Ads
- Added AD_SHARING_NOT_ALLOWED to AdGroupAdErrorEnum. This error is returned when attempting to share an ad among multiple ad groups, which is no longer allowed.
- Added new format types to AdFormatType: TEXT, VERTICAL_ADS_BOOKING_LINK, VERTICAL_ADS_PROMOTION.
- Removed support for CallAd and CallAdInfo in v23. See https://support.google.com/google-ads/answer/6341403 to learn more.
Assets
- Added additional metrics to the asset_group report:
- metrics.engagements
- metrics.engagement_rate
- metrics.average_cpe
- Added additional metrics to the asset_group_asset report:
- metrics.average_cpe
- metrics.average_cpm
- metrics.trueview_average_cpv
- metrics.video_trueview_view_rate
- metrics.video_trueview_views
- metrics.interaction_event_types
- Added read-only field orientation to image and video assets in Asset.
- Added support to retrieve CampaignAsset with field_type HEADLINE and DESCRIPTION.
- Added HEADLINE_AS_SITELINK_POSITION_ONE, HEADLINE_AS_SITELINK_POSITION_TWO, DESCRIPTION_LINE_HEADLINE_AS_SITELINK_POSITION_ONE, and DESCRIPTION_LINE_HEADLINE_AS_SITELINK_POSITION_TWO to ServedAssetFieldType for assets served as sitelinks.
- Updated Business Message Assets:
- Added support for Facebook Messenger and Zalo as providers in BusinessMessageAsset, adding FACEBOOK_MESSENGER and ZALO to BusinessMessageProviderEnum.BusinessMessageProvider, and new fields facebook_messenger_info and zalo_info to BusinessMessageAsset.
- Added CUSTOMER_NOT_ON_ALLOWLIST_FOR_MESSAGE_ASSETS to AssetErrorEnum.
- Added CUSTOMER_NOT_ON_ALLOWLIST_FOR_MESSAGE_ASSETS to AssetErrorEnum.
Billing
- InvoiceService.ListInvoices can now return more granular details in Invoice including campaign-level cost breakdown, itemized regulatory costs, and adjustment information, by setting include_granular_level_invoice_details in ListInvoicesRequest.
- Added RegulatoryFeeTypeEnum and UnitOfMeasureEnum.
Campaigns
- Added CampaignError.DURATION_TOO_LONG_FOR_TOTAL_BUDGET and CampaignError.END_DATE_TIME_REQUIRED_FOR_TOTAL_BUDGET error codes.
- Added Campaign.start_date_time and Campaign.end_date_time to replace Campaign.start_date and Campaign.end_date, allowing to specify time components for certain campaign types.
Conversions
- Added YOUTUBE_FOLLOW_ON_VIEWS to ConversionActionCategory to support tracking users who watch an ad and later watch a video from the same channel.
Demand Gen
- Added DemandGenVideoResponsiveAdInfo.companion_banner field.
- Removed lead_form_only field from DemandGenMultiAssetAdInfo.
Incentives
- Added support for Choose Your Own (CYO) incentives, allowing partners to programmatically fetch and apply Google Ads incentives for their customers:
- Added IncentiveService:
- The FetchIncentive method allows fetching available incentives for a user, based on country, language, and optionally the user's email. This can return personalized "Choose Your Own" (CYO) incentive options.
- The ApplyIncentive method allows applying a user-selected incentive to a specific Google Ads customer account.
- Added the read-only resource AppliedIncentive, queryable through GoogleAdsService.Search and GoogleAdsService.SearchStream. It provides details on redeemed incentives, including their status, fulfillment progress, reward amounts, and relevant dates.
- Added new error codes in IncentiveErrorEnum to handle issues related to incentive fetching or application.
- Added INVALID_EMAIL_ADDRESS to AuthenticationErrorEnum.
- Added IncentiveService:
- To facilitate more granular programmatic handling of failures, we will add additional error codes to IncentivesService in future releases. We recommend that you monitor upcoming announcements and release notes for these new error codes to make sure your applications can manage these new failure modes.
Planning
- Added LIFE_EVENT_USER_INTEREST to AudienceInsightsDimension. This new dimension allows users to build audiences using Life Events for the following methods:
- AudienceInsightsService.GenerateAudienceCompositionInsights
- AudienceInsightsService.GenerateSuggestedTargetingInsights
- AudienceInsightsService.GenerateInsightsFinderReport
- ContentCreatorInsightsService.GenerateCreatorInsights
Life Events are not supported for other AudienceInsightsService methods such as AudienceInsightsService.GenerateAudienceOverlap and AudienceInsightsService.GenerateTargetingSuggestionMetrics.
- The ReachPlanService.GenerateConversionRates response now includes surfaces, allowing for different conversion rate suggestions based on surface controls (for example, Gmail, Shorts). This is only supported for Demand Gen campaigns.
- Added LanguageDistribution to YouTubeChannelInsights, providing language distribution in YouTube channel content.
- Added BenchmarksService to compare YouTube advertisement data against industry benchmarks.
- Added AudienceInsightsService.GenerateAudienceDefinition to translate a free text description of a target audience into matching audience attributes using generative AI.
- Added YouTubeChannelInsights.relevance_score, which evaluates how relevant a creator is for a topic weighted by views.
- Added TrendInsightMetrics.trend_change_percent, which represents the percentage change in a trend's value over the comparison period.
Recommendations
- Added is_new_customer field to GenerateRecommendationsRequest. When set to true for recommendations of type CAMPAIGN_BUDGET, it generates recommendations using a model for new customers. This is only recommended for customers with no campaigns.
Reports
- Metrics and segmentation
- AdGroupAdAssetView and AdGroupAdAssetCombinationView now support impression, performance, and conversion metrics for RESPONSIVE_DISPLAY_AD.
- Added ad_sub_network_type segment for more granular performance breakdown within an ad network. Initially, this is available for DemandGen campaigns on YouTube (In-stream, In-feed, Shorts). This segment must be selected along with ad_network_type.
- Enabled ad network type breakdown for Performance Max campaigns.
- UserLocationView and GeographicView now support metrics segmented by conversion date:
- conversions_by_conversion_date,
- all_conversions_by_conversion_date,
- conversions_value_by_conversion_date,
- all_conversions_value_by_conversion_date,
- value_per_conversions_by_conversion_date,
- value_per_all_conversions_by_conversion_date,
- cross_device_conversions_by_conversion_date,
- cross_device_conversions_value_by_conversion_date.
- New segments for vertical ads
- vertical_ads_event_participant_display_names
- vertical_ads_hotel_class
- vertical_ads_listing
- vertical_ads_listing_brand
- vertical_ads_listing_city
- vertical_ads_listing_country
- vertical_ads_listing_region
- vertical_ads_partner_account
- vertical_ads_vertical
- New views:
- Added PerStoreView to query store location details.
- Added MatchedLocationInterestView for AI Max campaigns, providing performance metrics broken down by geographic locations in which users showed interest.
- Performance Max:
- Enabled ad network type breakdown for Performance Max campaigns.
- Removals:
- Removed aggregate asset performance label metrics. The performance label enum is no longer returned for Search and Display.
Shopping
- ShoppingPerformanceView now supports the following metrics segmented by conversion date:
- conversions_by_conversion_date,
- all_conversions_by_conversion_date,
- conversions_value_by_conversion_date,
- all_conversions_value_by_conversion_date,
- value_per_conversions_by_conversion_date,
- value_per_all_conversions_by_conversion_date.
- ShoppingPerformanceView now supports the following competitive metrics:
- search_budget_lost_impression_share,
- search_rank_lost_impression_share,
- search_budget_lost_absolute_top_impression_share,
- search_rank_lost_absolute_top_impression_share.
- Added product_image_uri to ShoppingProduct.
Vertical ads
- Added the vertical_ads_format_setting to AdGroup for Search campaigns using travel feeds, allowing control over which ad formats can serve.
- Added the vertical_ads_item_group_rule_list criterion type to AdGroupCriterion. Added vertical_ads_item_group_rule to SharedCriterion. These criteria permit targeting item groups in Search Campaigns with travel feeds.
- You can now connect a vertical ads data feed to a search campaign that is running AI Max so that it shows property promotion and booking link travel ads alongside your text ads. At the ad group level, you can control which formats to show with the vertical_ads_format_setting and define a set of item group rules to target a subset of your entities from the Vertical Ads Data Feed. Additionally, reporting can now be segmented both by AdFormatType and dimensions from the vertical ads data feed.
Video
- Added the AdVideoAssetInfo.ad_video_asset_feature_control field.
- Added the CampaignCriterionError.INVALID_VIDEO_LINEUP_ID error code.
- Added audibility metrics for audio ads on YouTube, reporting whether an ad was audible and on how many impressions audibility could be measured.
- Oct 15, 2025
- Date parsed from source:Oct 15, 2025
- First seen by Releasebot:Jan 15, 2026
- Modified by Releasebot:Jan 29, 2026
v22 (2025-10-15)
Google Ads v22 brings AI asset generation, new bidding goals, and asset automation across Campaigns, Performance Max, and Demand Gen. It expands reporting, adds planning tools, and new metrics for richer insights and optimization.
Assets
- Added LANDING_PAGE_PREVIEW as a new image asset field type.
- Introduced the AssetGenerationService (Beta):
- This service allows generating text and image assets using generative AI. This service is initially available only to a limited set of closed beta participants.
- GenerateText: Generates text based on inputs like final URL, freeform prompts, keywords, and existing campaign context.
- GenerateImages: Generates images based on inputs like final URL, freeform prompts, existing campaign context, or by recontextualizing existing product images.
- Errors during asset generation are returned with codes from AssetGenerationErrorEnum.
Campaigns
- Added new bidding goals for App campaigns for installs (ACi) to optimize without specifying a target, useful for rapid scaling or when determining the right target is challenging. In AppCampaignBiddingStrategyGoalType:
- OPTIMIZE_IN_APP_CONVERSIONS_WITHOUT_TARGET_CPA: Use with standard Maximize Conversions.
- OPTIMIZE_TOTAL_VALUE_WITHOUT_TARGET_ROAS: Use with standard Maximize Conversion Value.
- Added support for the fixed share of voice bidding strategy type.
- Added Campaign.feed_types, showing the types of feeds attached to a campaign. For Performance Max campaigns, this can indicate the business vertical, such as MERCHANT_CENTER_FEED for retail.
- Allowed attaching NEGATIVE_KEYWORDS shared sets to MULTI_CHANNEL (for App campaigns) and LOCAL campaigns.
Demand Gen
- Added the TargetCPC bidding strategy for Demand Gen campaigns. This strategy sets bids to maximize clicks at the configured target cost-per-click (CPC).
- Set the campaign-level target CPC using Campaign.target_cpc.
- Override at the ad group level using AdGroup.target_cpc_micros.
- Added a new AssetAutomationType:
- GENERATE_DESIGN_VERSIONS_FOR_IMAGES: Available for DemandGenMultiAssetAds. If enabled, this adds design elements and embeds text assets into image assets to create new image assets with different aspect ratios. New DemandGenMultiAssetAds are opted in by default.
- Added a new AssetAutomationType:
- GENERATE_VIDEOS_FROM_OTHER_ASSETS: Available for DemandGenMultiAssetAds. If enabled, it generates videos using other assets like images and text. These videos can then be used to create new DemandGenVideoResponsiveAds. New DemandGenMultiAssetAds are opted in by default.
- Renamed the field BudgetPerDayMinimumErrorDetails.minimum_bugdet_amount_micros to minimum_budget_amount_micros.
General
- Added a limit of 10,000 operations per AddBatchJobOperations request.
- Updated handling for the page_size field in ListBatchJobResultsRequest:
- If page_size is not set or is 0, it now defaults to the maximum of 1,000 (previously returned INVALID_PAGE_SIZE).
- If page_size exceeds 1,000, the API now returns an INVALID_PAGE_SIZE error (previously silently capped at 1,000).
- Added a new error code: QuotaError.PAYMENTS_PROFILE_ACTIVATION_RATE_LIMIT_EXPIRED to indicate when the payment profile activation rates limit has been exceeded.
Performance Max
- Added new AssetAutomationType values for Performance Max campaigns:
- GENERATE_IMAGE_ENHANCEMENT: Enables automatic creation of enhanced images such as auto-cropping. Enabled by default.
- GENERATE_IMAGE_EXTRACTION: Enables automatically sourcing images from final URLs. Defaults to the account-level Dynamic Image Extension setting.
- Removed AssetPerformanceLabel for Performance Max campaigns.
- The functionality of the removed Campaign.url_expansion_opt_out is now managed by setting the AssetAutomationType FINAL_URL_EXPANSION_TEXT_ASSET_AUTOMATION in AssetAutomationSetting.
- Added new segments for Performance Max campaigns. Each of these segments is only available for Performance Max campaigns and won't return data when any other campaign type is selected.
- ad_using_product_data: Indicates if an ad uses product data from a Google Merchant Center feed.
- ad_using_video: Indicates if an ad uses a video asset.
Planning
- In UserListCrmDataSourceType, added the value THIRD_PARTY_PARTNER_DATA.
- Added new error codes related to partner audiences:
- PARTNER_AUDIENCE_SOURCE_NOT_SUPPORTED_FOR_USER_LIST_TYPE
- PARTNER_AUDIENCE_TYPE_NOT_SUPPORTED_FOR_USER_LIST_TYPE
- COMMERCE_PARTNER_NOT_ALLOWED
- PARTNER_AUDIENCE_INFO_NOT_SUPPORTED_FOR_USER_LIST_TYPE
- PARTNER_MANAGER_ACCOUNT_DISALLOWED
- PARTNER_NOT_ALLOWLISTED_FOR_THIRD_PARTY_PARTNER_DATA
- ADVERTISER_TOS_NOT_ACCEPTED
- ADVERTISER_PARTNER_LINK_MISSING
- ADVERTISER_NOT_ALLOWLISTED_FOR_THIRD_PARTY_PARTNER_DATA
- ACCOUNT_SETTING_TYPE_NOT_ALLOWED_FOR_USER_LIST_TYPE
- INVALID_CAMPAIGN_TYPE_FOR_THIRD_PARTY_PARTNER_DATA_LIST
- Added is_active_live_stream_creator to YouTubeMetrics. This is returned by ContentCreatorInsightsService.GenerateCreatorInsights and indicates if a creator published a livestream in the past 90 days.
- Added a new PlannableUserListMetadata message that contains UserListCrmDataSourceType in PlannableUserList. This message is returned by 'ReachPlanService.ListPlannableUserLists' to show if a CRM user list data source is either FIRST_PARTY or THIRD_PARTY_PARTNER_DATA.
- In ReachPlanService, added the field trueview_views, which replaces the views field.
- In TrendInsight, added support for related_videos and related_creators. Also added video properties metadata and publish dates in YouTubeVideoAttributeMetadata.video_properties and YouTubeVideoAttributeMetadata.publish_date.
- AudienceInsightsService.GenerateInsightsFinderReport now supports parental_status and income_ranges, and more complex AND/OR combinations of topics and audiences.
Reports
- A variety of new metrics are now available for AssetGroupAsset, ChannelAggregateAssetView, and CampaignAggregateAssetView. Additionally, for ChannelAggregateAssetView and CampaignAggregateAssetView, impressions, which was previously zeroed out for Performance Max campaigns, will now report its true value.
- Made the AssetSet resource selectable with ChangeStatus so users can get more info about the AssetSet or CampaignAssetSet type resource in one query.
- Made the CampaignAssetSet resource selectable with ChangeStatus so users can get more info about the AssetSet or CampaignAssetSet type resource in one query.
- Added a new segment search_term_targeting_status that can be selected in campaign search term view.
- Added a new final_url_expansion_asset_view.
- Added support for metrics value_adjustment and all_value_adjustment in the AssetGroup report.
- Made AssetGroupAsset segmentable by ad_network_type.
- Added a new segment landing_page_source that can be used with the landing_page_view resource.
- Added a new segment search_term_match_source that can be selected in the search term and campaign search term views.
- Added a new segment match_type that can be selected from the keyword view.
- Added support for metrics for unique query intent clusters with:
- clicks_unique_query_clusters
- conversions_unique_query_clusters
- impressions_unique_query_clusters
- Added a new click type VEHICLE_ASSETS in the click_view segmentation to track and report clicks related to the ad formats specific to vehicle assets.
Smart Bidding Exploration for Target ROAS bidding strategies on Search
- You can now enable Smart Bidding Exploration on Search campaigns by setting the field target_roas_tolerance_percent_millis in the MaximizeConversionValue and TargetRoas bidding strategies to any value divisible by 1000 between 10000 (10%) and 30000 (30%) inclusive.
- MaximizeConversionValue bidding strategies will also need the target_roas field set.
- TargetRoas.target_roas_tolerance_percent_millis is only available for portfolio strategies. See our blog post on Smart Bidding Exploration and help center article.
- Aggregated diversity reporting is now supported for the following metrics for unique query intent clusters. A time segmented view is available in the Google Ads UI.
- clicks_unique_query_clusters
- conversions_unique_query_clusters
- impressions_unique_query_clusters
Video
- Added YouTubeVideoListAsset. Also added Asset#youtube_video_list_asset, which can be used to create link between a campaign and a YouTubeVideoListAsset type. See the Help Center article Use related videos.
- Added new metadata fields to YouTubeChannelInsights and YouTubeVideoAttributeMetadata.
- Exposed new click types: VIDEO_RELATED_VIDEOS_CLICK, VIDEO_CHANNEL_CLICK, and PRODUCT_ASSETS.
- Added the allow_non_skippable_in_stream field to VideoAdInventoryControl to let Video Responsive ads serve as non-skippable in-stream ads. This option is available for campaigns that support mixing the non-skippable format with other formats.
- Added the Campaign.VideoCampaignSettings.video_ad_sequence and AdGroup.VideoAdGroupSettings.VideoAdSequenceStepSetting fields (read-only). See the Help Center article About video ad sequencing.
- Added new metadata fields to YouTubeChannelInsights and YouTubeVideoAttributeMetadata.
- Added the VIDEO_LINEUP criterion type and the video_lineup field to CampaignCriterion and AdGroupCriterion. This feature is available to allowlisted accounts only. Contact your Google business development representative for details.
- Added a Content Suitability report for both the detail and the group level. See the Help Center article About the 'Content suitability' report.
Archived release notes
See Sunsetted versions for archived release notes.
Original source Report a problem All of your release notes in one feed
Join Releasebot and get updates from Google and hundreds of other software products.
- Aug 6, 2025
- Date parsed from source:Aug 6, 2025
- First seen by Releasebot:Jan 15, 2026
v21 (2025-08-06)
Google Ads releases a sweeping update with AI Max for Search, asset automation, expanded ad group controls, and new reporting views plus EU political advertising safeguards. It also adds Smart Bidding Exploration, Campaign asset management, and Video/Reporting enhancements.
AI Max for Search campaigns
- You can now use the ai_max_setting.enable_ai_max field of the Campaign to enable AI Max for Search campaigns. AI Max for Search campaigns expands a Search campaign's reach through search term matching and allows controlling whether targeting and creative controls serve when set. Text asset automation and brand list controls that were set in previous version requests will still be respected until AI Max for Search campaigns is explicitly toggled and turned off. Campaign.ai_max_setting.bundling_required can be used to determine if AI Max for Search campaigns must be enabled to respect or modify text asset automation and brand list controls. AdGroup.ai_max_ad_group_setting.disable_search_term_matching can be used to disable search term matching when a parent campaign has enabled AI Max for Search campaigns. See our blog post Unlock next-level performance with AI Max for Search campaigns.
- Added CampaignError.AI_MAX_MUST_BE_ENABLED, which is thrown for Search campaigns when you opt in to FINAL_URL_EXPANSION_TEXT_ASSET_AUTOMATION without enabling AI Max for Search campaigns on the campaign.
- Added support for applying targeting controls at the ad group level in AI Max for Search campaigns. You can now add the following criteria to ad groups:
- Brand lists
- Locations
- Webpages (URL rules)
- Added the ai_max_search_term_ad_combination_view to report on performance for combinations of search terms, headlines, and landing pages. This view shows which search queries triggered your ads and how those specific combinations performed. A future release will include an additional view that also includes Performance Max data. If you want to avoid migrating your implementation to get Performance Max data, consider waiting for that release.
- Added AI_MAX as a new value for the search_term_match_type segment.
Assets
- Added the fields terms_and_conditions_text, terms_and_conditions_uri, promotion_barcode_info, and promotion_qr_code_info in PromotionAsset. Barcode and QR code fields are located within the promotion_trigger oneof. See the Help Center article About promotion assets.
- Added FINAL_URL_EXPANSION_TEXT_ASSET_AUTOMATION to AssetAutomationTypeEnum. With this setting, you can control the automatic generation of text assets and landing pages from the final URL in Search campaigns.
- Added a new service AutomaticallyCreatedAssetRemovalService.RemoveCampaignAutomaticallyCreatedAsset to remove automatically created assets from Campaign. This service supports removal of the final URL expansion asset only.
- Added DESCRIPTION_PREFIX to the ServedAssetFieldType enum. This corrects an issue where the served_asset_field_type in ad_group_ad_asset_combination_view was UNKNOWN for assets serving as a description prefix.
Campaigns
- Added a new enum value MISSING_LOCATION_TARGETING to CampaignPrimaryStatusReason. This new status reason will be returned only for location-restricted campaigns which don't specify location targeting. For location-restricted campaigns, any attempt to add location targeting outside the allowed area will result in the criterion error LOCATION_TARGETING_NOT_ELIGIBLE_FOR_RESTRICTED_CAMPAIGN.
- Added support for third-party integration partners on the VideoCustomer.third_party_integration_partners and Campaign.third_party_integration_partners levels. See the Help Center article Track app conversions with third-party app analytics.
- You can now set the advertising_partner_ids field for an existing Campaign. Previously, this field could only be set for a new campaign during its creation. The field is still immutable after being set.
- By using a shared list of type TYPE_PLACEMENT_LIST defined at the manager account level, advertisers can now use CustomerNegativeCriterion criteria to exclude a list of placements in individual advertiser customer accounts.
- Added DESCRIPTION_PREFIX to the ServedAssetFieldType enum. This corrects an issue where the served_asset_field_type in the ad_group_ad_asset_combination_view was UNKNOWN for assets serving as a description prefix.
- Added support for the field target_roas_tolerance_percent_millis in the MaximizeConversionValue and TargetRoas bidding strategies. TargetRoas.target_roas_tolerance_percent_millis is only available for portfolio strategies, which is only available for Search campaigns.
- Changed a ProductGroup error code. For requests with a partial failure enabled, LISTING_GROUP_ERROR_IN_ANOTHER_OPERATION will be returned instead of INVALID_LISTING_GROUP_HIERARCHY.
- Added a new resource LocationInterestView that summarizes the performance of adgroup location interest criteria.
Conversions
- Added ENGAGED_VIEW as a new value for the conversion_attribution_event_type segment.
- Customers will no longer have access to debug_enabled mode in ConversionUploadService. This field, if set to TRUE, was earlier used to distinguish the CLICK_NOT_FOUND error from SUCCESS for enhanced conversions for leads imports.
Demand Gen
- Added an error code CampaignBudgetError.BUDGET_BELOW_DAILY_MINIMUM. In the future, this error will be returned when attempting to set a very low budget amount for a Demand Gen campaign. Details about the required minimum budget can be found in the new error details field budgetDailyMinimumErrorDetails.
EU political advertising changes
These EU political advertising changes have also been made in the v19.2 and v20.1 releases.
- Added Campaign.contains_eu_political_advertising. This field indicates whether your campaign contains political advertising content targeted towards the European Union. If this field is set to CONTAINS_EU_POLITICAL_ADVERTISING, the campaign will no longer serve in the EU starting September 22, 2025. API calls to create a new campaign will fail with a FieldError.REQUIRED error if this field is not set.
- For any existing campaigns, you 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 calls to create or update these campaign or ad group criteria for existing campaigns will fail with a CriterionError.MISSING_EU_POLITICAL_ADVERTISING_SELF_DECLARATION error if the campaign hasn't completed the self-declaration.
- For versions v19.x and 20.x, the requirement to set this field is not yet enforced, but will be in the future. This change will be announced in advance.
- Trials and Experiments will throw an ExperimentError.MISSING_EU_POLITICAL_ADVERTISING_SELF_DECLARATION if the experiment's campaigns haven't self-declared whether they contain political advertising that targets the European Union.
Performance Max
- For new PMax campaigns the default value of Campaign.brand_guidelines_enabled is now true.
- Added the campaign_search_term_view report. This view offers search terms metrics aggregated at the campaign level. This view also introduces Performance Max campaign support for search terms.
- Added PERFORMANCE_MAX as a new value for the search_term_match_type segment.
Planning
- Added a new method ReachPlanService.ListPlannableUserInterests, which allows advertisers to discover the user interests (affinities and in-markets) supported by ReachPlanService.GenerateReachForecast. The method supports searching for specific user interest types and querying for names and paths.
- Added AdditionalApplicationInfo to ReachPlanService.ListPlannableUserLists as an optional input field.
- Added support to AudienceInsightsService.ListAudienceInsightsAttributes to fetch available 1P user lists for the customer ID making the request.
- Added 1P user lists support to AudienceInsightsService.GenerateAudienceCompositionInsights to fetch insights for audiences targeting a user list. Any request that targets a user list will only return the audience index and is only available for the following AudienceInsightsDimension: AGE_RANGE, GENDER, AFFINITY_USER_INTEREST, IN_MARKET_USER_INTEREST.
- Updated the audience input type to InsightsAudience for AudienceInsightsService.GenerateTargetingSuggestionMetrics. The new audience input allows an AND-of-ORs combination of user interests, supporting potential reach metrics for more customized audience definitions.
- Added audience share to TrendInsightMetrics to get the share of an audience for a trend.
- Added new related categories to KnowledgeGraphAttributeMetadata so users can filter Knowledge Graph Attributes by category.
Reports
- A variety of new metrics are now available for AssetGroupAsset, ChannelAggregateAssetView, and CampaignAggregateAssetView. Additionally, for ChannelAggregateAssetView and CampaignAggregateAssetView, impressions, which was previously zeroed out for Performance Max campaigns, will now report its true value.
- Made the AssetSet resource selectable with ChangeStatus so users can make get more info about the AssetSet or CampaignAssetSet type resource in one query.
- Made the CampaignAssetSet resource selectable with ChangeStatus so users can make get more info about the AssetSet or CampaignAssetSet type resource in one query.
- Added a new segment search_term_targeting_status that can be selected in campaign search term view.
- Added a new final_url_expansion_asset_view.
- Added support for metrics value_adjustment and all_value_adjustment in the AssetGroup report.
- Made AssetGroupAsset segmentable by ad_network_type.
- Added a new segment landing_page_source that can be used with the landing_page_view resource.
- Added a new segment search_term_match_source that can be selected in the search term and campaign search term views.
- Added a new segment match_type that can be selected from the keyword view.
- Added support for metrics for unique query intent clusters with:
- clicks_unique_query_clusters
- conversions_unique_query_clusters
- impressions_unique_query_clusters
- Added a new click type VEHICLE_ASSETS in the click_view segmentation to track and report clicks related to the ad formats specific to vehicle assets.
Smart Bidding Exploration for Target ROAS bidding strategies on Search
- You can now enable Smart Bidding Exploration on Search campaigns by setting the field target_roas_tolerance_percent_millis in the MaximizeConversionValue and TargetRoas bidding strategies to any value divisible by 1000 between 10000 (10%) and 30000 (30%) inclusive. MaximizeConversionValue bidding strategies will also need the target_roas field set. TargetRoas.target_roas_tolerance_percent_millis is only available for portfolio strategies. See our blog post on Smart Bidding Exploration and help center article.
- Aggregated diversity reporting is now supported for the following metrics for unique query intent clusters. A time segmented view is available in the Google Ads UI.
- clicks_unique_query_clusters
- conversions_unique_query_clusters
- impressions_unique_query_clusters
Video
- Added YouTubeVideoListAsset. Also added Asset#youtube_video_list_asset, which can be used to create link between a campaign and a YouTubeVideoListAsset type. See the Help Center article Use related videos.
- Added new metadata fields to YouTubeChannelInsights and YouTubeVideoAttributeMetadata.
- Exposed new click types: VIDEO_RELATED_VIDEOS_CLICK, VIDEO_CHANNEL_CLICK, and PRODUCT_ASSETS.
- Added the allow_non_skippable_in_stream field to VideoAdInventoryControl to let Video Responsive ads serve as non-skippable in-stream ads. This option is available for campaigns that support mixing the non-skippable format with other formats.
- Added the Campaign.VideoCampaignSettings.video_ad_sequence and AdGroup.VideoAdGroupSettings.VideoAdSequenceStepSetting fields (read-only). See the Help Center article About video ad sequencing.
- Added new metadata fields to YouTubeChannelInsights and YouTubeVideoAttributeMetadata.
- Added the VIDEO_LINEUP criterion type and the video_lineup field to CampaignCriterion and AdGroupCriterion. This feature is available to allowlisted accounts only. Contact your Google business development representative for details.
- Added a Content Suitability report for both the detail and the group level. See the Help Center article About the 'Content suitability' report.
- Aug 6, 2025
- Date parsed from source:Aug 6, 2025
- First seen by Releasebot:Jan 15, 2026
v20.1 (2025-08-06)
EU political advertising changes land in v19.2 and v21 with a new Campaign.contains_eu_political_advertising flag. Campaigns containing EU political ads may stop serving in the EU from Sept 22, 2025; existing campaigns must self‑declare before adjusting targeting, or related API calls fail.
These EU political advertising changes have also been made in the v19.2 and v21 releases.
EU political advertising changes
Added Campaign.contains_eu_political_advertising. This field indicates whether your campaign contains political advertising content targeted towards the European Union. If this field is set to CONTAINS_EU_POLITICAL_ADVERTISING, the campaign will no longer serve in the EU starting September 22, 2025.
For any existing campaigns, you 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 calls to create or update these campaign or ad group criteria for existing campaigns will fail with a CriterionError.MISSING_EU_POLITICAL_ADVERTISING_SELF_DECLARATION error if the campaign hasn't completed the self-declaration.
For versions v19.x and 20.x, the requirement to set this field is not yet enforced, but will be in the future. This change will be announced in advance.
Trials and Experiments will throw an ExperimentError.MISSING_EU_POLITICAL_ADVERTISING_SELF_DECLARATION if the experiment's campaigns haven't self-declared whether they contain political advertising that targets the European Union.
- Aug 6, 2025
- Date parsed from source:Aug 6, 2025
- First seen by Releasebot:Jan 15, 2026
v19.2 (2025-08-06)
EU political advertising changes roll out in v20.1 and v21, adding a contains_eu_political_advertising flag that blocks EU-serving campaigns and enforces self-declaration for campaigns and experiments.
EU political advertising changes
Added Campaign.contains_eu_political_advertising. This field indicates whether your campaign contains political advertising content targeted towards the European Union. If this field is set to CONTAINS_EU_POLITICAL_ADVERTISING, the campaign will no longer serve in the EU starting September 22, 2025.
For any existing campaigns, you 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 calls to create or update these campaign or ad group criteria for existing campaigns will fail with a CriterionError.MISSING_EU_POLITICAL_ADVERTISING_SELF_DECLARATION error if the campaign hasn't completed the self-declaration.
For versions v19.x and 20.x, the requirement to set this field is not yet enforced, but will be in the future. Wait for the announcement of this change.
Trials and Experiments will throw an ExperimentError.MISSING_EU_POLITICAL_ADVERTISING_SELF_DECLARATION if the experiment's campaigns haven't self-declared whether they contain political advertising that targets the European Union.
- Jun 4, 2025
- Date parsed from source:Jun 4, 2025
- First seen by Releasebot:Jan 15, 2026
v20 (2025-06-04)
Google Ads v20 adds new asset metrics and segments, campaign level negative keywords for Performance Max, cross‑account conversion opt‑in behind an allowlist, Demand Gen segmentation, platform‑comparable conversions, richer recommendations, and enhanced audience insights plus a new PAUSE ad format on YouTube TV.
The following new features and updates were added in v20.
See Upgrade to the latest version for guidance.Assets
Added several new metrics and segment columns for the asset_group report.
Metrics columns
- new_customer_lifetime_value
- all_new_customer_lifetime_value
- conversions_by_conversion_date
- all_conversions_by_conversion_date
- conversions_value_by_conversion_date
- all_conversions_value_by_conversion_date
- value_per_conversions_by_conversion_date
- value_per_all_conversions_by_conversion_date
Segment columns
- ad_network_type
- conversion_action
- conversion_action_name
- conversion_action_category
- external_conversion_source
- conversion_attribution_event_type
- conversion_adjustment
- conversion_lag_bucket
- conversion_or_adjustment_lag_bucket
- new_versus_returning_customers
- device
- slot
Campaigns
Added support for adding and updating campaign-level negative keywords for Performance Max campaigns.
Conversions
- You can now update the google_ads_conversion_customer field on an existing customer to opt in to cross-account conversion tracking, or to change its existing conversion tracking parent to a different manager account.
Note: This feature is behind a closed allowlist. To use it, contact your account manager. - Added the ClickConversion.user_ip_address field. Google Ads does not support IP address matching for end users in the European Economic Area (EEA), United Kingdom (UK), or Switzerland (CH). Please add logic to conditionally exclude sharing IP addresses from users from these regions. Make sure that you provide users with clear and comprehensive information about the data you collect on your sites, apps, and other properties and get consent where required by law or any applicable Google policies. See the About offline conversion imports page for more details.
Demand Gen
- Added new values to the ad_network_type segment that allow segmenting Demand Gen campaigns by channel:
- MAPS
- GMAIL
- DISCOVER
- Added metrics for platform-comparable conversions:
- platform_comparable_conversions_from_interactions_rate
- platform_comparable_conversions
- platform_comparable_conversions_value
- platform_comparable_conversions_value_per_cost
- platform_comparable_conversions_by_conversion_date
- platform_comparable_conversions_value_by_conversion_date
- platform_comparable_conversions_from_interactions_value_per_interaction
- cost_per_platform_comparable_conversion
- value_per_platform_comparable_conversion
- value_per_platform_comparable_conversions_by_conversion_date
- cost_converted_currency_per_platform_comparable_conversion
Recommendations
- Added support for ShoppingSetting during campaign construction when using GenerateRecommendationsRequest.
- Added the merchant_center_account_id field to GenerateRecommendationsRequest to indicate when recommendations should be generated for retail, rather than the standard Performance Max campaigns.
Planning
- Added AudienceInsightsDimension.YOUTUBE_LINEUP to replace AudienceInsightsDimension.YOUTUBE_DYNAMIC_LINEUP in AudienceInsightsService and ContentCreatorInsightsService. This new dimension lets you retrieve insights and metadata for YouTube Select (YTS) Lineups. Replaced objects associated with YOUTUBE_DYNAMIC_LINEUP such as DynamicLineupAttributeMetadata and the AudienceInsightsDynamicLineup to align with the broader removal of Dynamic Lineups across Google Ads. This feature is only available to accounts on an allowlist.
- Added AdditionalApplicationInfo and ApplicationInstance in the AudienceInsightsService, ContentCreatorInsightsService, and ReachPlanService. This feature is only available to accounts on an allowlist.
- Updated AudienceInsightsService and ContentCreatorInsightsService to provide more detailed insights. You can now segment content creator data by device using the new AudienceInsightsDimension.DEVICE and AudienceInsightsAttribute.device in both services. This feature is only available to accounts on an allowlist.
- Added additional aggregated video metrics to GenerateCreatorInsightsResponse for more comprehensive content creator analysis: engagement_rate, average_views_per_video, average_likes_per_video, average_shares_per_video, average_comments_per_video, shorts_views_count, shorts_video_count, and is_brand_connect_creator. This feature is only available to accounts on an allowlist.
- Added sub_country_locations to GenerateCreatorInsightsRequest for the ContentCreatorInsightsService. This allows specifying sub-country geographic locations to refine searches for creator insights. The sub_country_locations field is only supported when using the search_attributes oneof in the criteria field. If sub_country_locations are provided with other criteria types, the request will be invalid. This enables more granular geographical targeting and analysis for content creator insights. This feature is only available to accounts on an allowlist.
- Added ReachPlanService.ListPlannableUserLists, which returns first-party user lists owned by a customer, and added UserListInfo to the audience targeting options in GenerateReachForecastRequest. This lets you retrieve plannable user lists for a given customer and then generate reach forecasts for campaigns targeting those specific audiences. These enhancements improve tailored reach planning by incorporating your first-party audience data directly into forecasting. Reach forecasting is available to allowlisted accounts only.
Videos
- Added AdFormatType.PAUSE ads served on organic YouTube videos on TV screens, which is included in reporting. These ads are displayed directly next to the static video frame on the pause screen. This does not include Demand Gen video ads displayed on the ad panel below or on top of a paused organic video, which are reported under AdFormatType.INFEED.
- Apr 16, 2025
- Date parsed from source:Apr 16, 2025
- First seen by Releasebot:Jan 15, 2026
v19.1 (2025-04-16)
Google Ads v19.1 brings broad updates across assets, campaigns, planning and more. New lead feedback tools for Local Services, expanded Demand Gen controls, new asset types and reporting enhancements. This release adds forecasts, conversions options, and YouTube audio ads support.
Assets
- Added an asset_coverage field for AssetGroup that returns information about gaps in your asset group.
- Contains a subfield ad_strength_action_items which returns a list of actions that an advertiser can take to improve the ad strength of an asset group.
Campaigns
- You can now rate or provide feedback for leads in Local Service Campaigns. As part of this change, v19.1
- Added a new service named LocalServicesLeadService. You can use the ProvideLeadFeedback method to upload rating and feedback for leads.
- Added a new field named lead_feedback_submitted to LocalServicesLead to help determine if feedback was submitted to a lead.
- Added a new metric column biddable_cohort_app_post_install_conversions for App campaigns.
Demand Gen
- Additional methods were introduced in the Planning services to support Demand Gen.
- Added support for AdGroup-level Channel Controls for Demand Gen campaigns. You can select a predefined general grouping of channels, or a subset of channels using the demand_gen_ad_group_settings field. The following channels are supported in the current release:
- YouTube In-Stream
- YouTube In-Feed
- YouTube Shorts
- Discover
- Gmail
- Display
- Exposed a new asset type for TALL_PORTRAIT_MARKETING_IMAGE. This asset type relates to the tall_portrait_marketing_images field of the Demand Gen Multi Asset Ad format.
Change History
- Added support for three more resource types into ChangeStatusResourceType:
- CAMPAIGN_BUDGET
- ASSET_SET
- CAMPAIGN_ASSET_SET
- You can retrieve these three finer-grained types from the change_status report.
Conversions
- You can now set the google_ads_conversion_customer field while creating a new customer using the Google Ads API. This was previously a read-only field.
Note: This feature is behind a closed allowlist. To use it, contact your account manager. - You can now specify the type of the customer associated with the conversion when uploading offline conversions.
- A new session_attributes field was introduced for ClickConversion.
Local Services Ads
- Added a new RPC ProvideLeadFeedback to LocalServicesLeadService to provide feedback on the quality of LocalServicesLead.
- Added a new field lead_feedback_submitted to the LocalServicesLead resource that confirms if feedback was provided for a specific resource.
Planning services
- Added support for Target frequency monthly forecasts in ReachPlanService.GenerateReachForecast.
- Developers can set TargetFrequencyTimeUnit.MONTHLY in TargetFrequencySettings when using the TARGET_FREQUENCY plannable product code to generate a Target frequency monthly reach forecast.
- Added a new method ReachPlanService.GenerateConversionRates, which allows advertisers to request suggested conversion rates for supported plannable products.
- Demand Gen forecasting in ReachPlanService.GenerateReachForecast:
- Developers can now request reach forecasts for Demand Gen campaigns. Developers can use the new DEMAND_GEN_MAX_CONVERSIONS plannable product code to generate Demand Gen reach forecasts.
- Added a new conversion_rate field that allows developers requesting Demand Gen reach forecasts to provide a conversion rate. Suggested conversion rates can be retrieved using the new ReachPlanService.GenerateConversionRates method. This field is required for Demand Gen forecasting requests. It is not supported for other plannable products.
- Added a new conversions field to returned forecasts. This field contains the number of conversions at a given point on the reach curve. Conversions are only supported for the DEMAND_GEN_MAX_CONVERSIONS plannable product.
Recommendations
- The new ad_strength field is available for ImprovePerformanceMaxAdStrengthRecommendation, which returns the current ad strength score of the asset group associated with the recommendation.
Shopping
- You can now override brand exclusions for Shopping ads in Performance Max campaigns. This is exposed through a new pmax_campaign_settings field at the campaign level, and it works only for PMax campaigns for Retail. A new CampaignError.BRAND_TARGETING_OVERRIDES_NOT_SUPPORTED error will be thrown if you attempt to set this field for an incompatible campaign type.
Videos
- Added read-only support for Audio Ads. See Google Ads Help Center to learn about this feature. This change exposes:
- A new AdvertisingChannelSubType named YOUTUBE_AUDIO.
- A new AdGroupType named YOUTUBE_AUDIO.
- A new ad format enumeration named YOUTUBE_AUDIO_AD, and its corresponding YouTubeAudioAdInfo fields.
- Added new metrics and segments to query reach metrics with demo adjustment. As part of these changes,
- Two new metrics columns named coviewed_impressions and primary_impressions were introduced.
- Two new segments named adjusted_age_range and adjusted_gender were introduced.
- If either of the two new segments are selected alongside a reach metric field (coviewed_impressions, primary_impressions, unique_users, or average_impression_frequency_per_user), the other segment must be selected as well to retrieve valid stats for these columns.
- This feature is currently available only for allowlisted customers.
- Feb 26, 2025
- Date parsed from source:Feb 26, 2025
- First seen by Releasebot:Jan 15, 2026
v19 (2025-02-26)
v19 unlocks broad platform enhancements across ads assets, conversions, feeds and brand guidelines. Expect new business message assets, auto landing page previews, mutable lifetime value, enhanced YouTube insights, and data link management alongside removed feed entities.
Account Management
- Added the following values to CustomerError to account for upcoming changes:
- CREATION_DENIED_FOR_POLICY_VIOLATION
- CREATION_DENIED_INELIGIBLE_MCC
Ads
- Added DemandGenMultiAssetAdInfo.tall_portrait_marketing_images to support portrait image assets with aspect ratio 9:16 in Demand Gen ads.
Assets
- (For allowlisted accounts only) Added support for message assets through Asset.business_message_asset, BusinessMessageAsset, and the following enums and errors.
- Enums:
- AssetFieldType.BUSINESS_MESSAGE
- AssetType.BUSINESS_MESSAGE
- BusinessMessageCallToActionType
- BusinessMessageProvider
- Errors:
- AssetError.CUSTOMER_NOT_ON_ALLOWLIST_FOR_WHATSAPP_MESSAGE_ASSETS
- ResourceLimitType
- BUSINESS_MESSAGE_ASSET_LINKS_PER_CUSTOMER
- WHATSAPP_BUSINESS_MESSAGE_ASSET_LINKS_PER_CAMPAIGN
- WHATSAPP_BUSINESS_MESSAGE_ASSET_LINKS_PER_AD_GROUP
- Enums:
- Added AssetAutomationType.GENERATE_LANDING_PAGE_PREVIEW to support automatically generating a landing page preview.
- Added AssetAutomationType.GENERATE_SHORTER_YOUTUBE_VIDEOS is now opted-in by default for Demand Gen video responsive ads.
- (For allowlisted accounts only; allowlist is currently closed) Added Asset.app_deep_link_asset and AppDeepLinkAsset.
Conversions
Conversion goals
- LifecycleGoalValueSettings.high_lifetime_value is out of beta and now mutable.
- Added CustomerLifecycleGoal.owner_customer to show the resource name of the customer which owns the customer lifecycle goal.
- Deprecated ConversionActionType.SALESFORCE.
Feeds
- Removed all feed-related entities, such as Feed, FeedMapping, FeedService, AdGroupFeed, feed_placeholder_view, etc. Users should now use assets to achieve the same purpose.
Hotel & Travel
- Made min_days and max_days of ValueRuleItineraryAdvanceBookingWindow an optional field to allow specifying 0 as a value. This supports targeting for travel searches that happen today.
Performance Max
- (For allowlisted accounts only) Brand guidelines
- Made Campaign.brand_guidelines_enabled mutable only when creating a Performance Max campaign.
- This is incompatible with Performance Max for travel goals.
- To enable brand guidelines for existing Performance Max campaigns, use a newly added CampaignService.EnablePMaxBrandGuidelines. Disabling brand guidelines is not supported.
- Added Campaign.brand_guidelines and BrandGuidelines to allow setting the brand's colors and font family.
- New error values:
- BatchJobError.CAMPAIGN_AND_CAMPAIGN_ASSET_TRANSACTION_FAILURE
- BrandGuidelinesMigrationError
- BRAND_GUIDELINES_ALREADY_ENABLED
- CANNOT_ENABLE_BRAND_GUIDELINES_FOR_REMOVED_CAMPAIGN
- BRAND_GUIDELINES_LOGO_LIMIT_EXCEEDED
- CANNOT_AUTO_POPULATE_BRAND_ASSETS_WHEN_BRAND_ASSETS_PROVIDED
- AUTO_POPULATE_BRAND_ASSETS_REQUIRED_WHEN_BRAND_ASSETS_OMITTED
- TOO_MANY_ENABLE_OPERATIONS
- CampaignError
- BRAND_GUIDELINES_NOT_ENABLED_FOR_CAMPAIGN
- BRAND_GUIDELINES_MAIN_AND_ACCENT_COLORS_REQUIRED
- BRAND_GUIDELINES_COLOR_INVALID_FORMAT
- BRAND_GUIDELINES_UNSUPPORTED_FONT_FAMILY
- BRAND_GUIDELINES_UNSUPPORTED_CHANNEL
- CANNOT_ENABLE_BRAND_GUIDELINES_FOR_TRAVEL_GOALS
- CUSTOMER_NOT_ALLOWLISTED_FOR_BRAND_GUIDELINES
- Added AssetAutomationType.GENERATE_ENHANCED_YOUTUBE_VIDEOS to support automatically generating enhanced video assets for Performance Max campaigns.
Planning
- (For allowlisted accounts only) Added ContentCreatorInsightsService.GenerateTrendingInsights which allows users to see trending content topics on YouTube for given audience definitions.
- Added GenerateCreatorInsightsRequest.country_locations[] to specify countries to search for the given criteria.
- Added GenerateCreatorInsightsRequest.search_brand to specify a brand to search for creators.
- Added new fields to YouTubeChannelInsights to provide additional channel information for search_channels requests:
- channel_url
- channel_description
- top_videos
- Added new metadata fields to AudienceInsightsAttributeMetadata:
- youtube_video_metadata
- user_interest_attribute_metadata
- knowledge_graph_attribute_metadata
Videos
- Following the release of DataLinkService.CreateDataLink, we added the following methods to allow for mutating previously created data links:
- RemoveDataLink for removing data links in a Google Ads account
- UpdateDataLink for accepting, rejecting and revoking data links in a Google Ads account
- Removed support for VIDEO_OUTSTREAM from the following enums:
- AdType
- AdvertisingChannelSubType
- AdGroupType
Archived release notes
- See Sunsetted versions for archived release notes.
This is the end. You've seen all the release notes in this feed!