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 the Google 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 you always upgrade to the newest version.

Check out our deprecation schedule to plan your upgrades. See our versioning guide to learn how versioning 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 your client libraries to use the newest endpoint.
  2. Go through the release notes to see changes that were introduced in each release.
  3. Check out the key changes lists, like Key changes from v21 to v22 , for specific areas to focus on for the version to which you are upgrading.
  4. Check out the proto difference tables, like Proto differences between v21 and v22.

v21 to v22

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

Key changes from v21 to v22

  • Renamed the field BudgetPerDayMinimumErrorDetails.minimum_bugdet_amount_micros to minimum_budget_amount_micros.

  • New limits are enforced for batch jobs.

    • Added a limit of 10,000 operations per AddBatchJobOperations request.
    • Updated handling for the page_size field in ListBatchJobResultsRequest:
      • If page_size is not set or is 0, it now defaults to the maximum of 1,000 (previously returned INVALID_PAGE_SIZE).
      • If page_size exceeds 1,000, the API now returns an INVALID_PAGE_SIZE error (previously silently capped at 1,000).
  • Removed AssetPerformanceLabel for Performance Max campaigns.

  • The functionality of the removed Campaign.url_expansion_opt_out is now managed by setting the AssetAutomationType FINAL_URL_EXPANSION_TEXT_ASSET_AUTOMATION in AssetAutomationSetting.

  • In ReachPlanService, added the field trueview_views, which replaces the views field.

  • Renamed several video-views related metrics:

    • average_cpv is now trueview_average_cpv
    • video_view_rate is now video_trueview_view_rate
    • video_views is now video_trueview_views
    • video_view_rate_in_feed is now video_trueview_view_rate_in_feed
    • video_view_rate_in_stream is now video_trueview_view_rate_in_stream
    • video_view_rate_shorts is now video_trueview_view_rate_shorts

Proto differences between v21 and v22

This table shows the protos that were added, removed, and changed in the Google Ads API v22 release. You can click the links to view the protos in our GitHub repository after they're released. You can view quick and full-context diffs in the Changed 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)
v21 v22 Diffs
/common/audience_insights_attribute.proto /common/audience_insights_attribute.proto Quick | Full
/common/bidding.proto /common/bidding.proto Quick | Full
/common/metrics.proto /common/metrics.proto Quick | Full
/common/segments.proto /common/segments.proto Quick | Full
/enums/app_campaign_bidding_strategy_goal_type.proto /enums/app_campaign_bidding_strategy_goal_type.proto Quick | Full
/enums/asset_automation_type.proto /enums/asset_automation_type.proto Quick | Full
/enums/asset_field_type.proto /enums/asset_field_type.proto Quick | Full
/enums/bidding_strategy_type.proto /enums/bidding_strategy_type.proto Quick | Full
/enums/click_type.proto /enums/click_type.proto Quick | Full
/enums/user_list_crm_data_source_type.proto /enums/user_list_crm_data_source_type.proto Quick | Full
/errors/criterion_error.proto /errors/criterion_error.proto Quick | Full
/errors/errors.proto /errors/errors.proto Quick | Full
/errors/quota_error.proto /errors/quota_error.proto Quick | Full
/errors/user_list_error.proto /errors/user_list_error.proto Quick | Full
/googleads_grpc_service_config.proto /googleads_grpc_service_config.proto Quick | Full
/resources/ad_group.proto /resources/ad_group.proto Quick | Full
/resources/asset_group_asset.proto /resources/asset_group_asset.proto Quick | Full
/resources/campaign.proto /resources/campaign.proto Quick | Full
/services/audience_insights_service.proto /services/audience_insights_service.proto Quick | Full
/services/content_creator_insights_service.proto /services/content_creator_insights_service.proto Quick | Full
/services/google_ads_service.proto /services/google_ads_service.proto Quick | Full
/services/reach_plan_service.proto /services/reach_plan_service.proto Quick | Full

v20 to v21

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

Key changes from v20 to v21

Changes to services and their components
ConversionUploadService The debug_enabled field was removed from UploadClickConversionsRequest. Refer to our announcement for more details.

