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:
- Your endpoint will change when you change major versions. Update your client libraries to use the newest endpoint.
- Go through the release notes to see changes that were introduced in each release.
- Check out the tables below for specific areas to focus on for the version you're upgrading to.
For a comprehensive overview of changes based on a diff between the protos from the two versions, look at the diff table. The release notes provide details on features that changed during versions.
v21 to v22
- Renamed the field - BudgetPerDayMinimumErrorDetails.minimum_bugdet_amount_microsto- minimum_budget_amount_micros.
- New limits are enforced for batch jobs. - Added a limit of 10,000 operations per AddBatchJobOperationsrequest.
- Updated handling for the page_sizefield inListBatchJobResultsRequest:- If page_sizeis not set or is 0, it now defaults to the maximum of 1,000 (previously returnedINVALID_PAGE_SIZE).
- If page_sizeexceeds 1,000, the API now returns anINVALID_PAGE_SIZEerror (previously silently capped at 1,000).
 
- If 
 
- Added a limit of 10,000 operations per 
- Removed - AssetPerformanceLabelfor Performance Max campaigns.
- The functionality of the removed - Campaign.url_expansion_opt_outis now managed by setting the- AssetAutomationType- FINAL_URL_EXPANSION_TEXT_ASSET_AUTOMATIONin- AssetAutomationSetting.
- In - ReachPlanService, added the field- trueview_views, which replaces the- viewsfield.
- Renamed several video-views related metrics: - average_cpvis now- trueview_average_cpv
- video_view_rateis now- video_trueview_view_rate
- video_viewsis now- video_trueview_views
- video_view_rate_in_feedis now- video_trueview_view_rate_in_feed
- video_view_rate_in_streamis now- video_trueview_view_rate_in_stream
- video_view_rate_shortsis now- video_trueview_view_rate_shorts
 
v20 to v21
| Changes to services and their components | |
|---|---|
| ConversionUploadService | The debug_enabledfield was removed fromUploadClickConversionsRequest.
  Refer to our
announcement
  for more details. | 
v19 to v20
| Changes to services and their components | |
|---|---|
| ContentCreatorInsightsService,AudienceInsightsService | Added AudienceInsightsDimension.YOUTUBE_LINEUPto replaceAudienceInsightsDimension.YOUTUBE_DYNAMIC_LINEUP. This change
    also affects related types such asAudienceInsightsAttributeMetadataandAudienceInsightsDimension. Refer to the
   diff table for more details. | 
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: 
 Removed enums: 
 Removed fields: 
 Removed views: 
 | 
| AudienceInsightsService | Submessage types AudienceInsightsAttribute,AudienceInsightsTopic,AudienceInsightsEntity,AudienceInsightsCategory,AudienceInsightsDynamicLineup,AudienceInsightsAttributeMetadata,YouTubeChannelAttributeMetadata,DynamicLineupAttributeMetadata,LocationAttributeMetadata, andUserInterestAttributeMetadatahave been migrated out of the
"resources" folder into the "common" folder so that they can be reused with theContentCreatorInsightsService. These types work the same way, but
you may need to import them from a different location, depending on your
implementation. | 
| AdGroupType,AdType, andAdvertisingChannelSubType | The VIDEO_OUTSTREAMad type has been removed. | 
| DemandGenVideoResponsiveAdInfo | When specifying the Campaign.asset_automation_settingsorAdGroupAd.ad_group_ad_asset_automation_settings, omitting a
setting forAssetAutomationType.GENERATE_SHORTER_YOUTUBE_VIDEOSfor theDemandGenVideoResponsiveAdInfoad type will result in being
opted in for this feature. Previously, when omitting this setting, they were
opted out. |