Google has released version 12.0 of the Google Ads API. Version 11.0 of the Google Ads API was released in June, and version 11.1 was in August. Version 12.0 is a major update.
Also Version 10.1 was released on April 27, 2022 and version 10.0 was released on February 9, 2022. And Google has sunset the AdWords API on April 27th which will completely stop working at the end of July.
Google published a video of the mahor changes in 12.0:
Here is everything announced in version 12.0:
Account Management
- Added a new account link type, ADVERTISING_PARTNER for linking a customer account to another one. This is preparation for an upcoming feature in a following release.
- Added AccountLinkError.PERMISSION_DENIED for the case where a non-admin user tries to create an account link.
Ads
- Removed support for creating a new Gmail ad. Use Discovery campaigns instead.
Assets
- Added support for retrieving CustomLeadFormSubmissionField through LeadFormSubmissionData using GoogleAdsService.SearchStream or GoogleAdsService.Search.
- Added support for adding, updating, and removing CampaignAsset and AdGroupAsset with the field_type as AD_IMAGE (for allowlisted customers only).
- You can retrieve stats for Image assets (asset_field_type_view.field_type = AD_IMAGE) using the asset_field_type_view report.
- The asset_set_asset report now supports metrics and segments.
- Added ad_group_ad_asset_view.pinned_field to allow filtering by a pinned asset.
- Added support for segment.conversion_action to the ad_group_ad_asset_view report.
- Added support for linking customers and ad groups with asset sets for test accounts only.
- CustomerAssetSetService for adding/updating/removing CustomerAssetSet, which represents a link between a Customer and an AssetSet.
- AdGroupAssetSetService for adding/updating/removing AdGroupAssetSet, which represents a link between an AdGroup and an AssetSet. Added support for mutating and fetching location assets for test accounts only.
- Fields:
- Added Asset.location_asset whose type is LocationAsset.
- Added the following fields to AssetSet:
- location_group_parent_asset_set_id
- asset_set_source (oneof field)
- location_set (use with CustomerAssetSet)
- business_profile_location_group (use with CampaignAssetSet and AdGroupAssetSet)
- chain_location_group (use with CampaignAssetSet and AdGroupAssetSet)
- Added excluded_parent_asset_set_types to Campaign and AdGroup.
- Enums:
- Added AssetType.LOCATION.
- Added the following values to AssetSetType:
- LOCATION_SYNC
- BUSINESS_PROFILE_DYNAMIC_LOCATION_GROUP
- CHAIN_DYNAMIC_LOCATION_GROUP
- STATIC_LOCATION_GROUP
- Reports (available for all accounts):
- per_store_view returns stats at the place ID level.
- asset_set_type_view returns stats at the AssetSetType level, which currently only supports location asset set.
Audiences
- Added the following values to OfflineUserDataJobFailureReason: HIGH_AVERAGE_TRANSACTION_VALUE, LOW_AVERAGE_TRANSACTION_VALUE, NEWLY_OBSERVED_CURRENCY_CODE
Bidding
- Added support for linked portfolio bidding strategies and campaign budget. Bidding strategies and campaign budgets can modify these links using bulk mutates:
- BiddingStrategy.aligned_campaign_budget_id
- CampaignBudget.aligned_bidding_strategy_id
Billing
- Added AccountSummary as Invoice.account_summaries[] for reporting reconciliation (for allowlisted customers only).
- Added BillingSetupError.TOO_MANY_BILLING_SETUPS_FOR_PAYMENTS_ACCOUNT.
- Added AccountBudgetProposalError.INVALID_MASTER_SERVICE_AGREEMENT.
Campaigns
- Changes in Smart campaigns:
- Updated SmartCampaignSuggestService.SuggestKeywordThemes to generate more keyword theme suggestions for Smart campaigns and can suggest free-form keyword themes in some cases.
- Improved error handling and added more user-facing error codes for SmartCampaignSuggestService.SuggestKeywordThemes.
- Removed support for creating new Smart Display campaigns. Existing Smart Display campaigns still serve as usual.
- OperationAccessDeniedError.CREATE_OPERATION_NOT_PERMITTED is thrown if you try to create a new Smart Display campaign.
- Added the following fields to Campaign:
- primary_status to provide insight into why a campaign is not serving or not serving optimally.
- primary_status_reasons to provide reasons into why a campaign is not serving or not serving optimally. These reasons are aggregated to determine primary_status.
- Enabled adding and removing location targeting to Local Services campaigns except for proximity targeting.
- Added the following errors to CampaignCriterionError for the Local service campaigns:
- AT_LEAST_ONE_POSITIVE_LOCATION_REQUIRED_FOR_LOCAL_SERVICES_CAMPAIGN
- CANNOT_ADD_OR_REMOVE_LOCATION_FOR_LOCAL_SERVICES_CAMPAIGN
- CANNOT_TARGET_COUNTRY_FOR_LOCAL_SERVICES_CAMPAIGN
- LOCATION_INVALID_FOR_LOCAL_SERVICES_CAMPAIGN
- LOCATION_NOT_IN_HOME_COUNTRY_FOR_LOCAL_SERVICES_CAMPAIGN
- LOCATION_NOT_LAUNCHED_FOR_LOCAL_SERVICES_CAMPAIGN
Conversions
- conversion_tracking_id will always be > 0 for all customers. Previously, this field could be 0 for customers who hadn't created any conversion actions before.
- Added debug_enabled for performing all checks and returning errors if found when uploading enhanced conversions.
Criteria
- Added the following asset set fields to LocationGroupInfo for test accounts:
- enable_customer_level_location_asset_set
- location_group_asset_sets
- Added the following values to CriterionError:
- CANNOT_SET_ASSET_SET_FIELD_FOR_CUSTOMER
- CANNOT_SET_ASSET_SETS_WITH_FEED_ITEM_SETS
- CANNOT_SET_BOTH_ASSET_SET_AND_FEED
- CANNOT_SET_FEED_OR_FEED_ITEM_SETS_FOR_CUSTOMER
- CANNOT_SET_GEO_TARGET_CONSTANTS_WITH_ASSET_SETS
- INVALID_LOCATION_GROUP_ASSET_SETS
Errors
- Error codes returned for some invalid operations have changed for the following fields.
- BiddingStrategy.currency_code
- BiddingStrategy.scheme
- BiddingStrategy.type
- TargetCpa.target_cpa_micros
- TargetImpressionShare.cpc_bid_ceiling_micros
- TargetSpend.target_spend_micros (deprecated)
Experiments
- Removed CampaignExperimentService in favor of the previously added new experiments. Renamed ExperimentArm.trial to ExperimentArm.experiment.
- When you create a new experiment arm using MutateExperimentArms and set response_content_type of your mutate request toMUTABLE_RESOURCE, it now also populates values in ExperimentArm.in_design_campaigns.
Feeds
- Added LEGACY_FEED_TYPE_READ_ONLY to the following enums: CampaignFeedError, FeedItemError, FeedMappingError
Planning
- AudienceInsightsService.ListAudienceInsightsAttributes now accepts AudienceInsightsDimension.GEO_TARGET_COUNTRY and AudienceInsightsDimension.SUB_COUNTRY_LOCATION, enabling clients to discover the location criteria that can be used in AudienceInsightsService.
- Added AudienceInsightsService.ListInsightsEligibleDates (available to allowlisted accounts only), enabling clients to discover the set of date ranges that can be used in AudienceInsightsService.
- Removed GenerateProductMixIdeas from ReachPlanService.
- Added Targeting.plannable_location_ids, which supports targeting multiple geo locations within the same parent location in a single reach forecast.
Recommendations
- Added RaiseTargetCpaBidTooLowRecommendation which identifies target CPA adjustments to help campaigns start serving.
- Added ForecastingSetTargetRoasRecommendation which identifies target ROAS adjustments to capture additional conversion value from expected traffic increases.
Reporting
- Added support for returning the number of clicks for sitelinks (when segments.click_type = SITELINKS) in the landing_page_view report.
- Added the following purchased traffic metrics: metrics.publisher_purchased_clicks, metrics.publisher_organic_clicks, metrics.publisher_unknown_clicks
Forum discussion at Twitter.