Proto differences between v20 and v21

This table shows the protos that were added, removed, and changed in the Google Ads API v21 release. You can click the links to view the protos in our GitHub repository after they're released. You can view quick and full-context diffs in the Changed 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)
v20 v21 Diffs
/common/asset_types.proto /common/asset_types.proto Quick | Full
/common/audience_insights_attribute.proto /common/audience_insights_attribute.proto Quick | Full
/common/bidding.proto /common/bidding.proto Quick | Full
/common/criteria.proto /common/criteria.proto Quick | Full
/common/metrics.proto /common/metrics.proto Quick | Full
/common/segments.proto /common/segments.proto Quick | Full
/enums/asset_automation_type.proto /enums/asset_automation_type.proto Quick | Full
/enums/asset_field_type.proto /enums/asset_field_type.proto Quick | Full
/enums/asset_type.proto /enums/asset_type.proto Quick | Full
/enums/audience_insights_dimension.proto /enums/audience_insights_dimension.proto Quick | Full
/enums/campaign_primary_status_reason.proto /enums/campaign_primary_status_reason.proto Quick | Full
/enums/click_type.proto /enums/click_type.proto Quick | Full
/enums/conversion_attribution_event_type.proto /enums/conversion_attribution_event_type.proto Quick | Full
/enums/criterion_type.proto /enums/criterion_type.proto Quick | Full
/enums/resource_limit_type.proto /enums/resource_limit_type.proto Quick | Full
/enums/search_term_match_type.proto /enums/search_term_match_type.proto Quick | Full
/enums/served_asset_field_type.proto /enums/served_asset_field_type.proto Quick | Full
/errors/ad_error.proto /errors/ad_error.proto Quick | Full
/errors/ad_group_error.proto /errors/ad_group_error.proto Quick | Full
/errors/asset_error.proto /errors/asset_error.proto Quick | Full
/errors/bidding_error.proto /errors/bidding_error.proto Quick | Full
/errors/campaign_budget_error.proto /errors/campaign_budget_error.proto Quick | Full
/errors/campaign_error.proto /errors/campaign_error.proto Quick | Full
/errors/criterion_error.proto /errors/criterion_error.proto Quick | Full
/errors/errors.proto /errors/errors.proto Quick | Full
/googleads_grpc_service_config.proto /googleads_grpc_service_config.proto Quick | Full
/resources/ad_group_criterion.proto /resources/ad_group_criterion.proto Quick | Full
/resources/ad_group.proto /resources/ad_group.proto Quick | Full
/resources/asset.proto /resources/asset.proto Quick | Full
/resources/campaign_criterion.proto /resources/campaign_criterion.proto Quick | Full
/resources/campaign.proto /resources/campaign.proto Quick | Full
/resources/change_status.proto /resources/change_status.proto Quick | Full
/resources/customer_negative_criterion.proto /resources/customer_negative_criterion.proto Quick | Full
/resources/customer.proto /resources/customer.proto Quick | Full
/services/audience_insights_service.proto /services/audience_insights_service.proto Quick | Full
/services/content_creator_insights_service.proto /services/content_creator_insights_service.proto Quick | Full
/services/conversion_upload_service.proto /services/conversion_upload_service.proto Quick | Full
/services/google_ads_service.proto /services/google_ads_service.proto Quick | Full
/services/reach_plan_service.proto /services/reach_plan_service.proto Quick | Full

v19 to v20

The following sections describe key changes and proto differences for upgrading from v19 to v20.

Key changes from v19 to v20

Changes to services and their components
ContentCreatorInsightsService, AudienceInsightsService Added AudienceInsightsDimension.YOUTUBE_LINEUP to replace AudienceInsightsDimension.YOUTUBE_DYNAMIC_LINEUP. This change also affects related types such as AudienceInsightsAttributeMetadata and AudienceInsightsDimension. Refer to the diff table for more details.

Proto differences between v19 and v20

This table shows the protos that were added, removed, and changed in the Google Ads API v20 release. You can click the links to view the protos in our GitHub repository after they're released. You can view quick and full-context diffs in the Changed tab.

