Refer to [Feature deprecations](https://developers.google.com/google-ads/api/docs/deprecations#feature-deprecations) for
an up to date list of current and planned feature deprecations.

<br />

## v24 major and minor versions

Google Ads API v24 includes the following new features, updates, and breaking changes.

### v24.2 (2026-06-24)

The following new features and updates were added in Google Ads API v24.2. Minor
versions like v24.2 don't contain breaking changes.

| Features and updates | Type | Description |
|---|---|---|
| Ads |||
| [`AssetAutomationType.GENERATE_LANDING_PAGE_TEXT`](https://developers.google.com/google-ads/api/reference/rpc/v24/AssetAutomationTypeEnum.AssetAutomationType#generate_landing_page_text) | New enum value | Generates text information from the landing page to be shown in the engagement panel for [`DemandGenVideoResponsiveAd`](https://developers.google.com/google-ads/api/reference/rpc/v24/DemandGenVideoResponsiveAd) instances (which are opted in by default starting with this API version). |
| Assets |||
| [`AssetGroup.google_local_services_info`](https://developers.google.com/google-ads/api/reference/rpc/v24/AssetGroup#google_local_services_info) | New field | Added to support Local Services Ads information (category ID and callouts) in Performance Max campaigns. |
| [`AssetGroupSignal.local_services_id`](https://developers.google.com/google-ads/api/reference/rpc/v24/AssetGroupSignal#local_services_id) | New field | Added to support Local Services Ads service ID signals in Performance Max campaigns. |
| [`AssetGroupSignal.vertical_ads_item_group_rule_list`](https://developers.google.com/google-ads/api/reference/rpc/v24/AssetGroupSignal#vertical_ads_item_group_rule_list) | New field | Added to support vertical ads item group rules for selecting items from attached vertical feeds in Performance Max campaigns. This feature is only available to accounts on the allowlist. |
| [`AssetGroupErrorEnum.CANNOT_REMOVE_ALL_ASSET_GROUPS_FROM_CAMPAIGN`](https://developers.google.com/google-ads/api/reference/rpc/v24/AssetGroupErrorEnum.AssetGroupError#cannot_remove_all_asset_groups_from_campaign) | New enum value / error | Returned when attempting to remove all asset groups from a campaign. |
| [`AssetGroupSignalErrorEnum.CANNOT_REMOVE_ALL_SIGNALS`](https://developers.google.com/google-ads/api/reference/rpc/v24/AssetGroupSignalErrorEnum.AssetGroupSignalError#cannot_remove_all_signals) | New enum value / error | Returned when attempting to remove all signals from an asset group. |
| Campaigns |||
| [`Campaign.PmaxCampaignSettings.local_services_pmax_campaign_settings`](https://developers.google.com/google-ads/api/reference/rpc/v24/Campaign.PmaxCampaignSettings#local_services_pmax_campaign_settings) [`Campaign.PmaxCampaignSettings.local_services_enabled`](https://developers.google.com/google-ads/api/reference/rpc/v24/Campaign.PmaxCampaignSettings#local_services_enabled) | New fields | Support identifying Local Services Performance Max campaigns. |
| [`AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels.maps`](https://developers.google.com/google-ads/api/reference/rpc/v24/AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels#maps) | New field | Includes Google Maps in the selectable channels for Demand Gen ad groups. |
| [`CampaignCriterionErrorEnum.CANNOT_REMOVE_ALL_LOCATIONS_FROM_LOCAL_SERVICES_PMAX_CAMPAIGN`](https://developers.google.com/google-ads/api/reference/rpc/v24/CampaignCriterionErrorEnum.CampaignCriterionError#cannot_remove_all_locations_from_local_services_pmax_campaign) | New enum value / error | Returned when attempting to remove all locations from a local services Performance Max campaign. |
| [`SmartCampaignErrorEnum.CREATION_FAILED`](https://developers.google.com/google-ads/api/reference/rpc/v24/SmartCampaignErrorEnum.SmartCampaignError#creation_failed) | New enum value / error | Returned when attempting to create new Smart Campaigns. |
| Conversions |||
| [`ConversionOrigin.LOCAL_SERVICES_ADS`](https://developers.google.com/google-ads/api/reference/rpc/v24/ConversionOriginEnum.ConversionOrigin#local_services_ads) [`ConversionActionType.LOCAL_SERVICES_ADS`](https://developers.google.com/google-ads/api/reference/rpc/v24/ConversionActionTypeEnum.ConversionActionType#local_services_ads) | New enum values | Represent conversions that occur when a user clicks on a local services ad and calls, messages, or books the advertiser. |
| Experiments |||
| [`COMPARE_CAMPAIGNS`](https://developers.google.com/google-ads/api/reference/rpc/v24/ExperimentTypeEnum.ExperimentType#compare_campaigns) [`PMAX_TEXT_CUSTOMIZATION_FINAL_URL_EXPANSION`](https://developers.google.com/google-ads/api/reference/rpc/v24/ExperimentTypeEnum.ExperimentType#pmax_text_customization_final_url_expansion) | New enum values | Added support for new [`ExperimentType`](https://developers.google.com/google-ads/api/reference/rpc/v24/ExperimentTypeEnum.ExperimentType) types: - `COMPARE_CAMPAIGNS`: For campaign mix experiments and custom Performance Max experiments that compare multiple campaigns of the same or different types in a single experiment. - `PMAX_TEXT_CUSTOMIZATION_FINAL_URL_EXPANSION`: For Performance Max optimization experiments for text customization and Final URL expansion. |
| General |||
| [`Asset.synthetic_content_info`](https://developers.google.com/google-ads/api/reference/rpc/v24/Asset#synthetic_content_info) [`Ad.synthetic_content_info`](https://developers.google.com/google-ads/api/reference/rpc/v24/Ad#synthetic_content_info) | New fields | Contain attestations for synthetic/AI-generated content, split into [`advertiser_input`](https://developers.google.com/google-ads/api/reference/rpc/v24/SyntheticContentInfo#advertiser_input) (declarations provided directly by the advertiser) and [`system_input`](https://developers.google.com/google-ads/api/reference/rpc/v24/SyntheticContentInfo#system_input) (attestations automatically detected or provided by the system). This feature has been backported to v23 and v22. To help you plan your upcoming integration work for v25, the interface for mutating advertiser attestation fields is being introduced early for v22 and higher. The interface is visible in these versions, but `synthetic_content_info.advertiser_attestation.status` and `synthetic_content_info.advertiser_attestation.source` will remain immutable for these versions. If you attempt a mutate request on either of these fields, one of these errors will be returned: "The field attempted to be mutated is immutable" or "Field cannot be set". These fields will become fully mutable starting in v25. We recommend using the interface now to build and test your internal logic so your system is ready for full write capabilities when v25 is launched. |
| Multi-Party Authorization | New features | > [!WARNING] > **Beta:** This feature is currently in beta and is subject to change in future releases. Added support for Multi-Party Authorization (MPA) reviews: - Added the [`MultiPartyAuthReview`](https://developers.google.com/google-ads/api/reference/rpc/v24/MultiPartyAuthReview) resource and corresponding [`MultiPartyAuthReviewService`](https://developers.google.com/google-ads/api/reference/rpc/v24/MultiPartyAuthReviewService). - Added the [`MultiPartyAuthReviewStatus`](https://developers.google.com/google-ads/api/reference/rpc/v24/MultiPartyAuthReviewStatusEnum.MultiPartyAuthReviewStatus) enum to track the review status. - Added [`CustomerUserAccess.pending_multi_party_auth_review`](https://developers.google.com/google-ads/api/reference/rpc/v24/CustomerUserAccess#pending_multi_party_auth_review) to link to a pending review. - Added [`MutateCustomerUserAccessResult.multi_party_auth_review`](https://developers.google.com/google-ads/api/reference/rpc/v24/MutateCustomerUserAccessResult#multi_party_auth_review) and [`MutateCustomerUserAccessInvitationResult.multi_party_auth_review`](https://developers.google.com/google-ads/api/reference/rpc/v24/MutateCustomerUserAccessInvitationResult#multi_party_auth_review) to return the associated review resource name. - Added [`MultiPartyAuthReviewError`](https://developers.google.com/google-ads/api/reference/rpc/v24/MultiPartyAuthReviewErrorEnum.MultiPartyAuthReviewError) for validation errors. <br /> This feature has been backported to [v23.3](https://developers.google.com/google-ads/api/docs/release-notes#v23-3-2026-06-24), [v22.2](https://developers.google.com/google-ads/api/docs/release-notes#v22-2-2026-06-24), and [v21.2](https://developers.google.com/google-ads/api/docs/release-notes#v21-2-2026-06-24). |
| [`IncentiveService.FetchIncentive`](https://developers.google.com/google-ads/api/reference/rpc/v24/IncentiveService#FetchIncentive) | Behavioral change | When an invalid email address is provided in the request, the method now gracefully falls back to returning the default incentive offers instead of throwing an `AuthenticationError.INVALID_EMAIL_ADDRESS` error. |
| Planning |||
| [`GenerateCreatorInsightsRequest.search_topics`](https://developers.google.com/google-ads/api/reference/rpc/v24/GenerateCreatorInsightsRequest#search_topics) | New field | Added to the [`ContentCreatorInsightsService.GenerateCreatorInsights`](https://developers.google.com/google-ads/api/reference/rpc/v24/ContentCreatorInsightsService#GenerateCreatorInsights) service. This option searches for creators talking about a topic in the country specified in [`country_locations`](https://developers.google.com/google-ads/api/reference/rpc/v24/GenerateCreatorInsightsRequest#country_locations) (supports searching for one country only). |
| [`CREATOR_TOPIC_INSIGHTS`](https://developers.google.com/google-ads/api/reference/rpc/v24/InsightsKnowledgeGraphEntityCapabilitiesEnum.InsightsKnowledgeGraphEntityCapabilities#creator_topic_insights) | New enum value | Added to [`InsightsKnowledgeGraphEntityCapabilities`](https://developers.google.com/google-ads/api/reference/rpc/v24/InsightsKnowledgeGraphEntityCapabilitiesEnum.InsightsKnowledgeGraphEntityCapabilities) to signify entities for searching creators talking about a topic. These entities should be used in the [`search_topics`](https://developers.google.com/google-ads/api/reference/rpc/v24/GenerateCreatorInsightsRequest#search_topics) field. Retrieved using [`AudienceInsightsService.ListAudienceInsightsAttributes`](https://developers.google.com/google-ads/api/reference/rpc/v24/AudienceInsightsService#ListAudienceInsightsAttributes). |
| [`KnowledgeGraphEntitySearchOptions`](https://developers.google.com/google-ads/api/reference/rpc/v24/KnowledgeGraphEntitySearchOptions) | New type / options | Contains additional search options for topics in [`ListAudienceInsightsAttributes`](https://developers.google.com/google-ads/api/reference/rpc/v24/AudienceInsightsService#ListAudienceInsightsAttributes), including options to retrieve all topics supported as creator attributes, and filtering by capabilities. |
| [`GenerateCreatorInsightsRequest.supplemental_data`](https://developers.google.com/google-ads/api/reference/rpc/v24/GenerateCreatorInsightsRequest#supplemental_data) [`GenerateTrendingInsightsRequest.supplemental_data`](https://developers.google.com/google-ads/api/reference/rpc/v24/GenerateTrendingInsightsRequest#supplemental_data) | New fields | Optional inputs to the `ContentCreatorInsightsService` methods. Supplying this field populates additional locations or creator attributes in the response. |
| [`local_creator_insights`](https://developers.google.com/google-ads/api/reference/rpc/v24/GenerateCreatorInsightsResponse#local_creator_insights) [`related_local_creators`](https://developers.google.com/google-ads/api/reference/rpc/v24/TrendInsight#related_local_creators) | New fields | Populated when [`supplemental_data`](https://developers.google.com/google-ads/api/reference/rpc/v24/GenerateCreatorInsightsRequest#supplemental_data) contains the [`LOCAL_CREATOR_DATA`](https://developers.google.com/google-ads/api/reference/rpc/v24/ContentCreatorInsightsSupplementalDataEnum.ContentCreatorInsightsSupplementalData#LOCAL_CREATOR_DATA) enum. Exposes local creators viewed in or based in the chosen country who consented to share location data. |
| [`GenerateTrendingInsightsRequest.sub_country_locations`](https://developers.google.com/google-ads/api/reference/rpc/v24/GenerateTrendingInsightsRequest#sub_country_locations) | New field | Added to [`ContentCreatorInsightsService.GenerateTrendingInsights`](https://developers.google.com/google-ads/api/reference/rpc/v24/ContentCreatorInsightsService#GenerateTrendingInsights), allowing searches for trending insights using country location and sub country locations. |
| Reports |||
| [`PerformanceMaxPlacementView`](https://developers.google.com/google-ads/api/reference/rpc/v24/PerformanceMaxPlacementView) | Segments extension | Made segmentable by [`ad_network_type`](https://developers.google.com/google-ads/api/fields/v24/segments#segments.ad_network_type). |
| Shopping |||
| [`Campaign.ShoppingSetting.ignore_brand_exclusion_in_shopping_ads`](https://developers.google.com/google-ads/api/reference/rpc/v24/Campaign.ShoppingSetting#ignore_brand_exclusion_in_shopping_ads) | New field | If true, brand exclusions are ignored for Shopping ads. Only supported for Shopping campaigns. |
| Targeting |||
| [`CriterionErrorEnum.CANNOT_TARGET_LANGUAGE`](https://developers.google.com/google-ads/api/reference/rpc/v24/CriterionErrorEnum.CriterionError#cannot_target_language) | New enum value / error | Returned when attempting to target a language that is not allowed. |
| Videos |||
| [`DataLink.youtube_link_metadata`](https://developers.google.com/google-ads/api/reference/rpc/v24/DataLink#youtube_link_metadata) | New field | Contains [`brand_channel_id`](https://developers.google.com/google-ads/api/reference/rpc/v24/YoutubeLinkMetadata#brand_channel_id) to specify the ID of the linked YouTube brand channel. |

### v24.1 (2026-05-13)

The following new features and updates were added in Google Ads API v24.1. Minor
versions like v24.1 don't contain breaking changes.

| Features and updates | Type | Description |
|---|---|---|
| Ads |||
| [`DemandGenMultiAssetAdInfo.classic_display_images`](https://developers.google.com/google-ads/api/reference/rpc/v24/DemandGenMultiAssetAdInfo#classic_display_images) | New field | Custom uploaded display images served without requiring extra responsive assets. |
| Experiments |||
| [`ADOPT_AI_MAX`](https://developers.google.com/google-ads/api/reference/rpc/v24/ExperimentTypeEnum.ExperimentType#adopt_ai_max) [`ADOPT_BROAD_MATCH_KEYWORDS`](https://developers.google.com/google-ads/api/reference/rpc/v24/ExperimentTypeEnum.ExperimentType#adopt_broad_match_keywords) [`OPTIMIZE_ASSETS`](https://developers.google.com/google-ads/api/reference/rpc/v24/ExperimentTypeEnum.ExperimentType#optimize_assets) [`PMAX_REPLACEMENT_SHOPPING`](https://developers.google.com/google-ads/api/reference/rpc/v24/ExperimentTypeEnum.ExperimentType#pmax_replacement_shopping) | New enum values | Added support for new [`ExperimentType`](https://developers.google.com/google-ads/api/reference/rpc/v24/ExperimentTypeEnum.ExperimentType) types: - `ADOPT_AI_MAX`: For experiments that test how AI Max can help you engage more customers with Google AI and broad match keywords. - `ADOPT_BROAD_MATCH_KEYWORDS`: For experiments that test how broad match keywords can impact the number of searches your ads appear in. - `OPTIMIZE_ASSETS`: For custom experiments for optimizing assets. - `PMAX_REPLACEMENT_SHOPPING`: For experiments that test how your Shopping campaigns perform compared to Performance Max. |
| [`Experiment.video_experiment`](https://developers.google.com/google-ads/api/reference/rpc/v24/Experiment#video_experiment) | New field | Configuration support for existing [`YOUTUBE_CUSTOM`](https://developers.google.com/google-ads/api/reference/rpc/v24/ExperimentTypeEnum.ExperimentType#youtube_custom) experiments consisting of Video campaigns. |
| [`ExperimentArm.asset_testing_info`](https://developers.google.com/google-ads/api/reference/rpc/v24/ExperimentArm#asset_testing_info) [`ExperimentArm.asset_groups`](https://developers.google.com/google-ads/api/reference/rpc/v24/ExperimentArm#asset_groups) [`ExperimentArm.performance_max_experiment_arm_info`](https://developers.google.com/google-ads/api/reference/rpc/v24/ExperimentArm#performance_max_experiment_arm_info) | New fields | Exposes fields to support asset testing, asset groups, and Performance Max settings in experiment arms: - `asset_testing_info`: Details of assets associated with the experimental copies of ads. - `asset_groups`: List of asset groups in the experiment arm for Optimize Assets experiments. - `performance_max_experiment_arm_info`: Settings for Performance Max campaigns in `PMAX_REPLACEMENT_SHOPPING` experiments. |
| General |||
| [`CustomerUserAccess.passkey_enabled`](https://developers.google.com/google-ads/api/reference/rpc/v24/CustomerUserAccess#passkey_enabled) | New field | Read-only field indicating whether the user has a passkey enabled. |
| Reports |||
| [`mobile_device_platform`](https://developers.google.com/google-ads/api/fields/v24/segments#segments.mobile_device_platform) | New segment | Allows segmenting reports by the user device's platform (such as iOS or Android). |
| [`REQUESTED_DATE_GRANULARITY_NOT_SUPPORTED`](https://developers.google.com/google-ads/api/reference/rpc/v24/DateRangeErrorEnum.DateRangeError#requested_date_granularity_not_supported) | New enum value / error | Returned when the requested daily, hourly, or weekly time granularity is not supported for query date ranges (only available for the last 37 months). |
| [`vertical_ads_listing_user_rating`](https://developers.google.com/google-ads/api/fields/v24/segments#segments.vertical_ads_listing_user_rating) [`vertical_ads_listing_venue`](https://developers.google.com/google-ads/api/fields/v24/segments#segments.vertical_ads_listing_venue) | New segments | New segments to be used for vertical ads. |
| `user_rating`, `venue`, `event_participant_display_name` | New filter criteria | Supported filtering in [`VerticalAdsItemGroupRuleInfo`](https://developers.google.com/google-ads/api/reference/rpc/v24/VerticalAdsItemGroupRuleInfo) for the [`SharedCriterion`](https://developers.google.com/google-ads/api/reference/rpc/v24/SharedCriterion) resource. |
| Control/treatment experiment metrics | New fields | Added control values (`control_clicks`, etc.), treatment values (`clicks`, etc.), point estimates (`clicks_point_estimate`, etc.), margins of error (`clicks_margin_of_error`, etc.), and p-values (`clicks_p_value`, etc.) across seven core metric families (Clicks, Impressions, Cost, Conversions, Cost per conversion, Conversion value, Conversion value per cost). |
| Conversions absolute change metrics | New fields | Support for [`Conversions` absolute difference estimations](https://developers.google.com/google-ads/api/reference/rpc/v24/Metrics) using point estimate, margin of error, and p-value fields. |
| Targeting |||
| [`CriterionErrorEnum.CANNOT_EXCLUDE_ALL_TARGETS`](https://developers.google.com/google-ads/api/reference/rpc/v24/CriterionErrorEnum.CriterionError#cannot_exclude_all_targets) | New enum value / error | Returned when attempting to exclude all demographics targets. |
| Videos |||
| [`ThirdPartyViewabilityIntegrationPartnerEnum.ZEFR`](https://developers.google.com/google-ads/api/reference/rpc/v24/ThirdPartyViewabilityIntegrationPartnerEnum.ThirdPartyViewabilityIntegrationPartner#zefr) | New enum value | Published ZEFR as a third party viewability integration partner. |
| [`DataLink.youtube_video.channel_id`](https://developers.google.com/google-ads/api/reference/rpc/v24/DataLink#youtube_video) | New field | Exposes the YouTube channel ID associated with the data link. |

### v24 (2026-04-22)

The following new features, updates, and breaking changes were added in Google Ads API
v24, which is a major release.

See [Upgrade to the latest version](https://developers.google.com/google-ads/api/docs/upgrade) for guidance.

#### Breaking changes

| Initial state | New state | Change type | Implementation guidance |
|---|---|---|---|
| Ads ||||
| Optional [`videos`](https://developers.google.com/google-ads/api/reference/rpc/v24/DemandGenVideoResponsiveAdInfo#videos) and [`logo_images`](https://developers.google.com/google-ads/api/reference/rpc/v24/DemandGenVideoResponsiveAdInfo#logo_images) in [`DemandGenVideoResponsiveAdInfo`](https://developers.google.com/google-ads/api/reference/rpc/v24/DemandGenVideoResponsiveAdInfo) | Required fields | Behavioral shift | Provide `videos` and `logo_images` when creating or mutating responsive Demand Gen video ads. |
| Optional [`videos`](https://developers.google.com/google-ads/api/reference/rpc/v24/VideoResponsiveAdInfo#videos), [`business_name`](https://developers.google.com/google-ads/api/reference/rpc/v24/VideoResponsiveAdInfo#business_name), and [`logo_images`](https://developers.google.com/google-ads/api/reference/rpc/v24/VideoResponsiveAdInfo#logo_images) in [`VideoResponsiveAdInfo`](https://developers.google.com/google-ads/api/reference/rpc/v24/VideoResponsiveAdInfo) | Required fields | Behavioral shift | Provide `videos`, `business_name`, and `logo_images` when creating or mutating video responsive ads. Note that [`VideoResponsiveAdInfo`](https://developers.google.com/google-ads/api/reference/rpc/v24/VideoResponsiveAdInfo) is now mutable. |
| Campaigns ||||
| [`Campaign.video_brand_safety_suitability`](https://developers.google.com/google-ads/api/reference/rpc/v23/Campaign#video_brand_safety_suitability) | None | Removal | Campaign-level suitability control is removed. Brand safety suitability is still available on the customer level. Use [`Customer.video_brand_safety_suitability`](https://developers.google.com/google-ads/api/reference/rpc/v24/Customer#video_brand_safety_suitability) instead. |
| Conversions ||||
| [`UserListCustomerTypeCategoryEnum.LOYALTY_SIGN_UPS`](https://developers.google.com/google-ads/api/reference/rpc/v24/UserListCustomerTypeCategoryEnum.UserListCustomerTypeCategory#loyalty_sign_ups) | None | Removal | The loyalty sign ups user category has been removed. Remove code references to it. |
| Planning ||||
| [`InsightsAudienceAttributeGroup`](https://developers.google.com/google-ads/api/reference/rpc/v24/InsightsAudienceAttributeGroup) type for [`topic_audience_combinations`](https://developers.google.com/google-ads/api/reference/rpc/v24/InsightsAudience#topic_audience_combinations) | `common.https://developers.google.com/google-ads/api/reference/rpc/v24/InsightsAudienceAttributeGroup` type | Behavioral shift / type change | Typed client libraries integrations must be updated to use the new resource namespaces. |
| `youtube_select_lineups` field in [`ReachPlanService.ListPlannableProducts`](https://developers.google.com/google-ads/api/reference/rpc/v23/ReachPlanService#ListPlannableProducts) | None | Removal | Switch to using lineups from [`youtube_select_lineup_targeting`](https://developers.google.com/google-ads/api/reference/rpc/v24/PlannableTargeting#youtube_select_lineup_targeting). |
| `is_brand_connect_creator` field in [`ContentCreatorInsightsService.GenerateCreatorInsights`](https://developers.google.com/google-ads/api/reference/rpc/v23/ContentCreatorInsightsService#GenerateCreatorInsights) and [`GenerateTrendingInsights`](https://developers.google.com/google-ads/api/reference/rpc/v23/ContentCreatorInsightsService#GenerateTrendingInsights) | None | Removal | Instead, check if a creator has [`CREATOR_PARTNERSHIPS`](https://developers.google.com/google-ads/api/reference/rpc/v24/PartnershipOpportunityEnum.PartnershipOpportunity#creator_partnerships) available in [`partnership_opportunities`](https://developers.google.com/google-ads/api/reference/rpc/v24/YouTubeMetrics#partnership_opportunities). |
| `geo_modifiers` and `biddable_keywords` in [`KeywordPlanIdeaService.GenerateKeywordForecastMetrics`](https://developers.google.com/google-ads/api/reference/rpc/v23/KeywordPlanIdeaService#generateKeywordForecastMetrics) | `geo_target_constants` and `keywords` | Rename / removal | Replaced by [`CampaignToForecast.geo_target_constants[]`](https://developers.google.com/google-ads/api/reference/rpc/v24/CampaignToForecast#geo_target_constants) and [`ForecastAdGroup.keywords[]`](https://developers.google.com/google-ads/api/reference/rpc/v24/ForecastAdGroup#keywords). |
| Deprecated keywords plan / forecast fields in [`GenerateKeywordForecastMetrics`](https://developers.google.com/google-ads/api/reference/rpc/v23/KeywordPlanIdeaService#generateKeywordForecastMetrics) | None | Removal | Removed the following plan / forecast fields and types: - [`CampaignToForecast.keyword_plan_network`](https://developers.google.com/google-ads/api/reference/rpc/v23/CampaignToForecast#keyword_plan_network) - [`CampaignToForecast.negative_keywords`](https://developers.google.com/google-ads/api/reference/rpc/v23/CampaignToForecast#negative_keywords) and [`ForecastAdGroup.negative_keywords`](https://developers.google.com/google-ads/api/reference/rpc/v23/ForecastAdGroup#negative_keywords) - [`ForecastAdGroup.max_cpc_bid_micros`](https://developers.google.com/google-ads/api/reference/rpc/v23/ForecastAdGroup#max_cpc_bid_micros) - [`BiddableKeyword`](https://developers.google.com/google-ads/api/reference/rpc/v23/BiddableKeyword) - [`CriterionBidModifier`](https://developers.google.com/google-ads/api/reference/rpc/v23/CriterionBidModifier) - [`KeywordForecastMetrics.impressions`](https://developers.google.com/google-ads/api/reference/rpc/v23/KeywordForecastMetrics#impressions) - [`KeywordForecastMetrics.click_through_rate`](https://developers.google.com/google-ads/api/reference/rpc/v23/KeywordForecastMetrics#click_through_rate) Update integrations accordingly. |
| Reports ||||
| [`ad_sub_network_type`](https://developers.google.com/google-ads/api/reference/rpc/v23/Segments#ad_sub_network_type) segment in [`campaign_budget`](https://developers.google.com/google-ads/api/reference/rpc/v23/CampaignBudget) | None | Removal | Removed `ad_sub_network_type` segment for the [`campaign_budget`](https://developers.google.com/google-ads/api/reference/rpc/v24/CampaignBudget) resource. |
| [`click_type`](https://developers.google.com/google-ads/api/reference/rpc/v23/Segments#click_type) segment in asset views | None | Removal | Removed segment from [`AdGroupAsset`](https://developers.google.com/google-ads/api/reference/rpc/v24/AdGroupAsset), [`CampaignAsset`](https://developers.google.com/google-ads/api/reference/rpc/v24/CampaignAsset), and [`CustomerAsset`](https://developers.google.com/google-ads/api/reference/rpc/v24/CustomerAsset) views. |
| Videos ||||
| Partial failure allowed in [`ShareablePreviewService.GenerateShareablePreviews`](https://developers.google.com/google-ads/api/reference/rpc/v24/ShareablePreviewService#GenerateShareablePreviews) | No partial failure | Behavioral shift | Requests will fail and throw an error if any ID within it fails validation. |
| [`ShareablePreviewError`](https://developers.google.com/google-ads/api/reference/rpc/v23/ShareablePreviewErrorEnum.ShareablePreviewError) legacy codes: - [`ASSET_GROUP_DOES_NOT_EXIST_UNDER_THIS_CUSTOMER`](https://developers.google.com/google-ads/api/reference/rpc/v23/ShareablePreviewErrorEnum.ShareablePreviewError#asset_group_does_not_exist_under_this_customer) - [`TOO_MANY_ASSET_GROUPS_IN_REQUEST`](https://developers.google.com/google-ads/api/reference/rpc/v23/ShareablePreviewErrorEnum.ShareablePreviewError#too_many_asset_groups_in_request) | [`MutateErrorEnum.RESOURCE_NOT_FOUND`](https://developers.google.com/google-ads/api/reference/rpc/v24/MutateErrorEnum.MutateError#resource_not_found) [`ShareablePreviewError.TOO_MANY_RESOURCES_IN_REQUEST`](https://developers.google.com/google-ads/api/reference/rpc/v24/ShareablePreviewErrorEnum.ShareablePreviewError#too_many_resources_in_request) | Rename / behavioral shift | Error codes returned for asset groups are modified to align with ad group ad errors. Update validation catch logic. |

#### Features and updates (non-breaking)

| Features and updates | Type | Description |
|---|---|---|
| Ads |||
| Mutability of [`VideoResponsiveAdInfo`](https://developers.google.com/google-ads/api/reference/rpc/v24/VideoResponsiveAdInfo) | Behavioral change | Responsive video ads information objects are now mutable. |
| Assets |||
| [`travel_feed_data`](https://developers.google.com/google-ads/api/reference/rpc/v24/AssetSet#travel_feed_data) in `AssetSet` | New field | Added to retrieve travel feed assets attributes (`hotel_center_account_id`, `merchant_center_id`, `partner_center_id`, `subset_id`, `travel_feed_vertical_type`). |
| Campaigns |||
| [`Campaign.view_through_conversion_optimization_enabled`](https://developers.google.com/google-ads/api/reference/rpc/v24/Campaign#view_through_conversion_optimization_enabled) | New field | Allows enabling View-Through Conversion (VTC) Optimization (default `false`) in Demand Gen and App campaigns. |
| [`CampaignCriterion.gender`](https://developers.google.com/google-ads/api/reference/rpc/v24/CampaignCriterion#gender) | New feature | Enabled gender exclusions for Performance Max campaigns on all Google Ads API versions. |
| Conversions |||
| Lead Gen conversion types | New enum values | Added new GA4/Firebase conversion action type enums in [`ConversionActionType`](https://developers.google.com/google-ads/api/reference/rpc/v24/ConversionActionTypeEnum.ConversionActionType): - `GOOGLE_ANALYTICS_4_GENERATE_LEAD` - `GOOGLE_ANALYTICS_4_QUALIFY_LEAD` - `GOOGLE_ANALYTICS_4_CLOSE_CONVERT_LEAD` - `FIREBASE_ANDROID_GENERATE_LEAD` - `FIREBASE_ANDROID_QUALIFY_LEAD` - `FIREBASE_ANDROID_CLOSE_CONVERT_LEAD` - `FIREBASE_IOS_GENERATE_LEAD` - `FIREBASE_IOS_QUALIFY_LEAD` - `FIREBASE_IOS_CLOSE_CONVERT_LEAD` |
| General |||
| [`UserListErrorEnum.DUPLICATE_LOOKALIKE`](https://developers.google.com/google-ads/api/reference/rpc/v24/UserListErrorEnum.UserListError#duplicate_lookalike) | New enum value / error | Returned when attempting to create multiple identical lookalike lists. |
| Planning |||
| `ProductCoreAttributes` fields in `ListPlannableProductsResponse` | New fields | Added plannable product description, marketing objective, cost model, and buying method to [`ProductCoreAttributes`](https://developers.google.com/google-ads/api/reference/rpc/v24/ProductCoreAttributes) under [`ListPlannableProductsResponse`](https://developers.google.com/google-ads/api/reference/rpc/v24/ListPlannableProductsResponse). |
| Reports |||
| [`CartDataSalesView`](https://developers.google.com/google-ads/api/reference/rpc/v24/CartDataSalesView) | New reporting resource | Exposes reports segmenting conversions metrics by the specific product sold (brand, etc.) in addition to the clicked product. |
| Non-biddable metrics | New fields | Added non-biddable metrics (metrics showing conversions that campaigns are not optimizing for) to all matching resources: - [`all_average_cart_size`](https://developers.google.com/google-ads/api/fields/v24/metrics#metrics.all_average_cart_size) - [`all_average_order_value_micros`](https://developers.google.com/google-ads/api/fields/v24/metrics#metrics.all_average_order_value_micros) - [`all_cost_of_goods_sold_micros`](https://developers.google.com/google-ads/api/fields/v24/metrics#metrics.all_cost_of_goods_sold_micros) - [`all_cross_sell_cost_of_goods_sold_micros`](https://developers.google.com/google-ads/api/fields/v24/metrics#metrics.all_cross_sell_cost_of_goods_sold_micros) - [`all_cross_sell_gross_profit_micros`](https://developers.google.com/google-ads/api/fields/v24/metrics#metrics.all_cross_sell_gross_profit_micros) - [`all_cross_sell_revenue_micros`](https://developers.google.com/google-ads/api/fields/v24/metrics#metrics.all_cross_sell_revenue_micros) - [`all_cross_sell_units_sold`](https://developers.google.com/google-ads/api/fields/v24/metrics#metrics.all_cross_sell_units_sold) - [`all_gross_profit_margin`](https://developers.google.com/google-ads/api/fields/v24/metrics#metrics.all_gross_profit_margin) - [`all_gross_profit_micros`](https://developers.google.com/google-ads/api/fields/v24/metrics#metrics.all_gross_profit_micros) - [`all_lead_cost_of_goods_sold_micros`](https://developers.google.com/google-ads/api/fields/v24/metrics#metrics.all_lead_cost_of_goods_sold_micros) - [`all_lead_gross_profit_micros`](https://developers.google.com/google-ads/api/fields/v24/metrics#metrics.all_lead_gross_profit_micros) - [`all_lead_revenue_micros`](https://developers.google.com/google-ads/api/fields/v24/metrics#metrics.all_lead_revenue_micros) - [`all_lead_units_sold`](https://developers.google.com/google-ads/api/fields/v24/metrics#metrics.all_lead_units_sold) - [`all_orders`](https://developers.google.com/google-ads/api/fields/v24/metrics#metrics.all_orders) - [`all_revenue_micros`](https://developers.google.com/google-ads/api/fields/v24/metrics#metrics.all_revenue_micros) - [`all_units_sold`](https://developers.google.com/google-ads/api/fields/v24/metrics#metrics.all_units_sold) |
| [`conversion_attribution_event_type`](https://developers.google.com/google-ads/api/fields/v24/segments#segments.conversion_attribution_event_type) | New segment | Added to [`ShoppingPerformanceView`](https://developers.google.com/google-ads/api/reference/rpc/v24/ShoppingPerformanceView). |
| Shopping |||
| App campaigns in `ShoppingProduct` | New feature | Supported App campaigns inside the [`ShoppingProduct`](https://developers.google.com/google-ads/api/reference/rpc/v24/ShoppingProduct) resource. Note status and issues are not supported. |
| Tag-based product filtering | New feature | Introduced filtering using logical set expressions dynamically: - Added [`RETAIL_FILTER_BUNDLE`](https://developers.google.com/google-ads/api/reference/rpc/v24/CriterionTypeEnum.CriterionType#retail_filter_bundle) and [`RETAIL_FILTER`](https://developers.google.com/google-ads/api/reference/rpc/v24/CriterionTypeEnum.CriterionType#retail_filter) criterion types. - Added [`RETAIL_FILTER`](https://developers.google.com/google-ads/api/reference/rpc/v24/SharedSetTypeEnum.SharedSetType#retail_filter) shared set type. - Added the `retail_filter_bundle` field to [`AdGroupCriterion`](https://developers.google.com/google-ads/api/reference/rpc/v24/AdGroupCriterion). - Added the `retail_filter` field to [`SharedCriterion`](https://developers.google.com/google-ads/api/reference/rpc/v24/SharedCriterion). - Added `RETAIL` to [`ListingGroupFilterListingSource`](https://developers.google.com/google-ads/api/reference/rpc/v24/ListingGroupFilterListingSource). - Added `RetailFilter` dimension to [`AssetGroupListingGroupFilter`](https://developers.google.com/google-ads/api/reference/rpc/v24/AssetGroupListingGroupFilter). - Added related new validation errors in [`CriterionError`](https://developers.google.com/google-ads/api/reference/rpc/v24/CriterionErrorEnum.CriterionError) and [`AssetGroupListingGroupFilterError`](https://developers.google.com/google-ads/api/reference/rpc/v24/AssetGroupListingGroupFilterErrorEnum.AssetGroupListingGroupFilterError). This feature is only available to accounts on the allowlist. |

<br />

## v23 major and minor versions

Google Ads API v23 includes the following new features, updates, and breaking changes.

### v23.3 (2026-06-24)

The following new features and updates were added in Google Ads API v23.3. Minor
versions like v23.3 don't contain breaking changes.

| Features and updates | Type | Description |
|---|---|---|
| General |||
| [`Asset.synthetic_content_info`](https://developers.google.com/google-ads/api/reference/rpc/v23/Asset#synthetic_content_info) [`Ad.synthetic_content_info`](https://developers.google.com/google-ads/api/reference/rpc/v23/Ad#synthetic_content_info) | New fields | Contain attestations for synthetic/AI-generated content, split into [`advertiser_attestation`](https://developers.google.com/google-ads/api/reference/rpc/v23/SyntheticContentInfo#advertiser_attestation) (declarations provided directly by the advertiser) and [`system_attestation`](https://developers.google.com/google-ads/api/reference/rpc/v23/SyntheticContentInfo#system_attestation) (attestations automatically detected or provided by Google's systems). To help you plan your upcoming integration work for v25, the interface for mutating advertiser attestation fields is being introduced early for v22 and higher. The interface is visible in these versions, but `synthetic_content_info.advertiser_attestation.status` and `synthetic_content_info.advertiser_attestation.source` will remain immutable for these versions. If you attempt a mutate request on either of these fields, one of these errors will be returned: "The field attempted to be mutated is immutable" or "Field cannot be set". These fields will become fully mutable starting in v25. We recommend using the interface now to build and test your internal logic so your system is ready for full write capabilities when v25 is launched. |
| Multi-party approvals | New features | > [!WARNING] > **Beta:** This feature is currently in beta and is subject to change in future releases. Added support for multi-party approvals (MPA) reviews: - Added the [`MultiPartyAuthReview`](https://developers.google.com/google-ads/api/reference/rpc/v23/MultiPartyAuthReview) resource and corresponding [`MultiPartyAuthReviewService`](https://developers.google.com/google-ads/api/reference/rpc/v23/MultiPartyAuthReviewService). - Added the [`MultiPartyAuthReviewStatus`](https://developers.google.com/google-ads/api/reference/rpc/v23/MultiPartyAuthReviewStatusEnum.MultiPartyAuthReviewStatus) enum to track the review status. - Added [`CustomerUserAccess.pending_multi_party_auth_review`](https://developers.google.com/google-ads/api/reference/rpc/v23/CustomerUserAccess#pending_multi_party_auth_review) to link to a pending review. - Added [`MutateCustomerUserAccessResult.multi_party_auth_review`](https://developers.google.com/google-ads/api/reference/rpc/v23/MutateCustomerUserAccessResult#multi_party_auth_review) and [`MutateCustomerUserAccessInvitationResult.multi_party_auth_review`](https://developers.google.com/google-ads/api/reference/rpc/v23/MutateCustomerUserAccessInvitationResult#multi_party_auth_review) to return the associated review resource name. - Added [`MultiPartyAuthReviewError`](https://developers.google.com/google-ads/api/reference/rpc/v23/MultiPartyAuthReviewErrorEnum.MultiPartyAuthReviewError) for validation errors. |

### v23.2 (2026-03-25)

The following new features and updates were added in Google Ads API v23.2. Minor
versions like v23.2 don't contain breaking changes.

| Features and updates | Type | Description |
|---|---|---|
| Assets |||
| [`VideoEnhancement`](https://developers.google.com/google-ads/api/reference/rpc/v23/VideoEnhancement) | New resource | Contains enhancement-specific video ad information, such as whether it's Google-generated or advertiser-provided. See the [About video enhancements](https://support.google.com/google-ads/answer/13652431) to learn more. |
| [`AppTopCombinationView`](https://developers.google.com/google-ads/api/reference/rpc/v23/AppTopCombinationView) | New resource | Read-only resource to provide insights into top-performing asset combinations in App campaigns. |
| [`CustomerAsset`](https://developers.google.com/google-ads/api/reference/rpc/v23/CustomerAsset) | New feature | Added support to retrieve `CustomerAsset` with [`field_type`](https://developers.google.com/google-ads/api/reference/rpc/v23/AssetFieldTypeEnum.AssetFieldType) set to `BUSINESS_LOGO`. |
| Campaigns |||
| [`AdGroupAd.start_date_time`](https://developers.google.com/google-ads/api/reference/rpc/v23/AdGroupAd#start_date_time) [`AdGroupAd.end_date_time`](https://developers.google.com/google-ads/api/reference/rpc/v23/AdGroupAd#end_date_time) | New fields | Provide more granular scheduling constraints over the campaign's dates. This is only supported for some ad group types. |
| [`HotelSettingInfo.disable_hotel_setting`](https://developers.google.com/google-ads/api/reference/rpc/v23/Campaign.HotelSettingInfo#disable_hotel_setting) | New field | Allows disabling the hotel feed in Demand Gen campaigns. |
| General |||
| [`CustomerClientLinkError`](https://developers.google.com/google-ads/api/reference/rpc/v23/CustomerClientLinkErrorEnum.CustomerClientLinkError) | New enum values / errors | Added two new error codes: `MAX_CUSTOMER_LIMIT_REACHED` and `ACCOUNT_CREATION_POLICY_VIOLATION`. |
| [`UserListCustomerTypeCategoryEnum.LOYALTY_SIGN_UPS`](https://developers.google.com/google-ads/api/reference/rpc/v22/UserListCustomerTypeCategoryEnum.UserListCustomerTypeCategory#loyalty_sign_ups) | Behavioral change | An error is now thrown when attempting to use this sunsetted user list customer type category. |
| Planning |||
| [`GenerateTrendingInsights`](https://developers.google.com/google-ads/api/reference/rpc/v23/ContentCreatorInsightsService#generateTrendingInsights) [`GenerateCreatorInsights`](https://developers.google.com/google-ads/api/reference/rpc/v23/ContentCreatorInsightsService#generateCreatorInsights) | New features | Added support for custom AND/OR combinations of entities, topics, and audiences. |
| [`ReachPlanService.GenerateReachForecast`](https://developers.google.com/google-ads/api/reference/rpc/v23/ReachPlanService#generateReachForecast) | New enum values | Added new targetable age ranges, such as `AGE_RANGE_21_44` or `AGE_RANGE_21_49`. |
| [`youtube_select_lineup_targeting`](https://developers.google.com/google-ads/api/reference/rpc/v23/PlannableTargeting#youtube_select_lineup_targeting) | New field | Added to [`ReachPlanService.ListPlannableProducts`](https://developers.google.com/google-ads/api/reference/rpc/v23/ReachPlanService#listPlannableProducts), which will replace `youtube_select_lineups`. Both fields are currently populated. |
| [`ReachPlanSurface`](https://developers.google.com/google-ads/api/reference/rpc/v23/ReachPlanSurfaceEnum.ReachPlanSurface) | New enum value | Added `IN_STREAM_NON_SKIPPABLE_THIRTY_SECONDS` as a surface option. |
| [`Forecast`](https://developers.google.com/google-ads/api/reference/rpc/v23/Forecast) | New field | Added `clicks` for Demand Gen Max Clicks (CPC) in [`ReachPlanService.GenerateReachForecast`](https://developers.google.com/google-ads/api/reference/rpc/v23/ReachPlanService#generateReachForecast). |
| [`partnership_opportunities`](https://developers.google.com/google-ads/api/reference/rpc/v23/YouTubeMetrics#partnership_opportunities) | New field | Added to [`ContentCreatorInsightsService.GenerateCreatorInsights`](https://developers.google.com/google-ads/api/reference/rpc/v23/ContentCreatorInsightsService#generateCreatorInsights) and [`ContentCreatorInsightsService.GenerateTrendingInsights`](https://developers.google.com/google-ads/api/reference/rpc/v23/ContentCreatorInsightsService#generateTrendingInsights). |
| Reports |||
| `biddable_indirect_install_first_in_app_conversion_micros` | New field | Added to [`Campaign`](https://developers.google.com/google-ads/api/reference/rpc/v23/Campaign), [`Customer`](https://developers.google.com/google-ads/api/reference/rpc/v23/Customer), and [`AdGroup`](https://developers.google.com/google-ads/api/reference/rpc/v23/AdGroup) resources. |
| Videos |||
| [`ShareablePreviewService`](https://developers.google.com/google-ads/api/reference/rpc/v23/ShareablePreviewService) | New feature | Extended to support YouTube Live previews by setting [`preview_type`](https://developers.google.com/google-ads/api/reference/rpc/v23/ShareablePreview#preview_type) to `YOUTUBE_LIVE_PREVIEW`. Added `UNSUPPORTED_AD_TYPE` and `TOO_MANY_RESOURCES_IN_REQUEST` to [`ShareablePreviewError`](https://developers.google.com/google-ads/api/reference/rpc/v23/ShareablePreviewErrorEnum.ShareablePreviewError). This is only supported for some ad types. |

### v23.1 (2026-02-25)

The following new features and updates were added in Google Ads API v23.1. Minor
versions like v23.1 don't contain breaking changes.

| Features and updates | Type | Description |
|---|---|---|
| Account management |||
| `advertising_partner_properties.allowed_domain` | New field | Added to [`ProductLinkInvitation`](https://developers.google.com/google-ads/api/reference/rpc/v23/ProductLinkInvitation) and [`ProductLink`](https://developers.google.com/google-ads/api/reference/rpc/v23/ProductLink) resources. The advertising partner will only be able to advertise on this domain. |
| [`Customer.contains_eu_political_advertising`](https://developers.google.com/google-ads/api/reference/rpc/v23/Customer) | New field | Retrieves the account-level declaration status of whether it contains political advertising targeted towards the EU, and returns an [`EuPoliticalAdvertisingStatus`](https://developers.google.com/google-ads/api/reference/rpc/v23/EuPoliticalAdvertisingStatusEnum.EuPoliticalAdvertisingStatus). |
| Campaigns |||
| [`Campaign.text_guidelines`](https://developers.google.com/google-ads/api/reference/rpc/v23/Campaign#text_guidelines) | New field | Added support for text guidelines, which can be used with Performance Max and Search campaigns to programmatically control AI-generated text assets. Within `text_guidelines`, you can define [`term_exclusions`](https://developers.google.com/google-ads/api/reference/rpc/v23/Campaign.TextGuidelines#term_exclusions) and [`messaging_restrictions`](https://developers.google.com/google-ads/api/reference/rpc/v23/Campaign.TextGuidelines#messaging_restrictions). |
| `CampaignPrimaryStatusReason` | New enum values | Added `CAMPAIGN_NOT_BOOKED`, `BOOKING_HOLD_EXPIRING`, `BOOKING_HOLD_EXPIRED`, and `BOOKING_CANCELLED` to provide primary status reasons for campaigns with the `FIXED_CPM` bidding strategy. |
| [`Campaign.VideoCampaignSettings.reservation_ad_category_self_disclosure`](https://developers.google.com/google-ads/api/reference/rpc/v23/Campaign.VideoCampaignSettings#reservation_ad_category_self_disclosure) [`Campaign.VideoCampaignSettings.booking_details`](https://developers.google.com/google-ads/api/reference/rpc/v23/Campaign.VideoCampaignSettings#booking_details) | New fields | Added support for reservation ad category self disclosure and read-only booking details. |
| `Campaign.missing_eu_political_advertising_declaration` | New field | Supports querying and filtering campaigns that are missing declarations about whether they contain political advertising targeted towards the EU. |
| Conversions |||
| `ConversionActionCategory.YOUTUBE_FOLLOW_ON_VIEWS` | New enum value | Supports tracking users who watch an ad and later watch a video from the same channel. |
| General |||
| [`CriterionErrorEnum.CANNOT_TARGET_ONLY_UNDETERMINED`](https://developers.google.com/google-ads/api/reference/rpc/v23/CriterionErrorEnum.CriterionError#cannot_target_only_undetermined) | New enum value / error | Returned when attempting to target only the undetermined category in demographics dimensions. |
| Incentives |||
| [`IncentiveErrorEnum`](https://developers.google.com/google-ads/api/reference/rpc/v23/IncentiveErrorEnum.IncentiveError) | New enum values / errors | Added two new error codes: `MAX_INCENTIVES_REDEEMED` and `ACCOUNT_TOO_OLD`. These errors can be returned for requests made on or after March 11, 2026. |
| Planning |||
| [`GenerateBenchmarksMetrics`](https://developers.google.com/google-ads/api/reference/rpc/v23/BenchmarksService#generatebenchmarksmetrics) | New feature | Added support for date breakdowns using a [`BreakdownDefinition`](https://developers.google.com/google-ads/api/reference/rpc/v23/BreakdownDefinition). |
| [`ReachPlanService.GenerateReachForecast`](https://developers.google.com/google-ads/api/reference/rpc/v23/ReachPlanService#generateReachForecast) | New enum value | Added `GOOGLE_DISPLAY_NETWORK` as a targetable surface for Demand Gen Max Conversions. |
| [`GenerateTrendingInsights`](https://developers.google.com/google-ads/api/reference/rpc/v23/ContentCreatorInsightsService#generateTrendingInsights) | New fields | Added historical trend line information in [`TrendInsightDataPoint`](https://developers.google.com/google-ads/api/reference/rpc/v23/TrendInsightDataPoint) to [`TrendInsights`](https://developers.google.com/google-ads/api/reference/rpc/v23/TrendInsight) when searching by topic. |
| Reports |||
| Unique user frequency metrics | New fields | Added new metrics that report how many users saw your ad at least two, three, four, five or ten times: `unique_users_two_plus`, `unique_users_three_plus`, `unique_users_four_plus`, `unique_users_five_plus`, and `unique_users_ten_plus`. |
| [`SearchTermMatchSource`](https://developers.google.com/google-ads/api/reference/rpc/v23/SearchTermMatchSourceEnum.SearchTermMatchSource) | New enum value | Added `VERTICAL_ADS_DATA_FEED` to support vertical ad data feeds, such as Travel Ads entity targeting. |
| YouTubeVideoUpload |||
| `YouTubeVideoUpload` | New service / resource | Added the `YouTubeVideoUpload` service to support uploading and managing videos on YouTube, and the `YouTubeVideoUpload` resource to support fetching upload status and metadata. This feature is only supported for REST and the Python client library. |

### v23 (2026-01-28)

<br />

[Video](https://www.youtube.com/watch?v=HTsB6xjSUfw)

<br />

The following new features, updates, and breaking changes were added in Google Ads API
v23, which is a major release.

See [Upgrade to the latest version](https://developers.google.com/google-ads/api/docs/upgrade) for guidance.

#### Breaking changes

| Initial state | New state | Change type | Implementation guidance |
|---|---|---|---|
| Ads ||||
| Ad sharing permitted | [`AdGroupAdError.AD_SHARING_NOT_ALLOWED`](https://developers.google.com/google-ads/api/reference/rpc/v23/AdGroupAdErrorEnum.AdGroupAdError#ad_sharing_not_allowed) | Behavioral shift | Ad sharing among multiple ad groups is no longer permitted. Requests attempting to share ads will return an `AD_SHARING_NOT_ALLOWED` error. |
| Support for `CallAd` and `CallAdInfo` | None | Removal | Support for call ads has been removed. Refer to the [About call ads](https://support.google.com/google-ads/answer/6341403) help center article. |
| Campaigns ||||
| `Campaign.start_date` `Campaign.end_date` | [`Campaign.start_date_time`](https://developers.google.com/google-ads/api/reference/rpc/v23/Campaign#start_date_time) [`Campaign.end_date_time`](https://developers.google.com/google-ads/api/reference/rpc/v23/Campaign#end_date_time) | Rename / replacement | Use the new date-time fields to specify time components for campaigns. The original date-only fields are removed. |
| Demand Gen ||||
| [`DemandGenMultiAssetAdInfo.lead_form_only`](https://developers.google.com/google-ads/api/reference/rpc/v23/DemandGenMultiAssetAdInfo#lead_form_only) | None | Removal | The `lead_form_only` field has been removed. Update references in your code. |
| Reports ||||
| Aggregate asset performance label metrics and enum | None | Removal | Removed aggregate asset performance label metrics. The performance label enum is no longer returned for Search and Display. |

#### Features and updates (non-breaking)

| Features and updates | Type | Description |
|---|---|---|
| Ads |||
| [`AdFormatType`](https://developers.google.com/google-ads/api/reference/rpc/v23/AdFormatTypeEnum.AdFormatType) | New enum values | Added new format types: `TEXT`, `VERTICAL_ADS_BOOKING_LINK`, and `VERTICAL_ADS_PROMOTION`. |
| Assets |||
| [`asset_group`](https://developers.google.com/google-ads/api/fields/v24/asset_group) view | New fields | Added the following metrics: [`metrics.engagements`](https://developers.google.com/google-ads/api/fields/v24/metrics#metrics.engagements), [`metrics.engagement_rate`](https://developers.google.com/google-ads/api/fields/v24/metrics#metrics.engagement_rate), and [`metrics.average_cpe`](https://developers.google.com/google-ads/api/fields/v24/metrics#metrics.average_cpe). |
| [`asset_group_asset`](https://developers.google.com/google-ads/api/fields/v24/asset_group_asset) view | New fields | Added the following metrics: [`metrics.average_cpe`](https://developers.google.com/google-ads/api/fields/v24/metrics#metrics.average_cpe), [`metrics.average_cpm`](https://developers.google.com/google-ads/api/fields/v24/metrics#metrics.average_cpm), [`metrics.trueview_average_cpv`](https://developers.google.com/google-ads/api/fields/v24/metrics#metrics.trueview_average_cpv), [`metrics.video_trueview_view_rate`](https://developers.google.com/google-ads/api/fields/v24/metrics#metrics.video_trueview_view_rate), [`metrics.video_trueview_views`](https://developers.google.com/google-ads/api/fields/v24/metrics#metrics.video_trueview_views), and [`metrics.interaction_event_types`](https://developers.google.com/google-ads/api/fields/v24/metrics#metrics.interaction_event_types). |
| [`Asset.orientation`](https://developers.google.com/google-ads/api/reference/rpc/v23/Asset#orientation) | New field | Read-only orientation field added to image and video assets. |
| [`CampaignAsset`](https://developers.google.com/google-ads/api/reference/rpc/v23/CampaignAsset) | New feature | Added support to retrieve campaign assets with [`field_type`](https://developers.google.com/google-ads/api/reference/rpc/v23/AssetFieldTypeEnum.AssetFieldType) set to `HEADLINE` and `DESCRIPTION`. |
| [`ServedAssetFieldType`](https://developers.google.com/google-ads/api/reference/rpc/v23/ServedAssetFieldTypeEnum.ServedAssetFieldType) | New enum values | 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` for assets served as sitelinks. |
| [`BusinessMessageAsset`](https://developers.google.com/google-ads/api/reference/rpc/v23/BusinessMessageAsset) | New features / support | Updated Business Message assets: - Added support for Facebook Messenger and Zalo as providers. - Added `FACEBOOK_MESSENGER` and `ZALO` to [`BusinessMessageProvider`](https://developers.google.com/google-ads/api/reference/rpc/v23/BusinessMessageProviderEnum.BusinessMessageProvider). - Added fields `facebook_messenger_info` and `zalo_info`. - Added [`CUSTOMER_NOT_ON_ALLOWLIST_FOR_MESSAGE_ASSETS`](https://developers.google.com/google-ads/api/reference/rpc/v23/AssetErrorEnum.AssetError#customer_not_on_allowlist_for_message_assets) to [`AssetError`](https://developers.google.com/google-ads/api/reference/rpc/v23/AssetErrorEnum.AssetError). |
| Billing |||
| [`InvoiceService.ListInvoices`](https://developers.google.com/google-ads/api/reference/rpc/v23/InvoiceService#listinvoices) | New options | Can now return more granular details in [`Invoice`](https://developers.google.com/google-ads/api/reference/rpc/v23/Invoice), including campaign-level cost breakdown, itemized regulatory costs, and adjustment information, by setting `include_granular_level_invoice_details` in [`ListInvoicesRequest`](https://developers.google.com/google-ads/api/reference/rpc/v23/ListInvoicesRequest). |
| [`RegulatoryFeeType`](https://developers.google.com/google-ads/api/reference/rpc/v23/RegulatoryFeeTypeEnum.RegulatoryFeeType) [`UnitOfMeasure`](https://developers.google.com/google-ads/api/reference/rpc/v23/UnitOfMeasureEnum.UnitOfMeasure) | New enums | Added helper enums for regulatory fees and units of measure. |
| Campaigns |||
| [`CampaignError`](https://developers.google.com/google-ads/api/reference/rpc/v23/CampaignErrorEnum.CampaignError) | New enum values / errors | Added `DURATION_TOO_LONG_FOR_TOTAL_BUDGET` and `END_DATE_TIME_REQUIRED_FOR_TOTAL_BUDGET` error codes. |
| Conversions |||
| ConversionActionCategory | New enum value | Added `YOUTUBE_FOLLOW_ON_VIEWS` to support tracking users who watch an ad and later watch a video from the same channel. |
| Demand Gen |||
| [`DemandGenVideoResponsiveAdInfo.companion_banner`](https://developers.google.com/google-ads/api/reference/rpc/v23/DemandGenVideoResponsiveAdInfo#companion_banner) | New field | Added support for companion banners in Demand Gen responsive video ads. |
| Incentives |||
| Added Choose Your Own (CYO) incentives support: - Added the [`FetchIncentive`](https://developers.google.com/google-ads/api/reference/rpc/v23/IncentiveService#fetchincentive) method to retrieve available personalized incentives for a user. - Added the [`ApplyIncentive`](https://developers.google.com/google-ads/api/reference/rpc/v23/IncentiveService#applyincentive) method to apply a selected incentive to a customer account. - Added the [`AppliedIncentive`](https://developers.google.com/google-ads/api/reference/rpc/v23/AppliedIncentive) resource (queryable using [`Search`](https://developers.google.com/google-ads/api/reference/rpc/v23/GoogleAdsService#search) and [`SearchStream`](https://developers.google.com/google-ads/api/reference/rpc/v23/GoogleAdsService#searchstream)) to provide redemption details. - Added new error codes in [`IncentiveError`](https://developers.google.com/google-ads/api/reference/rpc/v23/IncentiveErrorEnum.IncentiveError) and [`AuthenticationError.INVALID_EMAIL_ADDRESS`](https://developers.google.com/google-ads/api/reference/rpc/v23/AuthenticationErrorEnum.AuthenticationError#invalid_email_address). 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 |||
| [`AudienceInsightsDimension.LIFE_EVENT_USER_INTEREST`](https://developers.google.com/google-ads/api/reference/rpc/v23/AudienceInsightsDimensionEnum.AudienceInsightsDimension#life_event_user_interest) | New enum value | Allows building audiences using Life Events in `GenerateAudienceCompositionInsights`, `GenerateSuggestedTargetingInsights`, `GenerateInsightsFinderReport`, and `GenerateCreatorInsights`. Life Events are not supported for other [`AudienceInsightsService`](https://developers.google.com/google-ads/api/reference/rpc/v23/AudienceInsightsService) methods such as `AudienceInsightsService.GenerateAudienceOverlap` and `AudienceInsightsService.GenerateTargetingSuggestionMetrics`. |
| [`ReachPlanService.GenerateConversionRates`](https://developers.google.com/google-ads/api/reference/rpc/v23/ReachPlanService#generateconversionrates) | New fields / options | The response now includes surfaces to support conversion rate suggestions based on surface controls (e.g., Gmail, Shorts). Only supported for Demand Gen campaigns. |
| [`LanguageDistribution`](https://developers.google.com/google-ads/api/reference/rpc/v23/LanguageDistribution) | New field / type | Added to [`YouTubeChannelInsights`](https://developers.google.com/google-ads/api/reference/rpc/v23/YouTubeChannelInsights) to provide language distribution details in YouTube channel content. |
| [`BenchmarksService`](https://developers.google.com/google-ads/api/reference/rpc/v23/BenchmarksService) | New service | Compares YouTube advertisement data against industry benchmarks. |
| [`AudienceInsightsService.GenerateAudienceDefinition`](https://developers.google.com/google-ads/api/reference/rpc/v23/AudienceInsightsService#generateAudienceDefinition) | New method | Translates a free text description of a target audience into matching audience attributes using generative AI. |
| [`YouTubeChannelInsights.relevance_score`](https://developers.google.com/google-ads/api/reference/rpc/v23/YouTubeChannelInsights#relevance_score) | New field | Evaluates how relevant a creator is for a topic weighted by views. |
| [`TrendInsightMetrics.trend_change_percent`](https://developers.google.com/google-ads/api/reference/rpc/v23/TrendInsightMetrics#trend_change_percent) | New field | Represents the percentage change in a trend's value over the comparison period. |
| Recommendations |||
| [`GenerateRecommendationsRequest`](https://developers.google.com/google-ads/api/reference/rpc/v23/GenerateRecommendationsRequest) | New field | Added `is_new_customer`. When set to `true` for `CAMPAIGN_BUDGET` recommendations, it uses a model optimized for new customers (only recommended for customers with no campaigns). |
| Reports |||
| [`AdGroupAdAssetView`](https://developers.google.com/google-ads/api/reference/rpc/v23/AdGroupAdAssetView) | New feature / metrics support | Now supports impression, performance, and conversion metrics for [`RESPONSIVE_DISPLAY_AD`](https://developers.google.com/google-ads/api/reference/rpc/v23/AdTypeEnum.AdType#responsive_display_ad). |
| [`ad_sub_network_type`](https://developers.google.com/google-ads/api/fields/v24/segments#segments.ad_sub_network_type) segment | New segment | Provides granular performance breakdown within an ad network. Initially available for Demand Gen campaigns on YouTube (In-stream, In-feed, Shorts). Must be selected along with `ad_network_type`. |
| Performance Max reporting | New feature | Enabled ad network type breakdown for Performance Max campaigns. |
| [`UserLocationView`](https://developers.google.com/google-ads/api/reference/rpc/v23/UserLocationView) [`GeographicView`](https://developers.google.com/google-ads/api/reference/rpc/v23/GeographicView) | New segments support | 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`, and `cross_device_conversions_value_by_conversion_date`. |
| Vertical ads segments | New segments | Added the following segments: `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`, and `vertical_ads_vertical`. |
| [`PerStoreView`](https://developers.google.com/google-ads/api/reference/rpc/v23/PerStoreView) [`MatchedLocationInterestView`](https://developers.google.com/google-ads/api/reference/rpc/v23/MatchedLocationInterestView) | New reporting resources | Added `PerStoreView` to query store location details, and `MatchedLocationInterestView` (for AI Max campaigns) to provide performance metrics by geographic locations of interest. |
| Shopping |||
| [`ShoppingPerformanceView`](https://developers.google.com/google-ads/api/reference/rpc/v23/ShoppingPerformanceView) | New metrics support | Now supports the following metrics segmented by conversion date: `conversions_by_conversion_date`, `all_conversions_by_conversion_date`, `conversions_value_by_conversion_date`, and `value_per_conversions_by_conversion_date`, `value_per_all_conversions_by_conversion_date`. |
| [`ShoppingPerformanceView`](https://developers.google.com/google-ads/api/reference/rpc/v23/ShoppingPerformanceView) | New metrics support | Added support for: `search_budget_lost_impression_share`, `search_rank_lost_impression_share`, `search_budget_lost_absolute_top_impression_share`, and `search_rank_lost_absolute_top_impression_share`. |
| [`ShoppingProduct.product_image_uri`](https://developers.google.com/google-ads/api/reference/rpc/v23/ShoppingProduct#product_image_uri) | New field | Added to [`ShoppingProduct`](https://developers.google.com/google-ads/api/reference/rpc/v23/ShoppingProduct). |
| Vertical ads |||
| [`AdGroup.vertical_ads_format_setting`](https://developers.google.com/google-ads/api/reference/rpc/v23/AdGroup#vertical_ads_format_setting) | New field | Allows control over which ad formats can serve in Search campaigns using travel feeds. |
| [`AdGroupCriterion`](https://developers.google.com/google-ads/api/reference/rpc/v23/AdGroupCriterion) [`SharedCriterion`](https://developers.google.com/google-ads/api/reference/rpc/v23/SharedCriterion) | New fields / criteria | Added `vertical_ads_item_group_rule_list` criterion type to `AdGroupCriterion` and `vertical_ads_item_group_rule` to `SharedCriterion` to permit targeting item groups in Search campaigns with travel feeds. |
| Vertical ads data feed integration | New feature | Can now connect a vertical ads data feed to a search campaign running AI Max to show property promotion and booking link travel ads alongside text ads. Control formats with [`vertical_ads_format_setting`](https://developers.google.com/google-ads/api/reference/rpc/v23/AdGroup#vertical_ads_format_setting) and define rules using `vertical_ads_item_group_rule`. Segment reporting by [`AdFormatType`](https://developers.google.com/google-ads/api/reference/rpc/v23/AdFormatTypeEnum.AdFormatType) and vertical ads data feed dimensions. |
| Videos |||
| [`AdVideoAssetInfo.ad_video_asset_feature_control`](https://developers.google.com/google-ads/api/reference/rpc/v23/AdVideoAssetInfo#ad_video_asset_feature_control) | New field | Added feature control options for video ad assets. |
| [`CampaignCriterionError`](https://developers.google.com/google-ads/api/reference/rpc/v23/CampaignCriterionErrorEnum.CampaignCriterionError#invalid_video_lineup_id) | New enum value / error | Added the `INVALID_VIDEO_LINEUP_ID` error code. |
| YouTube audibility metrics | New metrics | Added audibility metrics for audio ads on YouTube, reporting whether an ad was audible and on how many impressions audibility could be measured. |

<br />

## v22 major and minor versions

Google Ads API v22 includes the following new features, updates, and breaking changes.

### v22.2 (2026-06-24)

The following new features and updates were added in Google Ads API v22.2. Minor
versions like v22.2 don't contain breaking changes.

| Features and updates | Type | Description |
|---|---|---|
| General |||
| [`Asset.synthetic_content_info`](https://developers.google.com/google-ads/api/reference/rpc/v22/Asset#synthetic_content_info) [`Ad.synthetic_content_info`](https://developers.google.com/google-ads/api/reference/rpc/v22/Ad#synthetic_content_info) | New fields | Contain attestations for synthetic/AI-generated content, split into [`advertiser_attestation`](https://developers.google.com/google-ads/api/reference/rpc/v22/SyntheticContentInfo#advertiser_attestation) (declarations provided directly by the advertiser) and [`system_attestation`](https://developers.google.com/google-ads/api/reference/rpc/v22/SyntheticContentInfo#system_attestation) (attestations automatically detected or provided by Google's systems). To help you plan your upcoming integration work for v25, the interface for mutating advertiser attestation fields is being introduced early for v22 and higher. The interface is visible in these versions, but `synthetic_content_info.advertiser_attestation.status` and `synthetic_content_info.advertiser_attestation.source` will remain immutable for these versions. If you attempt a mutate request on either of these fields, one of these errors will be returned: "The field attempted to be mutated is immutable" or "Field cannot be set". These fields will become fully mutable starting in v25. We recommend using the interface now to build and test your internal logic so your system is ready for full write capabilities when v25 is launched. |
| Multi-party approvals | New features | > [!WARNING] > **Beta:** This feature is currently in beta and is subject to change in future releases. Added support for multi-party approvals (MPA) reviews: - Added the [`MultiPartyAuthReview`](https://developers.google.com/google-ads/api/reference/rpc/v22/MultiPartyAuthReview) resource and corresponding [`MultiPartyAuthReviewService`](https://developers.google.com/google-ads/api/reference/rpc/v22/MultiPartyAuthReviewService). - Added the [`MultiPartyAuthReviewStatus`](https://developers.google.com/google-ads/api/reference/rpc/v22/MultiPartyAuthReviewStatusEnum.MultiPartyAuthReviewStatus) enum to track the review status. - Added [`CustomerUserAccess.pending_multi_party_auth_review`](https://developers.google.com/google-ads/api/reference/rpc/v22/CustomerUserAccess#pending_multi_party_auth_review) to link to a pending review. - Added [`MutateCustomerUserAccessResult.multi_party_auth_review`](https://developers.google.com/google-ads/api/reference/rpc/v22/MutateCustomerUserAccessResult#multi_party_auth_review) and [`MutateCustomerUserAccessInvitationResult.multi_party_auth_review`](https://developers.google.com/google-ads/api/reference/rpc/v22/MutateCustomerUserAccessInvitationResult#multi_party_auth_review) to return the associated review resource name. - Added [`MultiPartyAuthReviewError`](https://developers.google.com/google-ads/api/reference/rpc/v22/MultiPartyAuthReviewErrorEnum.MultiPartyAuthReviewError) for validation errors. |

### v22.1 (2026-02-25)

The following new feature was added in Google Ads API v22.1. Minor versions like v22.1
don't contain breaking changes.

| Features and updates | Type | Description |
|---|---|---|
| Account management |||
| [`Customer.contains_eu_political_advertising`](https://developers.google.com/google-ads/api/reference/rpc/v22/Customer) | New field | Retrieves the account-level declaration status of whether it contains political advertising targeted towards the EU, and returns an [`EuPoliticalAdvertisingStatus`](https://developers.google.com/google-ads/api/reference/rpc/v22/EuPoliticalAdvertisingStatusEnum.EuPoliticalAdvertisingStatus). |
| Campaigns |||
| `Campaign.missing_eu_political_advertising_declaration` | New field | Supports querying and filtering campaigns that are missing declarations about whether they contain political advertising targeted towards the EU. |

### v22 (2025-10-15)

The following new features, updates, and breaking changes were added in Google Ads API
v22, which is a major release.

See [Upgrade to the latest version](https://developers.google.com/google-ads/api/docs/upgrade) for guidance.

#### Breaking changes

| Initial state | New state | Change type | Implementation guidance |
|---|---|---|---|
| Demand Gen ||||
| `BudgetPerDayMinimumErrorDetails.minimum_bugdet_amount_micros` | [`minimum_budget_amount_micros`](https://developers.google.com/google-ads/api/reference/rpc/v22/BudgetPerDayMinimumErrorDetails#minimum_budget_amount_micros) | Rename / spelling fix | Rename references to use the corrected field name. |
| General ||||
| No operations limit in [`AddBatchJobOperations`](https://developers.google.com/google-ads/api/reference/rpc/v22/BatchJobService#addbatchjoboperations) | 10,000 operations limit per request | Behavioral shift | Ensure that no single `AddBatchJobOperations` request contains more than 10,000 operations. |
| Silently capped page size at 1,000 in [`ListBatchJobResultsRequest`](https://developers.google.com/google-ads/api/reference/rpc/v22/ListBatchJobResultsRequest) | Returns `INVALID_PAGE_SIZE` error | Behavioral shift | Ensure `ListBatchJobResultsRequest.page_size` is set to 1,000 or less, as requesting a larger page size will now result in an error. |
| Performance Max ||||
| Asset performance labels | None | Removal | Asset performance labels support and the associated performance label enum have been removed for Performance Max campaigns. Update integrations accordingly. |
| [`Campaign.url_expansion_opt_out`](https://developers.google.com/google-ads/api/reference/rpc/v22/Campaign#url_expansion_opt_out) | `FINAL_URL_EXPANSION_TEXT_ASSET_AUTOMATION` flag in [`AssetAutomationSetting`](https://developers.google.com/google-ads/api/reference/rpc/v22/Campaign#asset_automation_setting) | Removal / replacement | Use the final URL expansion text asset automation setting. The Campaign-level URL expansion opt-out field is removed. |
| Planning ||||
| [`views`](https://developers.google.com/google-ads/api/reference/rpc/v22/ReachPlanService#views) | [`trueview_views`](https://developers.google.com/google-ads/api/reference/rpc/v22/ReachPlanService#trueview_views) | Removal / replacement | Replace references to `views` with the new `trueview_views` field in [`ReachPlanService`](https://developers.google.com/google-ads/api/reference/rpc/v22/ReachPlanService). |
| Videos ||||
| `average_cpv` `video_view_rate` `video_views` `video_view_rate_in_feed` `video_view_rate_in_stream` `video_view_rate_shorts` | [`trueview_average_cpv`](https://developers.google.com/google-ads/api/reference/rpc/v22/Metrics#trueview_average_cpv) [`video_trueview_view_rate`](https://developers.google.com/google-ads/api/reference/rpc/v22/Metrics#video_trueview_view_rate) [`video_trueview_views`](https://developers.google.com/google-ads/api/reference/rpc/v22/Metrics#video_trueview_views) [`video_trueview_view_rate_in_feed`](https://developers.google.com/google-ads/api/reference/rpc/v22/Metrics#video_trueview_view_rate_in_feed) [`video_trueview_view_rate_in_stream`](https://developers.google.com/google-ads/api/reference/rpc/v22/Metrics#video_trueview_view_rate_in_stream) [`video_trueview_view_rate_shorts`](https://developers.google.com/google-ads/api/reference/rpc/v22/Metrics#video_trueview_view_rate_shorts) | Renames | Update query strings and integrations to use the new metric names representing TrueView video views. |

#### Features and updates (non-breaking)

| Features and updates | Type | Description |
|---|---|---|
| Assets |||
| [`AssetFieldType.LANDING_PAGE_PREVIEW`](https://developers.google.com/google-ads/api/reference/rpc/v22/AssetFieldTypeEnum.AssetFieldType#landing_page_preview) | New enum value | Added as a new image asset field type. |
| [`AssetGenerationService`](https://developers.google.com/google-ads/api/reference/rpc/v22/AssetGenerationService) | New service (Beta) | Allows generating text and image assets using generative AI: - [`GenerateText`](https://developers.google.com/google-ads/api/reference/rpc/v22/AssetGenerationService/GenerateText): Generates text based on final URL, prompts, keywords, etc. - [`GenerateImages`](https://developers.google.com/google-ads/api/reference/rpc/v22/AssetGenerationService/GenerateImages): Generates images based on final URL, prompts, or recontextualizing product images. - Errors are returned with codes from [`AssetGenerationError`](https://developers.google.com/google-ads/api/reference/rpc/v22/AssetGenerationErrorEnum.AssetGenerationError). Initially available only to a limited set of closed beta participants. |
| Campaigns |||
| [`AppCampaignBiddingStrategyGoalType`](https://developers.google.com/google-ads/api/reference/rpc/v22/AppCampaignBiddingStrategyGoalTypeEnum.AppCampaignBiddingStrategyGoalType) | New enum values | Added new goals for App campaigns for installs (ACi) to optimize without specifying a target: - `OPTIMIZE_IN_APP_CONVERSIONS_WITHOUT_TARGET_CPA`: Use with standard Maximize Conversions. - `OPTIMIZE_TOTAL_VALUE_WITHOUT_TARGET_ROAS`: Use with standard Maximize Conversion Value. |
| `BiddingStrategyType` | New feature | Added support for the fixed share of voice bidding strategy type. |
| [`Campaign.feed_types`](https://developers.google.com/google-ads/api/reference/rpc/v22/Campaign#feed_types) | New field | Shows 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. |
| Shared set targeting | New feature | Allowed attaching negative keywords shared sets to multi-channel (for App campaigns) and local campaigns. |
| Demand Gen |||
| TargetCPC bidding | New feature | Added bidding strategy to maximize clicks at target CPC: set campaign-level target CPC using [`Campaign.target_cpc`](https://developers.google.com/google-ads/api/reference/rpc/v22/Campaign#target_cpc) and override at ad group level using [`AdGroup.target_cpc_micros`](https://developers.google.com/google-ads/api/reference/rpc/v22/AdGroup#target_cpc_micros). |
| `AssetAutomationType.GENERATE_DESIGN_VERSIONS_FOR_IMAGES` | New enum value | If enabled for [`DemandGenMultiAssetAdInfo`](https://developers.google.com/google-ads/api/reference/rpc/v22/DemandGenMultiAssetAdInfo), this adds design elements and embeds text assets into image assets to create new image assets with different aspect ratios (enabled by default). |
| `AssetAutomationType.GENERATE_VIDEOS_FROM_OTHER_ASSETS` | New enum value | If enabled for [`DemandGenMultiAssetAdInfo`](https://developers.google.com/google-ads/api/reference/rpc/v22/DemandGenMultiAssetAdInfo), it generates videos using other assets like images and text, which can then be used to create new [`DemandGenVideoResponsiveAdInfo`](https://developers.google.com/google-ads/api/reference/rpc/v22/DemandGenVideoResponsiveAdInfo) instances (enabled by default). |
| General |||
| [`ListBatchJobResultsRequest`](https://developers.google.com/google-ads/api/reference/rpc/v22/ListBatchJobResultsRequest) page size fallback | Behavioral change | If `page_size` is not set or is 0, it now defaults to the maximum of 1,000 (previously returned `INVALID_PAGE_SIZE`). |
| [`QuotaError`](https://developers.google.com/google-ads/api/reference/rpc/v22/QuotaErrorEnum.QuotaError) | New enum value / error | Added `PAYMENTS_PROFILE_ACTIVATION_RATE_LIMIT_EXCEEDED` to indicate when payment profile activation rate limit is exceeded. |
| Performance Max |||
| Asset automation settings | New enum values | Added new PMax asset automation options: - `GENERATE_IMAGE_ENHANCEMENT`: Enables automatic creation of enhanced images (auto-cropping). Enabled by default. - `GENERATE_IMAGE_EXTRACTION`: Sourced images from final URLs. Defaults to account Dynamic Image Extension setting. |
| PMax reporting segments | New segments | Added new segments unique to Performance Max campaigns: - [`ad_using_product_data`](https://developers.google.com/google-ads/api/fields/v24/segments#segments.ad_using_product_data): Indicates if an ad uses Google Merchant Center product data. - [`ad_using_video`](https://developers.google.com/google-ads/api/fields/v24/segments#segments.ad_using_video): Indicates if an ad uses a video asset. |
| Planning |||
| CRM partner data lists | New feature / enum value | Added [`THIRD_PARTY_PARTNER_DATA`](https://developers.google.com/google-ads/api/reference/rpc/v22/UserListCrmDataSourceTypeEnum.UserListCrmDataSourceType#third_party_partner_data) to CRM data sources, along with partner audience validation error codes (such as tos acceptance, Link missing, etc.). |
| Livestream creator metrics | New field | Added [`YouTubeMetrics.is_active_live_stream_creator`](https://developers.google.com/google-ads/api/reference/rpc/v22/YouTubeMetrics#is_active_live_stream_creator), returned by creator insights to indicate if a creator published a livestream in the past 90 days. |
| Plannable CRM source metadata | New message | Added [`PlannableUserListMetadata`](https://developers.google.com/google-ads/api/reference/rpc/v22/PlannableUserListMetadata) inside [`PlannableUserList`](https://developers.google.com/google-ads/api/reference/rpc/v22/PlannableUserList), returned by `ReachPlanService.ListPlannableUserLists`, to show CRM data source types. |
| Support for related videos and creators in TrendInsight | New fields | Added support for [`related_videos`](https://developers.google.com/google-ads/api/reference/rpc/v22/TrendInsight#related_videos) and [`related_creators`](https://developers.google.com/google-ads/api/reference/rpc/v22/TrendInsight#related_creators) on [`TrendInsight`](https://developers.google.com/google-ads/api/reference/rpc/v22/TrendInsight), and watch properties in [`video_properties`](https://developers.google.com/google-ads/api/reference/rpc/v22/YouTubeVideoAttributeMetadata#video_properties) and [`publish_date`](https://developers.google.com/google-ads/api/reference/rpc/v22/YouTubeVideoAttributeMetadata#publish_date). |
| InsightsFinder improvements | New feature | [`GenerateInsightsFinderReport`](https://developers.google.com/google-ads/api/reference/rpc/v22/AudienceInsightsService#generateinsightsfinderreport) now supports [`parental_status`](https://developers.google.com/google-ads/api/reference/rpc/v22/InsightsAudience#parental_status), [`income_ranges`](https://developers.google.com/google-ads/api/reference/rpc/v22/InsightsAudience#income_ranges), and more complex AND/OR targeting combinations. |
| Reports |||
| New click types | New enum values | Added [`CLICK_TO_MESSAGE_THIRD_PARTY_CLICK`](https://developers.google.com/google-ads/api/reference/rpc/v22/ClickTypeEnum.ClickType#click_to_message_third_party_click) and [`CLICK_TO_MESSAGE_LANDING_PAGE_CLICK`](https://developers.google.com/google-ads/api/reference/rpc/v22/ClickTypeEnum.ClickType#click_to_message_landing_page_click). |
| AssetGroupAsset segmentation | New segments support | [`AssetGroupAsset`](https://developers.google.com/google-ads/api/reference/rpc/v22/AssetGroupAsset) is now segmentable by [`device`](https://developers.google.com/google-ads/api/fields/v24/segments#segments.device), `conversion_action`, `conversion_action_name`, and [`conversion_action_category`](https://developers.google.com/google-ads/api/fields/v24/segments#segments.conversion_action_category). |
| RSAs in AdGroupAdAssetView | New feature / metrics support | [`AdGroupAdAssetView`](https://developers.google.com/google-ads/api/reference/rpc/v22/AdGroupAdAssetView) now fully supports performance and conversion metrics for [`RESPONSIVE_SEARCH_AD`](https://developers.google.com/google-ads/api/reference/rpc/v22/AdTypeEnum.AdType#responsive_search_ad) (previously only impressions were returned). |
| Exploration query cluster metric segmentations | New segments support | Metrics `clicks_unique_query_clusters`, `conversions_unique_query_clusters`, and `impressions_unique_query_clusters` are now segmentable by date fields. |
| TargetingExpansionView | New reporting resource | Added [`TargetingExpansionView`](https://developers.google.com/google-ads/api/reference/rpc/v22/TargetingExpansionView) to report metrics for expansions over manual targeting, such as keywordless expansion for AI Max for Search Campaigns. |
| Shopping |||
| Shopping scope fix | Bug fix | Fixed the campaign and ad group scoping of metrics in the [`ShoppingProduct`](https://developers.google.com/google-ads/api/reference/rpc/v22/ShoppingProduct) resource. |
| Unified goals |||
| Retention goals | New feature | Added support for customer retention goals to optimize for re-engaging existing customers (e.g., using [`target_option`](https://developers.google.com/google-ads/api/reference/rpc/v22/CampaignGoalSettings.CampaignRetentionGoalSettings#target_option) with [`TARGET_SPECIFIC`](https://developers.google.com/google-ads/api/reference/rpc/v22/CustomerLifecycleOptimizationModeEnum.CustomerLifecycleOptimizationMode#target_specific) or [`TARGET_ALL`](https://developers.google.com/google-ads/api/reference/rpc/v22/CustomerLifecycleOptimizationModeEnum.CustomerLifecycleOptimizationMode#target_all)). |
| Videos |||
| Video watch time metrics | New fields | Added watch time duration metrics: [`video_watch_time_duration_millis`](https://developers.google.com/google-ads/api/reference/rpc/v22/Metrics#video_watch_time_duration_millis) (total duration) and [`average_video_watch_time_duration_millis`](https://developers.google.com/google-ads/api/reference/rpc/v22/Metrics#average_video_watch_time_duration_millis) (average duration per impression). |

<br />

## v21 major and minor versions

Google Ads API v21 includes the following new features, updates, and breaking changes.

### v21.2 (2026-06-24)

The following new features and updates were added in Google Ads API v21.2. Minor
versions like v21.2 don't contain breaking changes.

| Features and updates | Type | Description |
|---|---|---|
| General |||
| Multi-party approvals | New features | > [!WARNING] > **Beta:** This feature is currently in beta and is subject to change in future releases. Added support for multi-party approvals (MPA) reviews: - Added the [`MultiPartyAuthReview`](https://developers.google.com/google-ads/api/reference/rpc/v21/MultiPartyAuthReview) resource and corresponding [`MultiPartyAuthReviewService`](https://developers.google.com/google-ads/api/reference/rpc/v21/MultiPartyAuthReviewService). - Added the [`MultiPartyAuthReviewStatus`](https://developers.google.com/google-ads/api/reference/rpc/v21/MultiPartyAuthReviewStatusEnum.MultiPartyAuthReviewStatus) enum to track the review status. - Added [`CustomerUserAccess.pending_multi_party_auth_review`](https://developers.google.com/google-ads/api/reference/rpc/v21/CustomerUserAccess#pending_multi_party_auth_review) to link to a pending review. - Added [`MutateCustomerUserAccessResult.multi_party_auth_review`](https://developers.google.com/google-ads/api/reference/rpc/v21/MutateCustomerUserAccessResult#multi_party_auth_review) and [`MutateCustomerUserAccessInvitationResult.multi_party_auth_review`](https://developers.google.com/google-ads/api/reference/rpc/v21/MutateCustomerUserAccessInvitationResult#multi_party_auth_review) to return the associated review resource name. - Added [`MultiPartyAuthReviewError`](https://developers.google.com/google-ads/api/reference/rpc/v21/MultiPartyAuthReviewErrorEnum.MultiPartyAuthReviewError) for validation errors. |

### v21.1 (2026-02-25)

The following new features and updates were added in Google Ads API v21.1. Minor
versions like v21.1 don't contain breaking changes.

| Features and updates | Type | Description |
|---|---|---|
| Account management |||
| [`Customer.contains_eu_political_advertising`](https://developers.google.com/google-ads/api/reference/rpc/v21/Customer) | New field | Retrieves the account-level declaration status of whether it contains political advertising targeted towards the EU, and returns an [`EuPoliticalAdvertisingStatusEnum`](https://developers.google.com/google-ads/api/reference/rpc/v23/EuPoliticalAdvertisingStatusEnum). |
| Campaigns |||
| `Campaign.missing_eu_political_advertising_declaration` | New field | Supports querying and filtering campaigns that are missing declarations about whether they contain political advertising targeted towards the EU. |

### v21 (2025-08-06)

<br />

[Video](https://www.youtube.com/watch?v=g2oOeU0syjM)

<br />

The following new features, updates, and breaking changes were added in Google Ads API
v21, which is a major release.

See [Upgrade to the latest version](https://developers.google.com/google-ads/api/docs/upgrade) for guidance.

#### Breaking changes

| Initial state | New state | Change type | Implementation guidance |
|---|---|---|---|
| Campaigns ||||
| Returns [`CriterionError.INVALID_LISTING_GROUP_HIERARCHY`](https://developers.google.com/google-ads/api/reference/rpc/v21/CriterionErrorEnum.CriterionError#invalid_listing_group_hierarchy) | Returns [`CriterionError.LISTING_GROUP_ERROR_IN_ANOTHER_OPERATION`](https://developers.google.com/google-ads/api/reference/rpc/v21/CriterionErrorEnum.CriterionError#listing_group_error_in_another_operation) | Error code change | For requests with a partial failure enabled, handle the new error code instead of the original hierarchy error code. |
| Conversions ||||
| Access to `debug_enabled` mode in [`ConversionUploadService`](https://developers.google.com/google-ads/api/reference/rpc/v21/ConversionUploadService) | None | Removal | The `debug_enabled` field is removed. Update code referencing it to not set or query this parameter. |
| EU political advertising changes ||||
| Optional campaign self-declarations for EU political advertising | Required [`contains_eu_political_advertising`](https://developers.google.com/google-ads/api/reference/rpc/v21/Campaign#contains_eu_political_advertising) field for new campaigns | Validation rule / behavioral shift | API calls to create new campaigns will fail with a [`FieldError.REQUIRED`](https://developers.google.com/google-ads/api/reference/rpc/v21/FieldErrorEnum.FieldError#required) error if this field is not set. Starting September 22, 2025, campaigns declared as `CONTAINS_EU_POLITICAL_ADVERTISING` will no longer serve in the EU. |
| Modifiable criteria without self-declaration | Fails updates with [`CriterionError.MISSING_EU_POLITICAL_ADVERTISING_SELF_DECLARATION`](https://developers.google.com/google-ads/api/reference/rpc/v21/CriterionErrorEnum.CriterionError#missing_eu_political_advertising_self_declaration) | Validation rule / behavioral shift | Set the self-declaration status before attempting to create or update campaign- or ad group-level proximity, location, or location group targeting criteria for existing campaigns. |
| Experiments without self-declaration requirements | Fails updates with [`ExperimentError.MISSING_EU_POLITICAL_ADVERTISING_SELF_DECLARATION`](https://developers.google.com/google-ads/api/reference/rpc/v21/ExperimentErrorEnum.ExperimentError#missing_eu_political_advertising_self_declaration) | Validation rule / behavioral shift | Ensure that the self-declarations have been completed on the experiment's campaigns. |
| Performance Max ||||
| [`brand_guidelines_enabled`](https://developers.google.com/google-ads/api/reference/rpc/v21/Campaign#brand_guidelines_enabled) defaults to `false` | Defaults to `true` | Behavioral shift | For new Performance Max campaigns, brand guidelines are enabled by default. Explicitly set the field to `false` if they should be disabled. |
| Planning ||||
| Original input argument type for [`AudienceInsightsService.GenerateTargetingSuggestionMetrics`](https://developers.google.com/google-ads/api/reference/rpc/v21/AudienceInsightsService/GenerateTargetingSuggestionMetrics) | Input of type [`InsightsAudience`](https://developers.google.com/google-ads/api/reference/rpc/v21/InsightsAudience) | Type change | Update implementations to pass the new input type which supports an AND-of-ORs combination of user interests, permitting potential reach metrics for custom audience definitions. |

#### Features and updates (non-breaking)

| Features and updates | Type | Description |
|---|---|---|
| AI Max for Search campaigns |||
| [`ai_max_setting.enable_ai_max`](https://developers.google.com/google-ads/api/reference/rpc/v21/Campaign.AiMaxSetting#enable_ai_max) in [`Campaign`](https://developers.google.com/google-ads/api/reference/rpc/v21/Campaign) | New field | Enables AI Max to expand search term matching (respecting previous text asset automation and brand lists until toggled off). The field [`Campaign.ai_max_setting.bundling_required`](https://developers.google.com/google-ads/api/reference/rpc/v21/Campaign.AiMaxSetting#bundling_required) indicates if AI Max must be enabled to respect/modify those settings, and [`AdGroup.ai_max_ad_group_setting.disable_search_term_matching`](https://developers.google.com/google-ads/api/reference/rpc/v21/AdGroup.AiMaxAdGroupSetting#disable_search_term_matching) can disable matching at the ad group level. See [Unlock next-level performance with AI Max for Search campaigns](https://blog.google/products/ads-commerce/google-ai-max-for-search-campaigns/). |
| [`CampaignError.AI_MAX_MUST_BE_ENABLED`](https://developers.google.com/google-ads/api/reference/rpc/v21/CampaignErrorEnum.CampaignError#ai_max_must_be_enabled) | New enum value / error | Thrown when opting in to URL expansion text asset automation in Search campaigns without enabling AI Max. |
| Ad group level targeting | New feature | Support added in AI Max for Search campaigns for brand lists, locations, and webpages (URL rules) at the ad group level. |
| [`ai_max_search_term_ad_combination_view`](https://developers.google.com/google-ads/api/fields/v24/ai_max_search_term_ad_combination_view) | New reporting resource | Reports performance on combinations of search terms, headlines, and landing pages. |
| [`search_term_match_type`](https://developers.google.com/google-ads/api/fields/v24/segments#segments.search_term_match_type) segment | New enum value | Added `AI_MAX` as a search term match type option. |
| Assets |||
| [`PromotionAsset`](https://developers.google.com/google-ads/api/reference/rpc/v21/PromotionAsset) | New fields | Added `terms_and_conditions_text`, `terms_and_conditions_uri`, and oneof `promotion_trigger` options (`promotion_barcode_info`, `promotion_qr_code_info`). See [About promotion assets](https://support.google.com/google-ads/answer/7367521). |
| [`AssetAutomationType.FINAL_URL_EXPANSION_TEXT_ASSET_AUTOMATION`](https://developers.google.com/google-ads/api/reference/rpc/v21/AssetAutomationTypeEnum.AssetAutomationType#final_url_expansion_text_asset_automation) | New enum value | Added to [`AssetAutomationType`](https://developers.google.com/google-ads/api/reference/rpc/v21/AssetAutomationTypeEnum.AssetAutomationType) to control automated text and landing page generation from final URLs in Search campaigns. |
| [`AutomaticallyCreatedAssetRemovalService.RemoveCampaignAutomaticallyCreatedAsset`](https://developers.google.com/google-ads/api/reference/rpc/v21/AutomaticallyCreatedAssetRemovalService/RemoveCampaignAutomaticallyCreatedAsset) | New service / method | Allows removing automatically created final URL expansion assets from campaigns. |
| [`ServedAssetFieldType.DESCRIPTION_PREFIX`](https://developers.google.com/google-ads/api/reference/rpc/v23/ServedAssetFieldTypeEnum.ServedAssetFieldType) | New enum value | Added to correct a reporting issue where the type was returned as `UNKNOWN` in [`ad_group_ad_asset_combination_view`](https://developers.google.com/google-ads/api/fields/v24/ad_group_ad_asset_combination_view). |
| Campaigns |||
| [`CampaignPrimaryStatusReason.MISSING_LOCATION_TARGETING`](https://developers.google.com/google-ads/api/reference/rpc/v21/CampaignPrimaryStatusReasonEnum.CampaignPrimaryStatusReason) | New enum value | Returned when location-restricted campaigns lack location targeting (which now throws [`LOCATION_TARGETING_NOT_ELIGIBLE_FOR_RESTRICTED_CAMPAIGN`](https://developers.google.com/google-ads/api/reference/rpc/v21/CriterionErrorEnum.CriterionError#location_targeting_not_eligible_for_restricted_campaign) if targeted outside the allowed area). |
| Third-party app analytics integration | New fields | Added support for [`VideoCustomer.third_party_integration_partners`](https://developers.google.com/google-ads/api/reference/rpc/v21/VideoCustomer#third_party_integration_partners) and [`Campaign.third_party_integration_partners`](https://developers.google.com/google-ads/api/reference/rpc/v21/Campaign#third_party_integration_partners). See [Track app conversions with third-party app analytics](https://support.google.com/google-ads/answer/7382633). |
| [`Campaign.advertising_partner_ids`](https://developers.google.com/google-ads/api/reference/rpc/v21/Campaign#third_party_integration_partners) | New field support | The field can now be set for existing campaigns (remains immutable after being set). |
| Manager-level negative placements | New feature | Allows exclusions of placement lists across individual advertiser accounts using `CustomerNegativeCriterion`. |
| Tolerance configurations in target ROAS strategies | New fields | Added support for [`TargetRoas.target_roas_tolerance_percent_millis`](https://developers.google.com/google-ads/api/reference/rpc/v21/TargetRoas#target_roas_tolerance_percent_millis) (for Search campaign portfolio strategies) in [`MaximizeConversionValue`](https://developers.google.com/google-ads/api/reference/rpc/v22/MaximizeConversionValue) and [`TargetRoas`](https://developers.google.com/google-ads/api/reference/rpc/v21/TargetRoas). |
| [`LocationInterestView`](https://developers.google.com/google-ads/api/reference/rpc/v21/LocationInterestView) | New reporting resource | Summarizes performance of ad group location interest criteria. |
| Conversions |||
| [`conversion_attribution_event_type`](https://developers.google.com/google-ads/api/fields/v24/segments#segments.conversion_attribution_event_type) segment | New enum value | Added `ENGAGED_VIEW` to conversion attribution type options. |
| Demand Gen |||
| [`CampaignBudgetError.BUDGET_BELOW_DAILY_MINIMUM`](https://developers.google.com/google-ads/api/reference/rpc/v21/CampaignBudgetErrorEnum.CampaignBudgetError#budget_below_per_day_minimum) | New enum value / error | Added in preparation for enforcing minimum daily budgets for Demand Gen campaigns. Details are exposed using [`budgetDailyMinimumErrorDetails`](https://developers.google.com/google-ads/api/reference/rpc/v21/BudgetPerDayMinimumErrorDetails). |
| Performance Max |||
| [`campaign_search_term_view`](https://developers.google.com/google-ads/api/fields/v24/campaign_search_term_view) | New reporting resource | Aggregates search terms metrics at the campaign level, enabling search term analysis and reporting for Performance Max. |
| Planning |||
| [`ReachPlanService.ListPlannableUserInterests`](https://developers.google.com/google-ads/api/reference/rpc/v21/ReachPlanService/ListPlannableUserInterests) | New method | Allows discovering plannable affinities and in-market interests for [`generateReachForecast`](https://developers.google.com/google-ads/api/reference/rpc/v21/ReachPlanService/GenerateReachForecast). |
| [`AdditionalApplicationInfo`](https://developers.google.com/google-ads/api/reference/rpc/v21/AdditionalApplicationInfo) | New field | Added as an optional input in [`ReachPlanService.ListPlannableUserLists`](https://developers.google.com/google-ads/api/reference/rpc/v21/ReachPlanService/ListPlannableUserLists). |
| AudienceInsights attributes listing | New feature | [`AudienceInsightsService.ListAudienceInsightsAttributes`](https://developers.google.com/google-ads/api/reference/rpc/v21/AudienceInsightsService/ListAudienceInsightsAttributes) now fetches available 1P user lists. |
| AudienceCompositionInsights targeting CRM lists | New feature | [`AudienceInsightsService.GenerateAudienceCompositionInsights`](https://developers.google.com/google-ads/api/reference/rpc/v21/AudienceInsightsService/GenerateAudienceCompositionInsights) now returns user list index details for [`AudienceInsightsDimension`](https://developers.google.com/google-ads/api/reference/rpc/v21/AudienceInsightsDimensionEnum.AudienceInsightsDimension) dimensions: `AGE_RANGE`, `GENDER`, `AFFINITY_USER_INTEREST`, and `IN_MARKET_USER_INTEREST`. |
| [`TrendInsightMetrics`](https://developers.google.com/google-ads/api/reference/rpc/v21/TrendInsightMetrics) audience share | New field | Represents the share of an audience for a trend. |
| [`KnowledgeGraphAttributeMetadata`](https://developers.google.com/google-ads/api/reference/rpc/v21/KnowledgeGraphAttributeMetadata) categories | New fields | Filters Knowledge Graph attributes by matching categories. |
| Reports |||
| Asset views metrics | New features / metrics | Added multiple new metrics to [`AssetGroupAsset`](https://developers.google.com/google-ads/api/fields/v24/asset_group_asset), [`ChannelAggregateAssetView`](https://developers.google.com/google-ads/api/fields/v24/channel_aggregate_asset_view), and [`CampaignAggregateAssetView`](https://developers.google.com/google-ads/api/fields/v24/campaign_aggregate_asset_view). PMax campaigns also now report true values for `impressions`. |
| Selector extensions | New feature | Made [`AssetSet`](https://developers.google.com/google-ads/api/fields/v24/asset_set) and [`CampaignAssetSet`](https://developers.google.com/google-ads/api/fields/v24/campaign_asset_set) queryable together inside [`ChangeStatus`](https://developers.google.com/google-ads/api/fields/v24/change_status). |
| [`search_term_targeting_status`](https://developers.google.com/google-ads/api/fields/v24/segments#segments.search_term_targeting_status) | New segment | Selectable segment in the campaign search term view. |
| [`final_url_expansion_asset_view`](https://developers.google.com/google-ads/api/fields/v24/final_url_expansion_asset_view) | New reporting resource | Reports final URL expansion asset performance details. |
| AssetGroup value adjustments | New fields | Added support for `value_adjustment` and `all_value_adjustment` metrics in the `AssetGroup` report. |
| [`landing_page_source`](https://developers.google.com/google-ads/api/fields/v24/segments#segments.landing_page_source) | New segment | Provides a landing page source segment in [`landing_page_view`](https://developers.google.com/google-ads/api/fields/v24/landing_page_view). |
| [`search_term_match_source`](https://developers.google.com/google-ads/api/fields/v24/segments#segments.search_term_match_source) | New segment | Selectable segment in the search term and campaign search term views. |
| [`match_type`](https://developers.google.com/google-ads/api/fields/v24/segments#segments.match_type) | New segment | Selectable segment key in the keyword view. |
| Unique query intent clusters reporting | New fields | Added [`clicks_unique_query_clusters`](https://developers.google.com/google-ads/api/fields/v24/metrics#metrics.clicks_unique_query_clusters), [`conversions_unique_query_clusters`](https://developers.google.com/google-ads/api/fields/v24/metrics#metrics.conversions_unique_query_clusters), and [`impressions_unique_query_clusters`](https://developers.google.com/google-ads/api/fields/v24/metrics#metrics.impressions_unique_query_clusters) to report unique query intent clusters. |
| [`ClickType.VEHICLE_ASSETS`](https://developers.google.com/google-ads/api/reference/rpc/v21/ClickTypeEnum.ClickType#vehicle_assets) | New enum value | Track and report clicks related specifically to vehicle ad formats in the `click_view` report. |
| Smart Bidding Exploration |||
| tolerance configurations in Search strategies | New fields / settings | Allows enabling Smart Bidding Exploration on Search campaigns by setting `target_roas_tolerance_percent_millis` between 10,000 (10%) and 30,000 (30%) inclusive (Maximize Conversions requires `target_roas` setting). See our blog post on [Smart Bidding Exploration](https://blog.google/products/ads-commerce/smart-bidding-exploration-ai/) and help center [article](https://support.google.com/google-ads/answer/15489627). |
| diversity reporting compatibility | New feature | Aggregated [diversity reporting](https://support.google.com/google-ads/answer/16294226) 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` |
| Videos |||
| [`YouTubeVideoListAsset`](https://developers.google.com/google-ads/api/reference/rpc/v21/YouTubeVideoListAsset) | New resource / field | Allows establishing links between campaigns and video list assets using [`Asset.youtube_video_list_asset`](https://developers.google.com/google-ads/api/reference/rpc/v21/Asset#youtube_video_list_asset). See [Use related videos](https://support.google.com/google-ads/answer/10464812). |
| Insights metadata extensions | New fields | Added new metadata to [`YouTubeChannelInsights`](https://developers.google.com/google-ads/api/reference/rpc/v23/YouTubeChannelInsights) and [`YouTubeVideoAttributeMetadata`](https://developers.google.com/google-ads/api/reference/rpc/v21/YouTubeVideoAttributeMetadata). |
| Interactive click types | New enum values | Added click types: [`VIDEO_RELATED_VIDEOS_CLICK`](https://developers.google.com/google-ads/api/reference/rpc/v21/ClickTypeEnum.ClickType#video_related_videos_click), [`VIDEO_CHANNEL_CLICK`](https://developers.google.com/google-ads/api/reference/rpc/v21/ClickTypeEnum.ClickType#video_channel_click), and [`PRODUCT_ASSETS`](https://developers.google.com/google-ads/api/reference/rpc/v21/ClickTypeEnum.ClickType#product_assets). |
| [`VideoAdInventoryControl.allow_non_skippable_in_stream`](https://developers.google.com/google-ads/api/reference/rpc/v21/Campaign.VideoCampaignSettings.VideoAdInventoryControl) | New field | Lets Video Responsive ads serve as non-skippable in-stream ads for campaigns mixing skip and non-skip formats. |
| Video sequencing settings | New fields | Added read-only sequencing configurations: [`Campaign.VideoCampaignSettings.video_ad_sequence`](https://developers.google.com/google-ads/api/reference/rpc/v21/Campaign.VideoCampaignSettings#video_ad_sequence) and [`VideoAdSequenceStepSetting`](https://developers.google.com/google-ads/api/reference/rpc/v21/AdGroup.VideoAdGroupSettings.VideoAdSequenceStepSetting). See [About video ad sequencing](https://support.google.com/google-ads/answer/9161595). |
| Video lineup targeting | New criterion type / field | Added `VIDEO_LINEUP` criterion type and corresponding field in [`CampaignCriterion`](https://developers.google.com/google-ads/api/reference/rpc/v21/CampaignCriterion) and [`AdGroupCriterion`](https://developers.google.com/google-ads/api/reference/rpc/v23/AdGroupCriterion). This feature is only available to accounts on the allowlist. |
| Content suitability placements views | New reporting resources | Added a Content Suitability report for both detail ([`detail_content_suitability_placement_view`](https://developers.google.com/google-ads/api/fields/v24/detail_content_suitability_placement_view)) and group ([`group_content_suitability_placement_view`](https://developers.google.com/google-ads/api/fields/v24/group_content_suitability_placement_view)) levels. See [About the 'Content suitability' report](https://support.google.com/google-ads/answer/16105206). |

## Archived release notes

See [Sunsetted versions](https://developers.google.com/google-ads/api/docs/archived-release-notes) for archived release notes.