Upgrade your API version

  • Periodically upgrading to the newest major version of the Google Ads API is recommended, especially if a version is sunsetting or to use new features.

  • To get started with an upgrade, update your client libraries to use the newest endpoint, review release notes for changes, and check tables for version-specific focus areas.

  • The provided content includes specific changes for upgrading from v21 to v22, v20 to v21, v19 to v20, and v18 to v19, detailing renamed fields, new limits, removed elements, and service/component changes.

  • Upgrading from v18 to v19 is specifically highlighted as v18 is sunset, requiring immediate action.

Periodically, you might want to upgrade from an older major version of theGoogle Ads API to a newer major version. It could be because a version is sunsetting,or it could be because you want to use a new feature. We recommend that youalways upgrade to the newest version.

Check out ourdeprecation schedule to plan yourupgrades. See ourversioning guide to learn howversioning works.

Here's a checklist to help you get started with the process of upgrading:

  1. Your endpoint will change when you change major versions. Update yourclient libraries to use the newest endpoint.
  2. Go through therelease notes to see changes thatwere introduced in each release.
  3. Check out the key changes lists, likeKey changes from v22 to v23,for specific areas to focus on for the version to which you are upgrading.
  4. Check out the proto difference tables, likeProto differences between v22 and v23.

v22 to v23

The following sections describe key changes and proto differences for upgradingfrom v22 to v23.

Key changes from v22 to v23

  • AddedIncentiveService to allow partnersto programmatically fetch and apply Google Ads incentives for their customers.
  • Sharing ads among multiple ad groups is no longer allowed. Attempting to doso returnsAD_SHARING_NOT_ALLOWED.
  • Deprecated create and update operations forCallAd andCallAdInfo.
  • Added read-only fieldorientation toimage and video assets inAsset.
  • Added support to retrieveCampaignAssetwith afield_type ofHEADLINE andDESCRIPTION.
  • InInvoiceService.ListInvoices, youcan now request granular details, including campaign-level cost breakdown, bysettinginclude_granular_level_invoice_details inListInvoicesRequest.
  • AddedCampaign.start_date_timeandCampaign.end_date_time to replaceCampaign.start_date andCampaign.end_date, allowing you to specify timecomponents for certain campaign types.
  • In Demand Gen, added fieldDemandGenVideoResponsiveAdInfo.companion_bannerand removed fieldDemandGenMultiAssetAdInfo.lead_form_only.
  • Enabled ad network type breakdown for Performance Max campaigns.
  • AddedBenchmarksService to compareYouTube advertisement data against industry benchmarks.
  • AddedAudienceInsightsService.GenerateAudienceDefinitionto translate a free text description of a target audience into matching audienceattributes using generative AI.
  • Removed aggregate asset performance label metrics from reports. Theperformance label enum is no longer returned for Search and Display campaigns.
  • AddedPerStoreView to query store locationdetails andMatchedLocationInterestViewfor AI Max campaigns to view performance metrics broken down by geographiclocations users showed interest in.
  • ShoppingPerformanceView nowsupports metrics segmented by conversion date, and new competitive metrics:search_budget_lost_impression_share,search_rank_lost_impression_share,search_budget_lost_absolute_top_impression_share, andsearch_rank_lost_absolute_top_impression_share.
  • AddedShoppingProduct.product_image_uri.

Proto differences between v22 and v23

This table shows the protos that were added, removed, and changed in theGoogle Ads API v23 release. You can click the links to view the protos in ourGitHub repository

after they're released. You can view quick and full-context diffs in theChanged tab.