Removed (0)
Changed (19)
v19 v20 Diffs
/common/audience_insights_attribute.proto /common/audience_insights_attribute.proto Quick | Full
/common/criteria.proto /common/criteria.proto Quick | Full
/common/metrics.proto /common/metrics.proto Quick | Full
/enums/ad_format_type.proto /enums/ad_format_type.proto Quick | Full
/enums/ad_network_type.proto /enums/ad_network_type.proto Quick | Full
/enums/audience_insights_dimension.proto /enums/audience_insights_dimension.proto Quick | Full
/enums/criterion_type.proto /enums/criterion_type.proto Quick | Full
/enums/shared_set_type.proto /enums/shared_set_type.proto Quick | Full
/errors/errors.proto /errors/errors.proto Quick | Full
/errors/recommendation_error.proto /errors/recommendation_error.proto Quick | Full
/resources/campaign_criterion.proto /resources/campaign_criterion.proto Quick | Full
/resources/campaign.proto /resources/campaign.proto Quick | Full
/resources/customer.proto /resources/customer.proto Quick | Full
/resources/shared_criterion.proto /resources/shared_criterion.proto Quick | Full
/services/audience_insights_service.proto /services/audience_insights_service.proto Quick | Full
/services/content_creator_insights_service.proto /services/content_creator_insights_service.proto Quick | Full
/services/conversion_upload_service.proto /services/conversion_upload_service.proto Quick | Full
/services/reach_plan_service.proto /services/reach_plan_service.proto Quick | Full
/services/recommendation_service.proto /services/recommendation_service.proto Quick | Full

v18 to v19

The following sections describe key changes and proto differences for upgrading from v18 to v19.

Key changes from v18 to v19

Changes to services and their components
API-wide

All feed-related entities are removed from the API. Feeds have been deprecated for some time, replaced with assets.

Removed entities and their associated services:

  • AdGroupExtensionSetting
  • AdGroupFeed
  • CampaignExtensionSetting
  • CampaignFeed
  • CustomerExtensionSetting
  • CustomerFeed
  • ExtensionFeedItem
  • Feed
  • FeedItem
  • FeedItemSet
  • FeedItemSetLink
  • FeedItemTarget
  • FeedMapping

Removed enums:

  • FeedOrigin
  • PlaceholderType

Removed fields:

  • ChangeEvent.{feed,feed_item,feed_origin}
  • ChangeEvent.ChangedResource.{feed,feed_item,campaign_feed,ad_group_feed}
  • ChangeStatus.{feed,feed_item,ad_group_feed,campaign_feed,feed_origin}
  • Campaign.DynamicSearchAdsSetting.feeds
  • LocationGroupInfo.feed
  • Segments.placeholder_type

Removed views:

  • FeedPlaceholderView
AudienceInsightsService Submessage types AudienceInsightsAttribute, AudienceInsightsTopic, AudienceInsightsEntity, AudienceInsightsCategory, AudienceInsightsDynamicLineup, AudienceInsightsAttributeMetadata, YouTubeChannelAttributeMetadata, DynamicLineupAttributeMetadata, LocationAttributeMetadata, and UserInterestAttributeMetadata have been migrated out of the "resources" folder into the "common" folder so that they can be reused with the ContentCreatorInsightsService. These types work the same way, but you may need to import them from a different location, depending on your implementation.
AdGroupType, AdType, and AdvertisingChannelSubType The VIDEO_OUTSTREAM ad type has been removed.
DemandGenVideoResponsiveAdInfo When specifying the Campaign.asset_automation_settings or AdGroupAd.ad_group_ad_asset_automation_settings, omitting a setting for AssetAutomationType.GENERATE_SHORTER_YOUTUBE_VIDEOS for the DemandGenVideoResponsiveAdInfo ad type will result in being opted in for this feature. Previously, when omitting this setting, they were opted out.

Proto differences between v18 and v19

This table shows the protos that were added, removed, and changed in the Google Ads API v19 release. You can click the links to view the protos in our GitHub repository after they're released. You can view quick and full-context diffs in the Changed tab.

