v19 (2025-02-26)
The following features and changes were added in v19.
Account Management
- Added the following values to
CustomerError
to account for upcoming changes:CREATION_DENIED_FOR_POLICY_VIOLATION
CREATION_DENIED_INELIGIBLE_MCC
Ads
- Added
DemandGenMultiAssetAdInfo.tall_portrait_marketing_images
to support portrait image assets with aspect ratio 9:16 in Demand Gen ads.
Assets
- (For allowlisted accounts only) Added support for
message assets through
Asset.business_message_asset
,BusinessMessageAsset
and the following enums and errors.- Enums:
- Added
AssetAutomationType.GENERATE_LANDING_PAGE_PREVIEW
to support automatically generating a landing page preview. AssetAutomationType.GENERATE_SHORTER_YOUTUBE_VIDEOS
is now opted-in by default for Demand Gen video responsive ads.- (For allowlisted accounts only; allowlist is currently closed) Added
Asset.app_deep_link_asset
andAppDeepLinkAsset
.
Conversions
- Conversion goals
LifecycleGoalValueSettings.high_lifetime_value
is out of beta and now mutable.- Added
CustomerLifecycleGoal.owner_customer
to show the resource name of the customer which owns the customer lifecycle goal.
- Deprecated
ConversionActionType.SALESFORCE
.
Feeds
- Removed all feed-related entities, such as
Feed
,FeedMapping
,FeedService
,AdGroupFeed
,feed_placeholder_view
, etc. Users should now use assets to achieve the same purpose. Visit Migration Notes for the list of all removed entities.
Hotel & Travel
- Made
min_days
andmax_days
ofValueRuleItineraryAdvanceBookingWindow
anoptional
field to allow specifying 0 as a value. This supports targeting for travel searches that happen today.
Performance Max
- (For allowlisted accounts only) Brand guidelines
- Made
Campaign.brand_guidelines_enabled
mutable only when creating a Performance Max campaign. - This is incompatible with Performance Max for travel goals.
- To enable brand guidelines for existing Performance Max campaigns, use a
newly added
CampaignService.EnablePMaxBrandGuidelines
. Disabling brand guidelines is not supported. - Added
Campaign.brand_guidelines
andBrandGuidelines
to allow setting the brand's colors and font family. - New error values:
BatchJobError.CAMPAIGN_AND_CAMPAIGN_ASSET_TRANSACTION_FAILURE
BrandGuidelinesMigrationError
BRAND_GUIDELINES_ALREADY_ENABLED
CANNOT_ENABLE_BRAND_GUIDELINES_FOR_REMOVED_CAMPAIGN
BRAND_GUIDELINES_LOGO_LIMIT_EXCEEDED
CANNOT_AUTO_POPULATE_BRAND_ASSETS_WHEN_BRAND_ASSETS_PROVIDED
AUTO_POPULATE_BRAND_ASSETS_REQUIRED_WHEN_BRAND_ASSETS_OMITTED
TOO_MANY_ENABLE_OPERATIONS
CampaignError
BRAND_GUIDELINES_NOT_ENABLED_FOR_CAMPAIGN
BRAND_GUIDELINES_MAIN_AND_ACCENT_COLORS_REQUIRED
BRAND_GUIDELINES_COLOR_INVALID_FORMAT
BRAND_GUIDELINES_UNSUPPORTED_FONT_FAMILY
BRAND_GUIDELINES_UNSUPPORTED_CHANNEL
CANNOT_ENABLE_BRAND_GUIDELINES_FOR_TRAVEL_GOALS
CUSTOMER_NOT_ALLOWLISTED_FOR_BRAND_GUIDELINES
- Made
- Added
AssetAutomationType.GENERATE_ENHANCED_YOUTUBE_VIDEOS
to support automatically generating enhanced video assets for Performance Max campaigns.
Planning
- (For allowlisted accounts only) Added
ContentCreatorInsightsService.GenerateTrendingInsights
which allows users to see trending content topics on YouTube for given audience definitions. - Added
GenerateCreatorInsightsRequest.country_locations[]
to specify countries to search for the given criteria - Added
GenerateCreatorInsightsRequest.search_brand
to specify a brand to search for creators - Added new fields to
YouTubeChannelInsights
to provide additional channel information forsearch_channels
requests:channel_url
channel_description
top_videos
- Added new metadata fields to
AudienceInsightsAttributeMetadata
:youtube_video_metadata
user_interest_attribute_metadata
knowledge_graph_attribute_metadata
Videos
- Following the release of
DataLinkService.CreateDataLink
, we added the following methods to allow for mutating previously created data links:RemoveDataLink
for removing data links in a Google Ads accountUpdateDataLink
for accepting, rejecting and revoking data links in a Google Ads account
- Removed support for
VIDEO_OUTSTREAM
from the following enums:
v18 (2024-10-16)
The following new features and updates were added in v18.
Account Management
- (For allowlisted accounts only) Added
DataLinkService.CreateDataLink
, which allows linking a Google Ads account to creator videos hosted on the creator's YouTube channel. Video linking enables the Google Ads account to run partnership ads using creator videos.
Ad Groups
- Added
AdGroup.exclude_demographic_expansion
which lets you exclude demographics from being expanded whenoptimized_targeting_enabled
istrue
, a feature that was previously only supported for Demand Gen.
Ads
- Added
AdGroupAd.ad_group_ad_asset_automation_settings
, which allows opting ads into or out of automatic asset generation. - Added the following values to
AssetAutomationType
:GENERATE_VERTICAL_YOUTUBE_VIDEOS
GENERATE_SHORTER_YOUTUBE_VIDEOS
- Added
AdNetworkType.GOOGLE_OWNED_CHANNELS
, which is used by ads that serve on Google-owned channels such as YouTube, Gmail, and the Discover feed.
Assets
- Renamed
AssetType.DISCOVERY_CAROUSEL_CARD
toAssetType.DEMAND_GEN_CAROUSEL_CARD
.
Campaigns
- Added
metrics.store_visits_last_click_model_attributed_conversions
, which returns the number of store visits attributed by the last click model of a campaign. - Added the following video view-related metrics for a campaign:
- Added
metrics.results_conversions_purchase
, which returns conversion purchases for the unified goals results of a campaign. - Changed the default value of
DemandGenCampaignSettings.upgraded_targeting
fromfalse
totrue
.
Criterion
- Added
content_criterion_view
which returns performance metrics of targeted contents, such as keywords, placements and topics, for Display, Demand Gen and Video campaigns.
Hotel & Travel
- Support for Travel Feeds in Search Ads
- Added
ClickType.TRAVEL_ASSETS
to allow segmentation of metrics of Travel Feeds in Search Ads. - Added
AssetSetType.TRAVEL_FEED
which can be used to opt-in and opt-out of using Travel Feed in Search Ads.
- Added
- (For allowlisted accounts only) Added travel itinerary as a new conversion value rule with the following new fields and values:
ConversionValueRule.itinerary_condition
withValueRuleItineraryCondition
, which allows for specifying an advance booking window, an itinerary length, and a travel start days of weekConversionValueRulePrimaryDimensionEnum.ITINERARY
ValueRuleSetDimension.ITINERARY
- Added the following segments for
campaign
andad_group
reports to allow for segmenting performance data based on specific destinations (cities, countries and regions) for Hotel and Search campaigns:
Local Services
PhoneCallDetails.call_recording_url
will be empty, instead of providing an invalid URL if the call recording doesn't exist for the given Local Services lead conversation.- Added
CategoryBid.target_cpa_bid_micro
which allows for setting target CPA for a category throughCampaign.local_services_campaign_settings
.
Performance Max
- Support for brand guidelines
- Added
Campaign.brand_guidelines_enabled
which shows whether brand guidelines are enabled for a given Performance Max campaign. If enabled, assets withfield_type
set toBUSINESS_NAME
,LOGO
,LANDSCAPE_LOGO
must be linked asCampaignAsset
resources instead ofAssetGroupAsset
resources. - Added
CampaignError.REQUIRED_BUSINESS_NAME_ASSET_NOT_LINKED
andCampaignError.REQUIRED_LOGO_ASSET_NOT_LINKED
errors, which indicate that Performance Max campaigns with brand guidelines enabled don't have the requiredCampaignAsset
resources linked to the campaign. - When brand guidelines are enabled, at least one asset with
field_type
set toBUSINESS_NAME
and at least one withLOGO
must be linked to the campaign asCampaignAsset
resources. Performance Max campaigns for online sales with a product feed must meet this requirement only when there are assets that are linked to the campaign's asset groups. - Added the following values to
AssetLinkError
:BRAND_ASSETS_NOT_LINKED_AT_ASSET_GROUP_LEVEL
, which is thrown when attempting to link brand assets to campaigns asCampaignAsset
resources instead ofAssetGroupAsset
resources in Performance Max campaigns with brand guidelines not enabled.BRAND_ASSETS_NOT_LINKED_AT_CAMPAIGN_LEVEL
error, which is thrown when attempting to link brand assets to campaigns asAssetGroupAsset
resources instead ofCampaignAsset
resources in Performance Max campaigns with brand guidelines enabled.
- Added
- Added
performance_max_placement_view
which returns impressions of the placements where Performance Max ads served. - Added
AssetGroupListingGroupFilterError.TREE_WAS_INVALID_BEFORE_MUTATION
Planning
- (For allowlisted accounts only) Added a new service with the method
ContentCreatorInsightsService.GenerateCreatorInsights
, which allows users to explore insights about top YouTube Creators. This allows customers to search for creators given an audience targeting and content targeting combination or creator insights given a list of YouTube Channel IDs. - Updates to
AudienceInsightsService.GenerateSuggestedTargetingInsights
:- Moved
audience
,baseline_audience
anddata_month
intoaudience_definition
. - Added
audience_description
to generate targeting suggestions from a free form text description using Gen AI.
- Moved
- Added
AudienceInsightsService.GenerateTargetingSuggestionMetrics
which returns potential reach metrics for given audience targeting combinations.
Recommendations
RecommendationService.GenerateRecommendations
can now be used to generate recommendations about optimized budget suggestions during campaign construction, by including theCAMPAIGN_BUDGET
recommendation type inGenerateRecommendationsRequest.recommendation_types[]
. This works for Performance Max and Search campaigns.
Reporting
- Replaced the
summary_row_setting
andreturn_total_results_count
fields ofSearchGoogleAdsRequest
with thesearch_settings
field, whose type isSearchSettings
with the following fields:omit_results
return_summary_row
return_total_results_count
- Added the following new metrics about general invalid clicks, such as those generated by bots or crawlers, those having irregular patterns. They can be queried with the
campaign
report. - Added the following values to
QuotaError
:EXCESSIVE_SHORT_TERM_QUERY_RESOURCE_CONSUMPTION
EXCESSIVE_LONG_TERM_QUERY_RESOURCE_CONSUMPTION
v17.1.0 (2024-08-07)
The following new features and updates were added in v17_1.
Assets
AdGroupAdService.RemoveAutomaticallyCreatedAssets()
lets you remove specified automatically created assets linked to Responsive Search Ads.
Audiences
- New enum values in
UserListCustomerTypeCategory
:LOYALTY_TIER_1_MEMBERS
LOYALTY_TIER_2_MEMBERS
LOYALTY_TIER_3_MEMBERS
LOYALTY_TIER_4_MEMBERS
LOYALTY_TIER_5_MEMBERS
LOYALTY_TIER_6_MEMBERS
LOYALTY_TIER_7_MEMBERS
Campaigns
ShareablePreviewService.GenerateShareablePreviews()
generates the URLs (shareable_preview_url
in the response) for shareable ad previews for enabled and paused asset groups.- The
expiration_date_time
field indicates the expiration date of the URLs in the response. - If an error occurs, the method will return
partial_failure_error
instead of the URLs.
- The
Change History
- New change status resource type:
ASSET_GROUP
.
Conversions
- New segment field for SKAdNetwork version:
segments.sk_ad_network_version
offline_conversion_upload_conversion_action_summary
which exposes conversion upload diagnostics at the conversion action level.- The following metrics are added to the offline diagnostics reports to convey the number of uploaded conversions that are still being processed:
Planning
AudienceInsights.GenerateAudienceOverlapInsights()
which accepts an input primary attribute and a collection of audience attributes, and returns the estimates of the overlap of potential YouTube reach between the primary attribute and the audience attributes.
Reporting
- Support for segmenting
per_store_view
based onsegments.date
Videos
- Support for retrieving information related to the following standard bidding strategies for video campaigns using reports, such as,
ad_group
,campaign
:Campaign.fixed_cpm
(Fixed CPM (cost per thousand impression))Campaign.target_cpv
(Target CPV (cost per view))
Campaign.video_campaign_settings
which lets you determine on which inventories the video ads can be shown, using the following report fields:segments.ad_format_type
which lets you segment the following reports based on the video ad format type:
v17 (2024-06-05)
The following features and changes were added in v17.
Ads
- Removed
AdService.getAd
. This brings theAdService
in line with other services in the Google Ads API. See Retrieving objects for the recommended way to fetch ads and other resource types. - Added more validations for
ImageAdInfo.image_asset
regarding dimensions and format. The following errors may be thrown if the image is invalid:
Assets
- Added new enum:
ClickType.AD_IMAGE
- Added the following new reports with new metrics for Performance Max and Search campaigns:
Audiences
Batch Jobs
- Added
BatchJobError.REQUEST_TOO_LARGE
, which will be thrown when the submittedAddBatchJobOperationsRequest
is larger than 10484504 bytes. - Added support for setting
MutateOperation.asset_group_operation
when usingBatchJobService
. This lets you use batch processing to create and manage entire Performance Max campaigns. See our new dedicated guide.
Campaigns
- Renamed Discovery to Demand Gen in all fields, enums, errors of all
resources across the Google Ads API, such as campaigns, ads, and assets. For
example,
AdvertisingChannelType.DISCOVERY
is nowAdvertisingChannelType.DEMAND_GEN
. - Added
Campaign.keyword_match_type
to let you set keyword match type for all keywords in a campaign.
Conversions
- For SKAdNetwork
conversions,
- Renamed
segments.sk_ad_network_conversion_value
tosegments.sk_ad_network_fine_conversion_value
. - Added
segments.sk_ad_network_redistributed_fine_conversion_value
.
- Renamed
- The following metrics are now returned with the response even when they are zero. This makes them consistent with other metrics.
Criteria
- Added to following fields to
AdGroupCriterion
to show whether the ad group criterion is serving or the reasons why it's not serving:primary_status
primary_status_reasons
- Added support for
metrics.search_impression_share
forgender_view
- Added support for
metrics.phone_calls
forkeyword_view
Local Services
- Added
LocalServicesLeadService.AppendLeadConversation()
used to append a newLocalServicesLeadConversation
toLocalServicesLead
, which sends the messages to users through appropriate channels like SMS depending on how the lead was created.- The size of
AppendLeadConversationRequest.conversations
is limited to 1,000. - Only
LocalServicesLead
withlead_type
set toLeadType.MESSAGE
can be specified inConversation.local_services_lead
.
- The size of
- Added new enum values to
ConversationType
:WHATSAPP
to represent a conversation introduced through WhatsApp.ADS_API
to represent a conversation introduced using the newLocalServicesLeadService.AppendLeadConversation()
method.
- Added the following new fields to
local_services_verification_artifact
:local_services_verification_artifact.insurance_verification_artifact.expiration_date_time
local_services_verification_artifact.license_verification_artifact.expiration_date_time
Reporting
- You can now select only fields related to one linked product
when querying
product_link
. Selecting multiple fields of several linked products will throwQueryError.PROHIBITED_FIELD_COMBINATION_IN_SELECT_CLAUSE
. For example,product_link.advertising_partner.customer
andproduct_link.data_partner.data_partner_id
cannot be selected in the same query. - Passing a
page_size
toGoogleAdsService.Search
will result in aRequestError.PAGE_SIZE_NOT_SUPPORTED
error.
Shopping
- Added a new report
shopping_product
, which corresponds to the Products page of the Google Ads UI. It supports returning data related to the current state of products from Google Merchant Center accounts linked to a Google Ads account.- You can filter metrics from the
shopping_product
report usingsegments.date
when usingGoogleAdsService.Search
orGoogleAdsService.SearchStream
. Segmentation by date is not permitted and will return aShoppingProductError.UNSUPPORTED_DATE_SEGMENTATION
error.
- You can filter metrics from the
Unified Goals
- Added
UserListCustomerTypeService.MutateUserListCustomerTypes()
to configure audience customer types. - Removed
CustomerLifecycleGoal.lifecycle_goal_customer_definition_settings
. To configure audience settings of customer lifecycle goals, useUserListCustomerTypeService.MutateUserListCustomerTypes()
instead.- Attach or unattach a user list by setting
UserListCustomerType.customer_type_category
toUserListCustomerTypeCategory.PURCHASERS
to include it into or exclude it from an existing customer definition for customer lifecycle goals, respectively. Visit segment your audiences for more details.
- Attach or unattach a user list by setting
Videos
- Added the following values to
ContentLabelType
. You can exclude theseContentLabelTypes
at the customer level:BRAND_SUITABILITY_CONTENT_FOR_FAMILIES
BRAND_SUITABILITY_GAMES_FIGHTING
BRAND_SUITABILITY_GAMES_MATURE
BRAND_SUITABILITY_HEALTH_SENSITIVE
BRAND_SUITABILITY_HEALTH_SOURCE_UNDETERMINED
BRAND_SUITABILITY_NEWS_RECENT
BRAND_SUITABILITY_NEWS_SENSITIVE
BRAND_SUITABILITY_NEWS_SOURCE_NOT_FEATURED
BRAND_SUITABILITY_POLITICS
BRAND_SUITABILITY_RELIGION
- Added
AdVideoAsset.ad_video_asset_info
to support inventory preferences for video assets when creatingDemandGenVideoResponsiveAdInfo
. - (Allowlisted accounts only) Made
Campaign.video_brand_safety_suitability
mutable.
Archived release notes
See Sunsetted versions for archived release notes.