Added (14)
v23/enums/ad_sub_network_type.proto
v23/enums/asset_orientation.proto
v23/enums/benchmarks_marketing_objective.proto
v23/enums/benchmarks_source_type.proto
v23/enums/incentive_state.proto
v23/enums/regulatory_fee_type.proto
v23/enums/unit_of_measure.proto
v23/enums/vertical_ads_item_vertical_type.proto
v23/errors/benchmarks_error.proto
v23/errors/incentive_error.proto
v23/resources/applied_incentive.proto
v23/resources/matched_location_interest_view.proto
v23/services/benchmarks_service.proto
v23/services/incentive_service.proto
Removed (0)
Changed (42)
v22v23Diffs
/common/ad_asset.proto/common/ad_asset.protoQuick |Full
/common/ad_type_infos.proto/common/ad_type_infos.protoQuick |Full
/common/asset_types.proto/common/asset_types.protoQuick |Full
/common/criteria.proto/common/criteria.protoQuick |Full
/common/metrics.proto/common/metrics.protoQuick |Full
/common/segments.proto/common/segments.protoQuick |Full
/enums/ad_format_type.proto/enums/ad_format_type.protoQuick |Full
/enums/asset_field_type.proto/enums/asset_field_type.protoQuick |Full
/enums/asset_performance_label.proto/enums/asset_performance_label.protoQuick |Full
/enums/audience_insights_dimension.proto/enums/audience_insights_dimension.protoQuick |Full
/enums/audience_insights_marketing_objective.proto/enums/audience_insights_marketing_objective.protoQuick |Full
/enums/business_message_provider.proto/enums/business_message_provider.protoQuick |Full
/enums/criterion_type.proto/enums/criterion_type.protoQuick |Full
/enums/served_asset_field_type.proto/enums/served_asset_field_type.protoQuick |Full
/enums/shared_set_type.proto/enums/shared_set_type.protoQuick |Full
/errors/ad_group_ad_error.proto/errors/ad_group_ad_error.protoQuick |Full
/errors/ad_group_error.proto/errors/ad_group_error.protoQuick |Full
/errors/asset_error.proto/errors/asset_error.protoQuick |Full
/errors/authentication_error.proto/errors/authentication_error.protoQuick |Full
/errors/campaign_criterion_error.proto/errors/campaign_criterion_error.protoQuick |Full
/errors/campaign_error.proto/errors/campaign_error.protoQuick |Full
/errors/criterion_error.proto/errors/criterion_error.protoQuick |Full
/errors/date_error.proto/errors/date_error.protoQuick |Full
/errors/errors.proto/errors/errors.protoQuick |Full
/errors/query_error.proto/errors/query_error.protoQuick |Full
/googleads_grpc_service_config.proto/googleads_grpc_service_config.protoQuick |Full
/resources/ad_group_criterion.proto/resources/ad_group_criterion.protoQuick |Full
/resources/ad_group.proto/resources/ad_group.protoQuick |Full
/resources/asset.proto/resources/asset.protoQuick |Full
/resources/campaign.proto/resources/campaign.protoQuick |Full
/resources/customer.proto/resources/customer.protoQuick |Full
/resources/invoice.proto/resources/invoice.protoQuick |Full
/resources/per_store_view.proto/resources/per_store_view.protoQuick |Full
/resources/shared_criterion.proto/resources/shared_criterion.protoQuick |Full
/resources/shared_set.proto/resources/shared_set.protoQuick |Full
/resources/shopping_product.proto/resources/shopping_product.protoQuick |Full
/services/audience_insights_service.proto/services/audience_insights_service.protoQuick |Full
/services/content_creator_insights_service.proto/services/content_creator_insights_service.protoQuick |Full
/services/google_ads_service.proto/services/google_ads_service.protoQuick |Full
/services/invoice_service.proto/services/invoice_service.protoQuick |Full
/services/reach_plan_service.proto/services/reach_plan_service.protoQuick |Full
/services/recommendation_service.proto/services/recommendation_service.protoQuick |Full

v21 to v22

The following sections describe key changes and proto differences for upgradingfrom v21 to v22.

Key changes from v21 to v22

Proto differences between v21 and v22

This table shows the protos that were added, removed, and changed in theGoogle Ads API v22 release. You can click the links to view the protos in ourGitHub repositoryafter they're released. You can view quick and full-context diffs in theChanged tab.