Added (17)
v19/enums/ad_strength_action_item_type.proto
v19/enums/asset_coverage_video_aspect_ratio_requirement.proto
v19/enums/business_message_call_to_action_type.proto
v19/enums/business_message_provider.proto
v19/enums/conversion_customer_type.proto
v19/enums/demand_gen_channel_config.proto
v19/enums/demand_gen_channel_strategy.proto
v19/enums/eu_political_advertising_status.proto
v19/enums/insights_knowledge_graph_entity_capabilities.proto
v19/enums/insights_trend.proto
v19/enums/local_services_lead_credit_issuance_decision.proto
v19/enums/local_services_lead_survey_answer.proto
v19/enums/local_services_lead_survey_dissatisfied_reason.proto
v19/enums/local_services_lead_survey_satisfied_reason.proto
v19/enums/reach_plan_conversion_rate_model.proto
v19/errors/brand_guidelines_migration_error.proto
v19/errors/data_link_error.proto
Removed (74)
v18/common/feed_item_set_filter_type_infos.proto
v18/common/matching_function.proto
v18/enums/ad_customizer_placeholder_field.proto
v18/enums/affiliate_location_feed_relationship_type.proto
v18/enums/affiliate_location_placeholder_field.proto
v18/enums/app_placeholder_field.proto
v18/enums/app_store.proto
v18/enums/callout_placeholder_field.proto
v18/enums/call_placeholder_field.proto
v18/enums/custom_placeholder_field.proto
v18/enums/dsa_page_feed_criterion_field.proto
v18/enums/education_placeholder_field.proto
v18/enums/extension_setting_device.proto
v18/enums/extension_type.proto
v18/enums/feed_attribute_type.proto
v18/enums/feed_item_quality_approval_status.proto
v18/enums/feed_item_quality_disapproval_reason.proto
v18/enums/feed_item_set_status.proto
v18/enums/feed_item_set_string_filter_type.proto
v18/enums/feed_item_status.proto
v18/enums/feed_item_target_device.proto
v18/enums/feed_item_target_status.proto
v18/enums/feed_item_target_type.proto
v18/enums/feed_item_validation_status.proto
v18/enums/feed_link_status.proto
v18/enums/feed_mapping_criterion_type.proto
v18/enums/feed_mapping_status.proto
v18/enums/feed_origin.proto
v18/enums/feed_status.proto
v18/enums/flight_placeholder_field.proto
v18/enums/geo_targeting_restriction.proto
v18/enums/hotel_placeholder_field.proto
v18/enums/image_placeholder_field.proto
v18/enums/job_placeholder_field.proto
v18/enums/local_placeholder_field.proto
v18/enums/location_extension_targeting_criterion_field.proto
v18/enums/location_placeholder_field.proto
v18/enums/matching_function_context_type.proto
v18/enums/matching_function_operator.proto
v18/enums/message_placeholder_field.proto
v18/enums/placeholder_type.proto
v18/enums/price_placeholder_field.proto
v18/enums/promotion_placeholder_field.proto
v18/enums/real_estate_placeholder_field.proto
v18/enums/sitelink_placeholder_field.proto
v18/enums/structured_snippet_placeholder_field.proto
v18/enums/travel_placeholder_field.proto
v18/resources/ad_group_extension_setting.proto
v18/resources/ad_group_feed.proto
v18/resources/campaign_extension_setting.proto
v18/resources/campaign_feed.proto
v18/resources/customer_extension_setting.proto
v18/resources/customer_feed.proto
v18/resources/extension_feed_item.proto
v18/resources/feed_item.proto
v18/resources/feed_item_set_link.proto
v18/resources/feed_item_set.proto
v18/resources/feed_item_target.proto
v18/resources/feed_mapping.proto
v18/resources/feed_placeholder_view.proto
v18/resources/feed.proto
v18/services/ad_group_extension_setting_service.proto
v18/services/ad_group_feed_service.proto
v18/services/campaign_extension_setting_service.proto
v18/services/campaign_feed_service.proto
v18/services/customer_extension_setting_service.proto
v18/services/customer_feed_service.proto
v18/services/extension_feed_item_service.proto
v18/services/feed_item_service.proto
v18/services/feed_item_set_link_service.proto
v18/services/feed_item_set_service.proto
v18/services/feed_item_target_service.proto
v18/services/feed_mapping_service.proto
v18/services/feed_service.proto
Changed (49)
v18 v19 Diffs
/common/ad_asset.proto /common/ad_asset.proto Quick | Full
/common/ad_type_infos.proto /common/ad_type_infos.proto Quick | Full
/common/asset_types.proto /common/asset_types.proto Quick | Full
/common/audience_insights_attribute.proto /common/audience_insights_attribute.proto Quick | Full
/common/criteria.proto /common/criteria.proto Quick | Full
/common/extensions.proto /common/extensions.proto Quick | Full
/common/metrics.proto /common/metrics.proto Quick | Full
/common/segments.proto /common/segments.proto Quick | Full
/enums/ad_group_type.proto /enums/ad_group_type.proto Quick | Full
/enums/ad_type.proto /enums/ad_type.proto Quick | Full
/enums/advertising_channel_sub_type.proto /enums/advertising_channel_sub_type.proto Quick | Full
/enums/asset_automation_type.proto /enums/asset_automation_type.proto Quick | Full
/enums/asset_field_type.proto /enums/asset_field_type.proto Quick | Full
/enums/asset_type.proto /enums/asset_type.proto Quick | Full
/enums/audience_insights_dimension.proto /enums/audience_insights_dimension.proto Quick | Full
/enums/change_status_resource_type.proto /enums/change_status_resource_type.proto Quick | Full
/enums/conversion_action_type.proto /enums/conversion_action_type.proto Quick | Full
/enums/reach_plan_surface.proto /enums/reach_plan_surface.proto Quick | Full
/enums/resource_limit_type.proto /enums/resource_limit_type.proto Quick | Full
/enums/target_frequency_time_unit.proto /enums/target_frequency_time_unit.proto Quick | Full
/errors/asset_error.proto /errors/asset_error.proto Quick | Full
/errors/authentication_error.proto /errors/authentication_error.proto Quick | Full
/errors/batch_job_error.proto /errors/batch_job_error.proto Quick | Full
/errors/campaign_error.proto /errors/campaign_error.proto Quick | Full
/errors/criterion_error.proto /errors/criterion_error.proto Quick | Full
/errors/customer_error.proto /errors/customer_error.proto Quick | Full
/errors/errors.proto /errors/errors.proto Quick | Full
/errors/experiment_error.proto /errors/experiment_error.proto Quick | Full
/errors/url_field_error.proto /errors/url_field_error.proto Quick | Full
/googleads_grpc_service_config.proto /googleads_grpc_service_config.proto Quick | Full
/resources/ad_group.proto /resources/ad_group.proto Quick | Full
/resources/asset_group.proto /resources/asset_group.proto Quick | Full
/resources/asset.proto /resources/asset.proto Quick | Full
/resources/campaign.proto /resources/campaign.proto Quick | Full
/resources/change_event.proto /resources/change_event.proto Quick | Full
/resources/change_status.proto /resources/change_status.proto Quick | Full
/resources/conversion_value_rule.proto /resources/conversion_value_rule.proto Quick | Full
/resources/customer_lifecycle_goal.proto /resources/customer_lifecycle_goal.proto Quick | Full
/resources/customer.proto /resources/customer.proto Quick | Full
/resources/local_services_lead.proto /resources/local_services_lead.proto Quick | Full
/resources/recommendation.proto /resources/recommendation.proto Quick | Full
/services/audience_insights_service.proto /services/audience_insights_service.proto Quick | Full
/services/campaign_service.proto /services/campaign_service.proto Quick | Full
/services/content_creator_insights_service.proto /services/content_creator_insights_service.proto Quick | Full
/services/conversion_upload_service.proto /services/conversion_upload_service.proto Quick | Full
/services/data_link_service.proto /services/data_link_service.proto Quick | Full
/services/google_ads_service.proto /services/google_ads_service.proto Quick | Full
/services/local_services_lead_service.proto /services/local_services_lead_service.proto Quick | Full
/services/reach_plan_service.proto /services/reach_plan_service.proto Quick | Full