Upgrade to the latest version

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 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.

v17 to v18

Changes to services and their components
GoogleAdsService Search and SearchStream requests

The error when your request is throttled because it is too expensive will be either QuotaError.EXCESSIVE_SHORT_TERM_QUERY_RESOURCE_CONSUMPTION or QuotaError.EXCESSIVE_LONG_TERM_QUERY_RESOURCE_CONSUMPTION instead of QuotaError.RESOURCE_EXHAUSTED. See the blog post for more details.

GoogleAdsService The summary_row_setting and return_total_results_count fields in SearchGoogleAdsRequest are now part of the new SearchSettings object.
AssetType The DISCOVERY_CAROUSEL_CARD enum value has been renamed to DEMAND_GEN_CAROUSEL_CARD. This is in line with a previous change to rename discovery campaigns to demand gen campaigns.
AudienceInsightsService.GenerateSuggestedTargetingInsights The audience, baseline_audience, and data_month fields have been moved within the audience_definition field.
DemandGenCampaignSettings The default value for the upgraded_targeting field is now true instead of false.
LocalServicesLeadConversation The phone_call_details.call_recording_url field will no longer be populated for static calls.

v16 to v17

Changes to services and their components
GoogleAdsService Search and SearchStream requests

Your request may be throttled if the query is too expensive. If it is, you will get a QuotaError.RESOURCE_EXHAUSTED error. See the blog post for more details.

GoogleAdsService Search requests.

Passing a page_size to GoogleAdsService.Search will result in a RequestError.PAGE_SIZE_NOT_SUPPORTED error.

Campaign and Ad

Campaigns with an AdvertisingChannelType of DISCOVERY will now have an AdvertisingChannelType of DEMAND_GEN instead.

Additionally, some ads will change type and field names for reporting:

  • DISCOVERY_MULTI_ASSET_ADD will become DEMAND_GEN_MULTI_ASSET_ADD and the corresponding reporting field ad_group_ad.ad.discovery_multi_asset_ad will become ad_group_ad.ad.demand_gen_multi_asset_ad
  • DISCOVERY_CAROUSEL_AD will become DEMAND_GEN_CAROUSEL_AD and the corresponding reporting field ad_group_ad.ad.discovery_carousel_ad will become ad_group_ad.ad.demand_gen_carousel_ad
  • DISCOVERY_VIDEO_RESPONSIVE_AD will become DEMAND_GEN_VIDEO_RESPONSIVE_AD and the corresponding reporting field ad_group_ad.ad.discovery_video_responsive_ad will become ad_group_ad.ad.demand_gen_video_responsive_ad
AdService The GetAd endpoint will be removed. This brings the AdService in line with other services in the Google Ads API. See our guide on retrieving objects for the recommended way to fetch ads and other resource types.
CustomerLifecycleGoal and CampaignLifecycleGoal The way you manage segments for lifecycles goals is reworked. See the segment your audiences section of the lifecycle goals documentation for a complete overview.
ProductLink When running a GoogleAdsService search or search stream request for product_link, you can now only select fields related to one linked product. Selecting multiple fields from different linked products will result in a QuotaError.PROHIBITED_FIELD_COMBINATION_IN_SELECT_CLAUSE error.
Reporting Renamed the metrics.sk_ad_network_conversion_value field to metrics.sk_ad_network_fine_conversion_value.