Added (16)
v22/common/campaign_goal_settings.proto
v22/common/goal_common.proto
v22/common/goal_setting.proto
v22/enums/customer_lifecycle_optimization_mode.proto
v22/enums/goal_optimization_eligibility.proto
v22/enums/goal_type.proto
v22/enums/youtube_video_property.proto
v22/errors/asset_generation_error.proto
v22/errors/campaign_goal_config_error.proto
v22/errors/goal_error.proto
v22/resources/campaign_goal_config.proto
v22/resources/goal.proto
v22/resources/targeting_expansion_view.proto
v22/services/asset_generation_service.proto
v22/services/campaign_goal_config_service.proto
v22/services/goal_service.proto
Removed (0)
Changed (22)
v21v22Diffs
/common/audience_insights_attribute.proto/common/audience_insights_attribute.protoQuick |Full
/common/bidding.proto/common/bidding.protoQuick |Full
/common/metrics.proto/common/metrics.protoQuick |Full
/common/segments.proto/common/segments.protoQuick |Full
/enums/app_campaign_bidding_strategy_goal_type.proto/enums/app_campaign_bidding_strategy_goal_type.protoQuick |Full
/enums/asset_automation_type.proto/enums/asset_automation_type.protoQuick |Full
/enums/asset_field_type.proto/enums/asset_field_type.protoQuick |Full
/enums/bidding_strategy_type.proto/enums/bidding_strategy_type.protoQuick |Full
/enums/click_type.proto/enums/click_type.protoQuick |Full
/enums/user_list_crm_data_source_type.proto/enums/user_list_crm_data_source_type.protoQuick |Full
/errors/criterion_error.proto/errors/criterion_error.protoQuick |Full
/errors/errors.proto/errors/errors.protoQuick |Full
/errors/quota_error.proto/errors/quota_error.protoQuick |Full
/errors/user_list_error.proto/errors/user_list_error.protoQuick |Full
/googleads_grpc_service_config.proto/googleads_grpc_service_config.protoQuick |Full
/resources/ad_group.proto/resources/ad_group.protoQuick |Full
/resources/asset_group_asset.proto/resources/asset_group_asset.protoQuick |Full
/resources/campaign.proto/resources/campaign.protoQuick |Full
/services/audience_insights_service.proto/services/audience_insights_service.protoQuick |Full
/services/content_creator_insights_service.proto/services/content_creator_insights_service.protoQuick |Full
/services/google_ads_service.proto/services/google_ads_service.protoQuick |Full
/services/reach_plan_service.proto/services/reach_plan_service.protoQuick |Full

v20 to v21

The following sections describe key changes and proto differences for upgradingfrom v20 to v21.

Key changes from v20 to v21

Changes to services and their components
ConversionUploadServiceThedebug_enabled field was removed fromUploadClickConversionsRequest. Refer to ourannouncement for more details.

Proto differences between v20 and v21

This table shows the protos that were added, removed, and changed in theGoogle Ads API v21 release. You can click the links to view the protos in ourGitHub repositoryafter they're released. You can view quick and full-context diffs in theChanged tab.

Added (19)
v21/common/third_party_integration_partners.proto
v21/enums/landing_page_source.proto
v21/enums/match_type.proto
v21/enums/promotion_barcode_type.proto
v21/enums/search_term_match_source.proto
v21/enums/third_party_brand_lift_integration_partner.proto
v21/enums/third_party_brand_safety_integration_partner.proto
v21/enums/third_party_reach_integration_partner.proto
v21/enums/third_party_viewability_integration_partner.proto
v21/enums/video_ad_sequence_interaction_type.proto
v21/enums/video_ad_sequence_minimum_duration.proto
v21/errors/final_url_expansion_asset_view_error.proto
v21/resources/ai_max_search_term_ad_combination_view.proto
v21/resources/campaign_search_term_view.proto
v21/resources/detail_content_suitability_placement_view.proto
v21/resources/final_url_expansion_asset_view.proto
v21/resources/group_content_suitability_placement_view.proto
v21/resources/location_interest_view.proto
v21/services/automatically_created_asset_removal_service.proto
Removed (0)
Changed (39)
v20v21Diffs
/common/asset_types.proto/common/asset_types.protoQuick |Full
/common/audience_insights_attribute.proto/common/audience_insights_attribute.protoQuick |Full
/common/bidding.proto/common/bidding.protoQuick |Full
/common/criteria.proto/common/criteria.protoQuick |Full
/common/metrics.proto/common/metrics.protoQuick |Full
/common/segments.proto/common/segments.protoQuick |Full
/enums/asset_automation_type.proto/enums/asset_automation_type.protoQuick |Full
/enums/asset_field_type.proto/enums/asset_field_type.protoQuick |Full
/enums/asset_type.proto/enums/asset_type.protoQuick |Full
/enums/audience_insights_dimension.proto/enums/audience_insights_dimension.protoQuick |Full
/enums/campaign_primary_status_reason.proto/enums/campaign_primary_status_reason.protoQuick |Full
/enums/click_type.proto/enums/click_type.protoQuick |Full
/enums/conversion_attribution_event_type.proto/enums/conversion_attribution_event_type.protoQuick |Full
/enums/criterion_type.proto/enums/criterion_type.protoQuick |Full
/enums/resource_limit_type.proto/enums/resource_limit_type.protoQuick |Full
/enums/search_term_match_type.proto/enums/search_term_match_type.protoQuick |Full
/enums/served_asset_field_type.proto/enums/served_asset_field_type.protoQuick |Full
/errors/ad_error.proto/errors/ad_error.protoQuick |Full
/errors/ad_group_error.proto/errors/ad_group_error.protoQuick |Full
/errors/asset_error.proto/errors/asset_error.protoQuick |Full
/errors/bidding_error.proto/errors/bidding_error.protoQuick |Full
/errors/campaign_budget_error.proto/errors/campaign_budget_error.protoQuick |Full
/errors/campaign_error.proto/errors/campaign_error.protoQuick |Full
/errors/criterion_error.proto/errors/criterion_error.protoQuick |Full
/errors/errors.proto/errors/errors.protoQuick |Full
/googleads_grpc_service_config.proto/googleads_grpc_service_config.protoQuick |Full
/resources/ad_group_criterion.proto/resources/ad_group_criterion.protoQuick |Full
/resources/ad_group.proto/resources/ad_group.protoQuick |Full
/resources/asset.proto/resources/asset.protoQuick |Full
/resources/campaign_criterion.proto/resources/campaign_criterion.protoQuick |Full
/resources/campaign.proto/resources/campaign.protoQuick |Full
/resources/change_status.proto/resources/change_status.protoQuick |Full
/resources/customer_negative_criterion.proto/resources/customer_negative_criterion.protoQuick |Full
/resources/customer.proto/resources/customer.protoQuick |Full
/services/audience_insights_service.proto/services/audience_insights_service.protoQuick |Full
/services/content_creator_insights_service.proto/services/content_creator_insights_service.protoQuick |Full
/services/conversion_upload_service.proto/services/conversion_upload_service.protoQuick |Full
/services/google_ads_service.proto/services/google_ads_service.protoQuick |Full
/services/reach_plan_service.proto/services/reach_plan_service.protoQuick |Full

v19 to v20

The following sections describe key changes and proto differences for upgradingfrom v19 to v20. Note that v19 is now sunset.

Key changes from v19 to v20

Changes to services and their components
ContentCreatorInsightsService,AudienceInsightsServiceAddedAudienceInsightsDimension.YOUTUBE_LINEUP to replaceAudienceInsightsDimension.YOUTUBE_DYNAMIC_LINEUP. This change also affects related types such asAudienceInsightsAttributeMetadata andAudienceInsightsDimension. Refer to thediff table for more details.

Proto differences between v19 and v20

This table shows the protos that were added, removed, and changed in theGoogle Ads API v20 release. You can click the links to view the protos in ourGitHub repositoryafter they're released. You can view quick and full-context diffs in theChanged tab.

Added (7)
v20/common/additional_application_info.proto
v20/enums/application_instance.proto
v20/enums/non_skippable_max_duration.proto
v20/enums/non_skippable_min_duration.proto
v20/enums/reach_plan_plannable_user_list_status.proto
v20/enums/video_ad_format_restriction.proto
v20/errors/click_view_error.proto
Removed (0)
Changed (19)
v19v20Diffs
/common/audience_insights_attribute.proto/common/audience_insights_attribute.protoQuick |Full
/common/criteria.proto/common/criteria.protoQuick |Full
/common/metrics.proto/common/metrics.protoQuick |Full
/enums/ad_format_type.proto/enums/ad_format_type.protoQuick |Full
/enums/ad_network_type.proto/enums/ad_network_type.protoQuick |Full
/enums/audience_insights_dimension.proto/enums/audience_insights_dimension.protoQuick |Full
/enums/criterion_type.proto/enums/criterion_type.protoQuick |Full
/enums/shared_set_type.proto/enums/shared_set_type.protoQuick |Full
/errors/errors.proto/errors/errors.protoQuick |Full
/errors/recommendation_error.proto/errors/recommendation_error.protoQuick |Full
/resources/campaign_criterion.proto/resources/campaign_criterion.protoQuick |Full
/resources/campaign.proto/resources/campaign.protoQuick |Full
/resources/customer.proto/resources/customer.protoQuick |Full
/resources/shared_criterion.proto/resources/shared_criterion.protoQuick |Full
/services/audience_insights_service.proto/services/audience_insights_service.protoQuick |Full
/services/content_creator_insights_service.proto/services/content_creator_insights_service.protoQuick |Full
/services/conversion_upload_service.proto/services/conversion_upload_service.protoQuick |Full
/services/reach_plan_service.proto/services/reach_plan_service.protoQuick |Full
/services/recommendation_service.proto/services/recommendation_service.protoQuick |Full

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2026-01-28 UTC.