<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><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'><id>tag:blogger.com,1999:blog-7815614485808579332</id><updated>2026-06-29T10:13:44.257-07:00</updated><category term="adwords_api"/><category term="google_ads_api"/><category term="sunset"/><category term="dfp_api"/><category term="release"/><category term="dv360_api"/><category term="mobile_ads_sdk"/><category term="adwords_scripts"/><category term="iOS"/><category term="android"/><category term="dfa_api"/><category term="ima_sdk"/><category term="deprecation"/><category term="content_api"/><category term="admob"/><category term="admob_sdk"/><category term="reporting"/><category term="google_ads_scripts"/><category term="mobile"/><category term="shopping"/><category term="ad_manager_api"/><category term="google_ads"/><category term="update"/><category term="reports"/><category term="adsense_api"/><category term="ad_exchange"/><category term="client_libraries"/><category term="sdf"/><category term="dbm_api"/><category term="ad_manager"/><category term="oauth2"/><category term="conversions"/><category term="bidding"/><category term="feeds"/><category term="conversion"/><category term="performance_max"/><category term="dfp_mobile"/><category term="targeting"/><category term="workshops"/><category term="adsense_management_api"/><category term="ad_exchange_rest"/><category term="ad_exchange_rtb"/><category term="unity"/><category term="html5"/><category term="adsense"/><category term="data_manager_api"/><category term="oauth"/><category term="offline_conversions"/><category term="ad_extensions"/><category term="query_language"/><category term="PMax"/><category term="admob_mediation"/><category term="adwords"/><category term="dfp_reports"/><category term="hangout"/><category term="ima_html5"/><category term="account_management"/><category term="adwords_api_workshops"/><category term="adwords_v201109"/><category term="analytics"/><category term="docs"/><category term="geotargeting"/><category term="migration"/><category term="remarketing"/><category term="Performance Max"/><category term="ad_exchange_seller"/><category term="ad_exchange_soap"/><category term="ad_speed"/><category term="authorized_buyers"/><category term="display_network"/><category term="optimization"/><category term="publisher_ads_audits"/><category term="upgraded_urls"/><category term="video"/><category term="ads"/><category term="new_features"/><category term="php"/><category term="query_builder_blog_series"/><category term="survey"/><category term="webinar"/><category term="admanager_api"/><category term="adwords_api_v201809"/><category term="adwords_v201209"/><category term="beta"/><category term="dfp"/><category term="display"/><category term="expanded_text_ads"/><category term="ima_android"/><category term="limits"/><category term="native"/><category term="python"/><category term="DAI"/><category term="ad_exchange_optimization-series"/><category term="admob_api"/><category term="adwhirl"/><category term="adwords_api_v201406"/><category term="campaign"/><category term="chart_tools"/><category term="content"/><category term="demand_gen"/><category term="dfa_reporting_api"/><category term="dfa_v1.18"/><category term="examples"/><category term="feedback"/><category term="gpt"/><category term="keywords"/><category term="mobile_ads_garage"/><category term="podcast"/><category term="realtime_bidding"/><category term="responsive_ads"/><category term="text_ads"/><category term="workshop"/><category term="admob_api_v1"/><category term="adwords_CampaignService"/><category term="adwords_api_v201402"/><category term="adwords_api_v201506"/><category term="audiences"/><category term="authentication"/><category term="cm360"/><category term="dfp_v201111"/><category term="enhanced_campaigns"/><category term="flash"/><category term="ima_ios"/><category term="keyword_optimizer"/><category term="location_extensions"/><category term="mcc"/><category term="native_ads_express"/><category term="openrtb"/><category term="GMF"/><category term="PQL"/><category term="adsense_host_api"/><category term="adsense_management_api_v1"/><category term="adsense_management_api_v1.1"/><category term="adwords_api_v201302"/><category term="adwords_api_v201409"/><category term="adwords_api_v201509"/><category term="adwords_api_v201708"/><category term="analyticsapi"/><category term="app_engine"/><category term="assets"/><category term="authorization"/><category term="aw_reporting"/><category term="awql"/><category term="best_practices"/><category term="budgets"/><category term="case_study"/><category term="customer_match"/><category term="dfp_pql"/><category term="display_select"/><category term="display_smart_campaign"/><category term="gaql"/><category term="google_analytics_api"/><category term="meridian"/><category term="sa360"/><category term="sitelinks"/><category term="smart"/><category term="swift"/><category term="test_network"/><category term="ad_customizers"/><category term="adsense_management_api_v1.3"/><category term="adwords_BatchJobService"/><category term="adwords_MutateJobService"/><category term="adwords_api_v201306"/><category term="adwords_api_v201603"/><category term="adwords_api_v201705"/><category term="adwords_api_v201710"/><category term="adwords_v201309"/><category term="announcement"/><category term="bid_modifiers"/><category term="billing"/><category term="brand_guidelines"/><category term="creatives"/><category term="dfa_v1.20"/><category term="dfp_appengine"/><category term="dfp_creatives"/><category term="dfp_v201201"/><category term="dfp_v201203"/><category term="dfp_v201204"/><category term="discord"/><category term="documentation"/><category term="dv360"/><category term="entity_read_files"/><category term="erf"/><category term="error handling"/><category term="firebase"/><category term="gmp"/><category term="google_ads_api_v0"/><category term="google_apps_script"/><category term="ima_flash"/><category term="io13"/><category term="manager_accounts"/><category term="performance_max_api_workshop"/><category term="privacy_sandbox"/><category term="rate_sheet"/><category term="realtime_bidding_protocol"/><category term="recommendations"/><category term="rmf"/><category term="ruby"/><category term="template_ads"/><category term="tools"/><category term="AdWords Scripts"/><category term="CampaignCriterion"/><category term="ConversionTrackerService"/><category term="LocationExtensionOperand"/><category term="LocationGroups"/><category term="ad_clicks"/><category term="ad_exchange_buyer"/><category term="ad_inspector"/><category term="ad_manager_api_v201908"/><category term="ad_manager_api_v201911"/><category term="ad_manager_api_v202002"/><category term="ad_manager_api_v202005"/><category term="ad_manager_api_v202008"/><category term="ad_manager_api_v202102"/><category term="ad_manager_api_v202105"/><category term="ad_manager_api_v202202"/><category term="ad_manager_api_v202205"/><category term="admob_v4.3.1"/><category term="adsense_host_api_v3"/><category term="adsense_management_api_v1.2"/><category term="adsense_management_api_v1.4"/><category term="adwords_AdGroupCriterionService"/><category term="adwords_ManagedCustomerService"/><category term="adwords_api_v201309"/><category term="adwords_api_v201502"/><category term="adwords_api_v201601"/><category term="adwords_api_v201605"/><category term="adwords_api_v201607"/><category term="adwords_api_v201609"/><category term="adwords_api_v201702"/><category term="adwords_for_video"/><category term="adwords_v201206"/><category term="adwords_v201302"/><category term="adwords_v201306"/><category term="api"/><category term="attribution_reporting_api"/><category term="bid_manager_api"/><category term="brand guidelines"/><category term="budget_order_service"/><category term="call_tracking"/><category term="campaign_management"/><category term="chromecast"/><category term="click"/><category term="click_tracking"/><category term="client_library"/><category term="code_examples"/><category term="common_questions"/><category term="dfa_v1.17"/><category term="dotnet"/><category term="dsa"/><category term="excluded_placement_lists"/><category term="experiments"/><category term="flash_sdk"/><category term="gclid"/><category term="geo_targets"/><category term="google_ads_api_migration_workshop"/><category term="google_ads_api_v1_0"/><category term="google_ads_api_v6"/><category term="html5_ads"/><category term="https"/><category term="i18n"/><category term="iOS9"/><category term="impression_share"/><category term="interview"/><category term="java_dart_api"/><category term="labels"/><category term="marketplace"/><category term="merchant_api"/><category term="mobile_ads"/><category term="mobile_targeting"/><category term="oath2"/><category term="open_source"/><category term="placements"/><category term="privacy"/><category term="product_listing_ads"/><category term="quality_score"/><category term="quota"/><category term="realtime_bidding_api"/><category term="realtimebidding"/><category term="rest"/><category term="rewarded_video"/><category term="search"/><category term="search_audience"/><category term="selector"/><category term="service_accounts"/><category term="shared_negative_keywords"/><category term="snds"/><category term="success_stories"/><category term="terms"/><category term="test_accounts"/><category term="youtube"/><category term="AdGroup"/><category term="AdGroupAd"/><category term="DoubleClick_Rich_Media"/><category term="MCP"/><category term="OfflineConversionFeedService"/><category term="PLA"/><category term="RateExceededError"/><category term="SGAI"/><category term="StepInsideAdWords"/><category term="ad_manager_api_v201805"/><category term="ad_manager_api_v201808"/><category term="ad_manager_api_v201811"/><category term="ad_manager_api_v201902"/><category term="ad_manager_api_v201905"/><category term="ad_manager_api_v202011"/><category term="ad_manager_api_v202108"/><category term="ad_manager_api_v202111"/><category term="ad_manager_api_v202208"/><category term="ad_manager_api_v202211"/><category term="ad_manager_api_v202302"/><category term="ad_manager_api_v202305"/><category term="ad_manager_api_v202308"/><category term="ad_manager_api_v202311"/><category term="ad_manager_api_v202402"/><category term="ad_manager_api_v202405"/><category term="ad_manager_api_v202408"/><category term="ad_manager_api_v202411"/><category term="ad_manager_api_v202502"/><category term="ad_manager_api_v202511"/><category term="ad_param"/><category term="adexchangebuyer"/><category term="admob_v5.0.5"/><category term="admob_v6.0.1"/><category term="ads_devcast"/><category term="advanced_apis"/><category term="adwhirl_v3.1.1"/><category term="adwords_CreateAccountService"/><category term="adwords_ReportDefinitionService"/><category term="adwords_api_v201802"/><category term="adwords_api_v201806"/><category term="adwords_v201601"/><category term="adwords_v201605"/><category term="adwords_v201607"/><category term="adwords_v201609"/><category term="adwords_v201702"/><category term="adwords_v201802"/><category term="adwords_v201806"/><category term="adwords_v201809"/><category term="ai"/><category term="ai_tools"/><category term="alerting"/><category term="amp"/><category term="android_layout"/><category term="animation"/><category term="annual developer survey"/><category term="asset_group"/><category term="asset_group_listing_group_filter"/><category term="asset_group_signal"/><category term="authorized_buyer"/><category term="batch_processing"/><category term="beacon_api"/><category term="budget_floor"/><category term="builders"/><category term="bulk_upload"/><category term="c#"/><category term="caf_sdk"/><category term="call-only"/><category term="call_extensions"/><category term="call_metrics"/><category term="call_only"/><category term="callout_extensions"/><category term="campaign_manager_360"/><category term="cast"/><category term="certificates"/><category term="certification"/><category term="change_history"/><category term="chrome"/><category term="click-to-download"/><category term="click_type"/><category term="clicks"/><category term="conference"/><category term="converted_clicks"/><category term="creative_platforms"/><category term="custom_fields"/><category term="dart"/><category term="data_manager"/><category term="debugging"/><category term="decorators"/><category term="developer"/><category term="dfa_ad_service"/><category term="dfa_api_v118"/><category term="dfa_creative_service"/><category term="dfa_site_service"/><category term="dfa_v1.16"/><category term="dfa_v1.19"/><category term="dfp_inventory"/><category term="dfp_sales"/><category term="dfp_teams"/><category term="dfp_v201206"/><category term="dfp_v201208"/><category term="dfp_v201211"/><category term="dfp_v201302"/><category term="dfp_v201308"/><category term="dfp_v201608"/><category term="dfp_v201711"/><category term="doubleclick"/><category term="doubleclick_studio"/><category term="drafts"/><category term="dynamic_creative"/><category term="enhanced_conversions_for_leads"/><category term="eta"/><category term="exoplayer"/><category term="experiment"/><category term="faq"/><category term="floc"/><category term="flutter"/><category term="forecast_service"/><category term="gRPC"/><category term="games"/><category term="gdc"/><category term="gdl"/><category term="gma_next_gen_sdk"/><category term="gmail_ads"/><category term="gmail_image_ads"/><category term="gmail_multi_product_ads"/><category term="gmail_single_promotion_ads"/><category term="golang"/><category term="google_ads_api_v0_1"/><category term="google_ads_api_v0_3"/><category term="google_ads_api_v0_4"/><category term="google_ads_api_v0_5"/><category term="google_ads_api_v0_6"/><category term="google_ads_api_v0_7"/><category term="google_ads_api_v1_1"/><category term="google_ads_api_v1_2"/><category term="google_ads_api_v1_3"/><category term="google_ads_api_v2_1"/><category term="google_ads_api_v3_0"/><category term="google_ads_api_v3_1"/><category term="google_ads_api_v4"/><category term="google_ads_api_v5"/><category term="google_ads_solutions"/><category term="google_apis"/><category term="google_drive"/><category term="google_play_services"/><category term="google_plus"/><category term="guide"/><category term="guides"/><category term="hotel_ads"/><category term="hotel_campaigns"/><category term="ids"/><category term="ima_roku"/><category term="image"/><category term="image_ads"/><category term="image_optimization"/><category term="implementation"/><category term="interstitial"/><category term="java_app_engine"/><category term="jdbc"/><category term="kotlin"/><category term="line_item"/><category term="linq"/><category term="listing_groups"/><category term="location_feeds"/><category term="logging"/><category term="maps_api"/><category term="maximize"/><category term="measurement"/><category term="media"/><category term="media_bundle"/><category term="mediation_test_suite"/><category term="mmm"/><category term="mobile_sites"/><category term="mobile_speed"/><category term="mobile_ux"/><category term="monitoring"/><category term="pal"/><category term="policy"/><category term="policy_violation"/><category term="price_extension"/><category term="proguard"/><category term="promotion_line"/><category term="qa"/><category term="rate_limiter"/><category term="referer"/><category term="sandbox"/><category term="scripts"/><category term="sdkless"/><category term="search audience"/><category term="search terms"/><category term="search_network"/><category term="search_theme"/><category term="sendbeacon"/><category term="simulations"/><category term="spend"/><category term="ssl"/><category term="suggested_ad_units"/><category term="swift_package_manager"/><category term="swiftui"/><category term="tagging"/><category term="target"/><category term="target_cpa"/><category term="testing"/><category term="text_asset_automation"/><category term="trials"/><category term="turtledove"/><category term="ui"/><category term="unversioned_change"/><category term="updates"/><category term="upgrade"/><category term="v201509"/><category term="vast3"/><category term="vcpm"/><category term="viewable-cpm"/><category term="wp8"/><category term="xml"/><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='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ads-developers.googleblog.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/-/google_ads_api'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/search/label/google_ads_api'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/-/google_ads_api/-/google_ads_api?start-index=26&amp;max-results=25'/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/blank.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>331</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-2223804944121247024</id><published>2026-06-25T17:06:36.798-07:00</published><updated>2026-06-25T17:06:36.799-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google_ads"/><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><category scheme="http://www.blogger.com/atom/ns#" term="sunset"/><title type='text'>Google Ads API v21 sunset reminder</title><content type='html'>&lt;p&gt;
Google Ads API v21 will &lt;a href=&quot;https://developers.google.com/google-ads/api/docs/sunset-dates?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-v20-sunset&amp;utm_content=readmore-deprecationandsunset&quot;&gt;sunset&lt;/a&gt; on August 5, 2026. Starting on this date, all v21 API requests will begin to fail. Migrate to a &lt;a href=&quot;https://developers.google.com/google-ads/api/docs/release-notes?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-v20-sunset&amp;utm_content=readmore-releasenotes&quot;&gt;newer version&lt;/a&gt; prior to August 5, 2026 to ensure your API access is unaffected.
&lt;/p&gt;
&lt;p&gt;
Here are some resources to help you with the migration:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/docs/version-migration?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-v20-sunset&amp;utm_content=upgrade&quot;&gt;Upgrade to the newest version&lt;/a&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/docs/release-notes?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-v20-sunset&amp;utm_content=readmore-releasenotes-2&quot;&gt;Release notes&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
You can view a list of methods and services your project has recently called using the &lt;a href=&quot;https://console.cloud.google.com?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-v20-sunset&amp;utm_content=tryitout-cloudconsole&quot;&gt;Google Cloud Console&lt;/a&gt;:
&lt;/p&gt;&lt;ol&gt;

&lt;li&gt;Open &lt;strong&gt;APIs &amp; Services&lt;/strong&gt; in the Google Cloud Console.
&lt;li&gt;Click &lt;strong&gt;Google Ads API&lt;/strong&gt; in the table.
&lt;li&gt;On the &lt;strong&gt;Metrics&lt;/strong&gt; subtab, you should see your recent requests plotted on each graph. You can see which methods you&#39;ve sent requests to in the &lt;strong&gt;Methods&lt;/strong&gt; table. The method name includes a Google Ads API version, a service, and a method name, such as 

&lt;pre class=&quot;prettyprint&quot;&gt;google.ads.googleads.v21.services.GoogleAdsService.Mutate.
&lt;/pre&gt;

&lt;li&gt;(Optional) Choose the timeframe you want to view for your requests.&lt;/li&gt;&lt;/ol&gt;
&lt;/li&gt;

&lt;p&gt;
If you have any questions or want to discuss this post, please reach out to &lt;a href=&quot;https://developers.google.com/google-ads/api/support?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-v20-sunset&amp;utm_content=support-gaapi&quot;&gt;Google Ads API support&lt;/a&gt; or start a discussion on our &lt;a href=&quot;http://goo.gle/ads-and-measurement-discord&quot;&gt;“Google Advertising and Measurement Community” Discord server&lt;/a&gt;.
&lt;/p&gt;

&lt;div class=&quot;byline-author&quot;&gt;
  &lt;table&gt;
    &lt;tr&gt;
      &lt;td style=&quot;width:50px&quot;&gt;
        &lt;img height=&quot;40&quot; src=&quot;https://lh3.googleusercontent.com/a-/AOh14GhFLgYJAFpYHUS1kBcLzMIT2gKkUyYcjWCuOWM3=s600-p&quot; style=&quot;vertical-align: middle; border:none; margin: 0px;&quot; width=&quot;40&quot;/&gt;
      &lt;/td&gt;
      &lt;td&gt;
        &lt;div style=&quot;height:20px;&quot;&gt;
          Ben Karl
        &lt;/div&gt;
        &lt;div&gt;Google’s Advertising and Measurement Developer Relations team&lt;/div&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/table&gt;
&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/2223804944121247024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/2223804944121247024'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/06/google-ads-api-v21-sunset-reminder.html' title='Google Ads API v21 sunset reminder'/><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-6319952324811985173</id><published>2026-06-25T16:24:24.037-07:00</published><updated>2026-06-25T16:24:24.038-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="authorization"/><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><title type='text'>Multi-party approvals in the Google Ads API</title><content type='html'>&lt;p&gt;
As part of improving security for Google Ads accounts, the &lt;a href=&quot;https://developers.google.com/google-ads/api?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-passkeys-june2026&amp;utm_content=learnmore-api&quot;&gt;Google Ads API&lt;/a&gt; will start requiring multi-party approvals when performing sensitive API actions. This is part of a broader change in Google Ads that requires &lt;a href=&quot;https://support.google.com/google-ads/answer/16891189&quot;&gt;multi-party approvals to perform sensitive actions&lt;/a&gt; in your Google Ads account. These important security updates will start rolling out starting on &lt;strong&gt;July 27, 2026&lt;/strong&gt;, and will be enabled for all users over the next few weeks.
&lt;/p&gt;
&lt;h3&gt;What is changing?&lt;/h3&gt;


&lt;p&gt;
When this change goes live, the following API calls will change their behavior.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Inviting a user&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
If you use the &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/CustomerUserAccessInvitationService/MutateCustomerUserAccessInvitation?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-mpa-june2026&amp;utm_content=learnmore-refdocs&quot;&gt;CustomerUserAccessInvitationService.MutateCustomerUserAccessInvitation&lt;/a&gt;&lt;/code&gt; method to &lt;a href=&quot;https://developers.google.com/google-ads/api/docs/account-management/managing-invitations?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-mpa-june2026&amp;utm_content=learnmore-apidocs#invite-users&quot;&gt;invite a new user&lt;/a&gt; to manage a Google Ads account, the Google Ads API now evaluates whether multi-party approval may be necessary. In cases where our servers determine that a review is required, the system will pause the standard workflow and will not immediately generate a &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/CustomerUserAccessInvitation?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-mpa-june2026&amp;utm_content=learnmore-refdocs&quot;&gt;CustomerUserAccessInvitation&lt;/a&gt;&lt;/code&gt; or dispatch the invitation email. A &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/MultiPartyAuthReview?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-mpa-june2026&amp;utm_content=learnmore-refdocs&quot;&gt;MultiPartyAuthReview&lt;/a&gt;&lt;/code&gt; resource is initiated instead, with its &lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/MutateCustomerUserAccessInvitationResult?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-mpa-june2026&amp;utm_content=learnmore-refdocs#multi_party_auth_review&quot;&gt;resource name&lt;/a&gt; provided in the response. Once the pending review receives approval from a second account administrator, the &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/CustomerUserAccessInvitation?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-mpa-june2026&amp;utm_content=learnmore-refdocs&quot;&gt;CustomerUserAccessInvitation&lt;/a&gt;&lt;/code&gt; will be created and the invited user will receive their email. No new invites can be created for the user until the pending review is resolved.

&lt;p&gt;
&lt;strong&gt;Updating or terminating a user’s access&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
If you  use the &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/CustomerUserAccessService/MutateCustomerUserAccess?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-mpa-june2026&amp;utm_content=learnmore-refdocs&quot;&gt;CustomerUserAccessService.MutateCustomerUserAccess&lt;/a&gt;&lt;/code&gt; method to adjust a user&#39;s permissions using the &lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/CustomerUserAccessOperation?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-mpa-june2026&amp;utm_content=learnmore-refdocs#update&quot;&gt;update operation&lt;/a&gt; or revoke access using the &lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/CustomerUserAccessOperation?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-mpa-june2026&amp;utm_content=learnmore-refdocs#remove&quot;&gt;remove operation&lt;/a&gt;,  the Google Ads API now evaluates whether multi-party approval may be necessary. In cases where our servers determine that a review is required, the API generates a &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/MultiPartyAuthReview?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-mpa-june2026&amp;utm_content=learnmore-refdocs&quot;&gt;MultiPartyAuthReview&lt;/a&gt;&lt;/code&gt; resource in a pending state and returns its &lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/MutateCustomerUserAccessInvitationResult?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-mpa-june2026&amp;utm_content=learnmore-refdocs#multi_party_auth_review&quot;&gt;resource name&lt;/a&gt;. Your requested modifications will remain pending and will only take effect once the multi-party review is successfully approved by a second account administrator. The &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/CustomerUserAccess?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-mpa-june2026&amp;utm_content=learnmore-refdocs&quot;&gt;CustomerUserAccess&lt;/a&gt;&lt;/code&gt; under review cannot be mutated until the pending review is resolved.

&lt;p&gt;
&lt;strong&gt;How do I approve a multi-party approval request?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
You can fetch a pending &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/MultiPartyAuthReview?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-mpa-june2026&amp;utm_content=learnmore-refdocs&quot;&gt;MultiPartyAuthReview&lt;/a&gt;&lt;/code&gt; by using the &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/GoogleAdsService/Search?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-mpa-june2026&amp;utm_content=learnmore-refdocs&quot;&gt;GoogleAdsService.Search&lt;/a&gt;&lt;/code&gt; or &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/GoogleAdsService/SearchStream?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-mpa-june2026&amp;utm_content=learnmore-refdocs&quot;&gt;GoogleAdsService.SearchStream&lt;/a&gt;&lt;/code&gt; methods, using the following GAQL query.

&lt;pre class=&quot;prettyprint&quot;&gt;SELECT 
    multi_party_auth_review.resource_name,
    multi_party_auth_review.multi_party_auth_review_id,
    multi_party_auth_review.creation_date_time,
    multi_party_auth_review.request_user_email,
    multi_party_auth_review.operation_type,
    multi_party_auth_review.justification,
    multi_party_auth_review.target_resource,
    multi_party_auth_review.customer_user_access_review.old_customer_user_access,
    multi_party_auth_review.customer_user_access_review.new_customer_user_access,
    multi_party_auth_review.customer_user_access_invitation_review.new_customer_user_access_invitation
FROM multi_party_auth_review 
WHERE multi_party_auth_review.review_status = &#39;PENDING&#39;
&lt;/pre&gt;

&lt;p&gt;
A pending &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/MultiPartyAuthReview?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-mpa-june2026&amp;utm_content=learnmore-refdocs&quot;&gt;MultiPartyAuthReview&lt;/a&gt;&lt;/code&gt; request can be approved or rejected using a &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/MultiPartyAuthReviewService/ResolveMultiPartyAuthReview?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-mpa-june2026&amp;utm_content=learnmore-refdocs&quot;&gt;MultiPartyAuthReviewService.ResolveMultiPartyAuthReview&lt;/a&gt;&lt;/code&gt; API request. The review needs to be done by a second administrator who did not create the original request. This can either be a human or a service account with administrator privileges. The pending review can be revoked by the original requestor.

&lt;p&gt;
  &lt;strong&gt;What do I need to do?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
If your application uses these methods, make sure to update it to handle &lt;a href=&quot;https://developers.google.com/google-ads/api/docs/oauth/multi-party-approvals?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-mpa-june2026&amp;utm_content=learnmore-apidocs&quot;&gt;the multi-party approval workflows&lt;/a&gt; before &lt;strong&gt;July 27, 2026&lt;/strong&gt;. We have added support for multi-party approvals to all the major versions of the API (v24.2, v23.3, v22.2 and v21.2). If you are using an official client library, make sure to &lt;a href=&quot;https://developers.google.com/google-ads/api/docs/client-libs?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-mpa-june2026&amp;utm_content=learnmore-apidocs&quot;&gt;download their latest version&lt;/a&gt;. You can refer to the following guides to learn more about these changes, which cover details on
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/docs/oauth/multi-party-approvals?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-mpa-june2026&amp;utm_content=learnmore-apidocs#about-approval&quot;&gt;Various states&lt;/a&gt; of a multi-party approval request
&lt;li&gt;How to &lt;a href=&quot;https://developers.google.com/google-ads/api/docs/oauth/multi-party-approvals?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-mpa-june2026&amp;utm_content=learnmore-apidocs#retrieve-pending-requests&quot;&gt;retrieve&lt;/a&gt; and &lt;a href=&quot;https://developers.google.com/google-ads/api/docs/oauth/multi-party-approvals?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-mpa-june2026&amp;utm_content=learnmore-apidocs#review-requests&quot;&gt;review&lt;/a&gt; multi-party approval requests
&lt;li&gt;How to handle multi-party approval requests when &lt;a href=&quot;https://developers.google.com/google-ads/api/docs/account-management/managing-invitations?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-mpa-june2026&amp;utm_content=learnmore-apidocs#invite-users&quot;&gt;inviting users&lt;/a&gt;
&lt;li&gt;How to handle multi-party approval requests when &lt;a href=&quot;https://developers.google.com/google-ads/api/docs/account-management/managing-users?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-mpa-june2026&amp;utm_content=learnmore-apidocs#modify-user-roles&quot;&gt;updating user roles&lt;/a&gt; or &lt;a href=&quot;https://developers.google.com/google-ads/api/docs/account-management/managing-users?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-mpa-june2026&amp;utm_content=learnmore-apidocs#remove-users&quot;&gt;removing user access&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
For any questions or further discussion regarding this update, please connect with us on the &lt;a href=&quot;http://goo.gle/ads-and-measurement-discord&quot;&gt;&quot;Google Advertising and Measurement Community&quot; Discord server&lt;/a&gt;. For technical support issues, reach out to &lt;a href=&quot;https://support.google.com/google-ads/contact/google_ads_api&quot;&gt;https://support.google.com/google-ads/contact/google_ads_api&lt;/a&gt;  
&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;byline-author&quot;&gt;&lt;a target=&quot;_blank&quot; target=&quot;_blank&quot; target=&quot;_blank&quot; href=&quot;https://g.dev/anash&quot;&gt;&lt;img width=&quot;40&quot; height=&quot;40&quot; src=&quot;https://lh3.googleusercontent.com/a-/AD_cMMRmfdsXvZhyLvWsLuqqcScxtYI0ih7DPGCk8lTee140NzXH=s300&quot; style=&quot;vertical-align:middle; border:none;&quot;&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a target=&quot;_blank&quot; target=&quot;_blank&quot; target=&quot;_blank&quot; href=&quot;https://g.dev/anash&quot; rel=&quot;author&quot;&gt;Anash P. Oommen&lt;/a&gt;, Google Ads API Team&lt;/span&gt;&lt;/p&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/6319952324811985173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/6319952324811985173'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/06/multi-party-approvals-in-google-ads-api.html' title='Multi-party approvals 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><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh3.googleusercontent.com/a-/AD_cMMRmfdsXvZhyLvWsLuqqcScxtYI0ih7DPGCk8lTee140NzXH=s72-c" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-4981407651934041130</id><published>2026-06-24T18:00:31.600-07:00</published><updated>2026-06-24T18:00:31.601-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><category scheme="http://www.blogger.com/atom/ns#" term="release"/><title type='text'>Announcing v24.2 of the Google Ads API</title><content type='html'>&lt;p&gt;
Today, we’re announcing the v24.2 release of the &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24_2&amp;utm_content=learnmore-api&quot;&gt;Google Ads API&lt;/a&gt;. This minor release brings critical security updates, new AI transparency features, reporting enhancements, and powerful planning insights. To use these new capabilities, you must upgrade your &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/client-libs?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24_2&amp;utm_content=learnmore-clientlibs&quot;&gt;client libraries&lt;/a&gt; and client code. All the updated client libraries and code examples have been published.
&lt;/p&gt;
&lt;p&gt;
We are also releasing minor versions v23.3, v22.2 and v21.2 of the Google Ads API to add additional support for multi-party approvals and synthetic content labeling.
&lt;/p&gt;
&lt;p&gt;
Come join us for a live walkthrough of this release in our &lt;a target=&quot;_blank&quot; href=&quot;https://discord.com/events/971845904002871346/1514967320227876966&quot;&gt;&quot;Google Ads API Release Highlights&quot; event on Discord&lt;/a&gt; or our &lt;a target=&quot;_blank&quot; href=&quot;https://www.youtube.com/watch?v=d7CVgPFlWQo&quot;&gt;Ads Developers YouTube Live&lt;/a&gt; tomorrow (June 25th at 10a ET). This will also be recorded and posted on YouTube for those who can’t make the live events. If you have any questions or want to discuss this post, reach out to us in the &lt;a target=&quot;_blank&quot; href=&quot;http://goo.gle/ads-and-measurement-discord&quot;&gt;#ads-api channel&lt;/a&gt; on Discord.
&lt;/p&gt;
&lt;h2&gt;New Features&lt;/h2&gt;


&lt;p&gt;
&lt;strong&gt;Multi-party approvals (MPA) for Google Ads API:&lt;/strong&gt; We are introducing support for &lt;a target=&quot;_blank&quot; href=&quot;https://support.google.com/google-ads/answer/16891189&quot;&gt;multi-party approval&lt;/a&gt; in the Google Ads API. This feature secures sensitive account actions such as user invitations and user access level updates by requiring a second administrator to approve the changes.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;AI Transparency: Synthetic Content Labeling: &lt;/strong&gt;As AI-generated assets become more common, transparency is essential. Google Ads API v24.2 exposes the &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/SyntheticContentInfo?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24_2&amp;utm_content=learnmore-refdocs&quot;&gt;SyntheticContentInfo&lt;/a&gt;&lt;/code&gt; and &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/SyntheticContentAttestation?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24_2&amp;utm_content=learnmore-refdocs&quot;&gt;SyntheticContentAttestation&lt;/a&gt;&lt;/code&gt; structures on both &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/Asset?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24_2&amp;utm_content=learnmore-refdocs#synthetic_content_info&quot;&gt;Asset&lt;/a&gt;&lt;/code&gt; and &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/Ad?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24_2&amp;utm_content=learnmore-refdocs#synthetic_content_info&quot;&gt;Ad&lt;/a&gt;&lt;/code&gt; resources, allowing you to programmatically label AI-generated ad creatives. Both the &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/SyntheticContentInfo?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24_2&amp;utm_content=learnmore-refdocs#advertiser_attestation&quot;&gt;advertiser&lt;/a&gt; and &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/SyntheticContentInfo?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24_2&amp;utm_content=learnmore-refdocs#system_attestation&quot;&gt;Google systems&lt;/a&gt; can attest whether the assets and ads are AI-generated or not, as well as whether they were generated fully automatically, or with advertiser-review. If you&#39;re preparing for the &lt;a target=&quot;_blank&quot; href=&quot;https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai&quot;&gt;EU AI Act&lt;/a&gt; taking effect on August 2, 2026, then explore this feature. To help you plan your upcoming integration work for v25, the interface for mutating advertiser attestation fields is being introduced early for versions v22 and later. The interface is visible in these versions, but &lt;code&gt;synthetic_content_info.advertiser_attestation.status&lt;/code&gt; and &lt;code&gt;synthetic_content_info.advertiser_attestation.source&lt;/code&gt; fields will remain immutable for these versions. 

&lt;p&gt;
 If you attempt a mutate request on either of these fields, one of these errors will be returned:
&lt;/p&gt;
&lt;p&gt;
 &quot;The field attempted to be mutated is immutable&quot; or  &quot;Field cannot be set&quot;. These fields will become fully mutable starting in v25. We recommend using the interface now to build and test your internal logic so your system is ready for full write capabilities when v25 is launched.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;PMax Placement Reporting &amp; Video Linkages: &lt;/strong&gt;This release also includes key reporting and video asset enhancements:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;PMax Placement Segmentation:&lt;/strong&gt; You can now segment your &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/fields/v24/performance_max_placement_view?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24_2&amp;utm_content=learnmore-refdocs&quot;&gt;performance_max_placement_view&lt;/a&gt;&lt;/code&gt; reporting by &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/fields/v24/campaign?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24_2&amp;utm_content=learnmore-refdocs#segments.ad_network_type&quot;&gt;ad_network_type&lt;/a&gt;&lt;/code&gt;, giving you granular visibility into where your PMax ads are serving across Search, Display, and partner networks.
&lt;li&gt;&lt;strong&gt;YouTube Brand Channel Links:&lt;/strong&gt; Create secure YouTube data links associated with a specific brand channel directly via the Google Ads API, enabling richer video asset integrations.
&lt;li&gt;&lt;strong&gt;Landing page text generation:&lt;/strong&gt; Opt-in to automatic text asset generation derived directly from your landing page using the new &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/AssetAutomationTypeEnum.AssetAutomationType?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24_2&amp;utm_content=learnmore-refdocs#generate_landing_page_preview&quot;&gt;LANDING_PAGE_TEXT_GENERATION&lt;/a&gt;&lt;/code&gt; &lt;code&gt;AssetAutomationType&lt;/code&gt;.&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
&lt;strong&gt;New Experiment Types&lt;/strong&gt;: We have introduced new experiment types to provide greater testing flexibility.
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;Campaign Mix Experiments&lt;/strong&gt;: This new workflow supports the &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/ExperimentTypeEnum.ExperimentType?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24_2&amp;utm_content=learnmore-refdocs#compare_campaigns&quot;&gt;COMPARE_CAMPAIGNS&lt;/a&gt;&lt;/code&gt; experiment type, which is equivalent to &lt;strong&gt;Custom mixed campaign types&lt;/strong&gt; in the Google Ads UI. It allows you to assign existing campaigns across up to 5 experiment arms to compare multiple variables and campaign types within a single experiment. This workflow also supports creating custom Performance Max experiments.
&lt;li&gt;&lt;strong&gt;Performance Max Feature Testing&lt;/strong&gt;: The new &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/ExperimentTypeEnum.ExperimentType?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24_2&amp;utm_content=learnmore-refdocs#pmax_text_customization_final_url_expansion&quot;&gt;PMAX_TEXT_CUSTOMIZATION_FINAL_URL_EXPANSION&lt;/a&gt;&lt;/code&gt; experiment type lets you split traffic within a single campaign to test the impact of text customization (formerly automatically created assets) and final URL expansion.&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Documentation updates&lt;/h2&gt;


&lt;p&gt;
We have revamped the &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/release-notes?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24_2&amp;utm_content=learnmore-releasenotes&quot;&gt;release notes&lt;/a&gt; format to help you identify the changes introduced in each release. Breaking changes are now listed separately from non-breaking feature updates. The &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/deprecations?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24_2&amp;utm_content=learnmore-guides#planned-feature-deprecations&quot;&gt;Feature deprecations and unversioned changes guide&lt;/a&gt; helps you keep track of feature sunsets. 
&lt;/p&gt;
&lt;p&gt;
We hope this new format helps you perform API upgrades more easily. Try it out, and let us know your feedback by clicking the &lt;strong&gt;Send Feedback&lt;/strong&gt; button. 
&lt;/p&gt;
&lt;h2&gt;Getting Started&lt;/h2&gt;


&lt;p&gt;
Google Ads API v24.2 is a drop-in upgrade for v24.1. If you use our client libraries, download the latest version of your client library to start using these features. For a full list of changes, please review the &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/release-notes?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24_2&amp;utm_content=learnmore-releasenotes#v24-2-2026-06-24&quot;&gt;official release notes&lt;/a&gt;. For technical support issues, reach out to &lt;a target=&quot;_blank&quot; href=&quot;https://support.google.com/google-ads/contact/google_ads_api&quot;&gt;https://support.google.com/google-ads/contact/google_ads_api&lt;/a&gt;  
&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;byline-author&quot;&gt;&lt;a target=&quot;_blank&quot; target=&quot;_blank&quot; target=&quot;_blank&quot; href=&quot;https://g.dev/anash&quot;&gt;&lt;img width=&quot;40&quot; height=&quot;40&quot; src=&quot;https://lh3.googleusercontent.com/a-/AD_cMMRmfdsXvZhyLvWsLuqqcScxtYI0ih7DPGCk8lTee140NzXH=s300&quot; style=&quot;vertical-align:middle; border:none;&quot;&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a target=&quot;_blank&quot; target=&quot;_blank&quot; target=&quot;_blank&quot; href=&quot;https://g.dev/anash&quot; rel=&quot;author&quot;&gt;Anash P. Oommen&lt;/a&gt;, Google Ads API Team&lt;/span&gt;&lt;/p&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/4981407651934041130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/4981407651934041130'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/06/announcing-v242-of-google-ads-api.html' title='Announcing v24.2 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><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-5735402964444378595</id><published>2026-06-24T10:01:23.103-07:00</published><updated>2026-06-24T10:01:23.103-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ad_manager"/><category scheme="http://www.blogger.com/atom/ns#" term="admob"/><category scheme="http://www.blogger.com/atom/ns#" term="analytics"/><category scheme="http://www.blogger.com/atom/ns#" term="android"/><category scheme="http://www.blogger.com/atom/ns#" term="api"/><category scheme="http://www.blogger.com/atom/ns#" term="data_manager_api"/><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><category scheme="http://www.blogger.com/atom/ns#" term="ima_sdk"/><category scheme="http://www.blogger.com/atom/ns#" term="iOS"/><category scheme="http://www.blogger.com/atom/ns#" term="mobile_ads_sdk"/><title type='text'>More autonomy, less context: Introducing Agent Skills for Google Advertising and Measurement</title><content type='html'>&lt;p&gt;
The way developers build and integrate software is changing. With the rapid adoption of AI-powered coding assistants, we are launching a dedicated set of Google Advertising and Measurement agent skills in the &lt;strong&gt;&lt;a href=&quot;https://github.com/google/skills&quot;&gt;Google skills repository&lt;/a&gt;&lt;/strong&gt; to empower your integration with products.
&lt;/p&gt;
&lt;p&gt;
These skills transform your AI agents into Google ads and measurement specialists. For example, you’re working in your favorite agentic-enabled IDE and want to set up Google Ads API credentials and a client library. Our new repository serves as the official hub for curated sets of context and best practices designed to guide AI agents in helping you complete your task faster and more accurately.
&lt;/p&gt;
&lt;h1&gt;What are Agent Skills?&lt;/h1&gt;


&lt;p&gt;
Think of an Agent Skill as a token-efficient cheat sheet for an AI assistant. They follow the &lt;a href=&quot;https://agentskills.io/home&quot;&gt;Agent Skills open standard&lt;/a&gt;, letting your agents use skills as modular tools when relevant. Each skill has a title and short description that the agent uses to decide when to activate the skill. 
&lt;/p&gt;
&lt;h1&gt;How do Agent Skills work?&lt;/h1&gt;


&lt;p&gt;
Skills are more powerful than reusable prompts and AGENTS.md files because Agent Skills use “progressive disclosure”. This means your agent only pulls in the exact context it needs - and nothing it doesn&#39;t. Full instructions load only when a task calls for them, so agents can keep many skills on hand with only a small context footprint. 
&lt;/p&gt;
&lt;p&gt;
When your agent encounters a specific task, such as integrating the Google Mobile Ads (GMA) SDK, the agent selectively activates the relevant skill and reads its instructions to complete the task.
&lt;/p&gt;
&lt;h1&gt;Why Agent Skills?&lt;/h1&gt;


&lt;p&gt;
AI assistants are only as good as the information they can access. By providing a dedicated repository of official guidance, we aim to:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;Provide accurate and up-to-date guidance&lt;/strong&gt; directly within your AI-assisted coding environment.
&lt;li&gt;&lt;strong&gt;Lower the barrier to entry&lt;/strong&gt; for our SDKs and APIs by giving AI agents the necessary context to offer successful integration advice.
&lt;li&gt;&lt;strong&gt;Establish a unified hub&lt;/strong&gt; that provides official, high-quality guidance from Google developers.&lt;/li&gt;&lt;/ul&gt;

&lt;h1&gt;Implement Google ads with core skills &lt;/h1&gt;


&lt;p&gt;
Our initial launch includes a targeted set of skills across several ads products:
&lt;/p&gt;

&lt;table style=&quot;width: 100%; table-layout: fixed;&quot; border=2&gt;
  &lt;tr&gt;
   &lt;td width=&quot;45%&quot; style=&quot;background-color: null&quot;&gt;&lt;strong&gt;Skill Name&lt;/strong&gt;
   &lt;/td&gt;
   &lt;td style=&quot;background-color: null&quot;&gt;&lt;strong&gt;Description&lt;/strong&gt;
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;background-color: null&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/google/skills/tree/main/skills/ads/google-mobile-ads/google-mobile-ads-get-started&quot;&gt;google-mobile-ads-get-started&lt;/a&gt;&lt;/strong&gt;
   &lt;/td&gt;
   &lt;td style=&quot;background-color: null&quot;&gt;Assists with adding the Google Mobile Ads SDK to your app for the first time, setting the application ID, and initializing the SDK.
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;background-color: null&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/google/skills/tree/main/skills/ads/google-mobile-ads/google-mobile-ads-android-migrate-to-next-gen&quot;&gt;google-mobile-ads-android-migrate-to-next-gen&lt;/a&gt;&lt;/strong&gt;
   &lt;/td&gt;
   &lt;td style=&quot;background-color: null&quot;&gt;Assists with migrating your Android codebase from the legacy Android Google Mobile Ads SDK to GMA Next-Gen SDK.
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;background-color: null&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/google/skills/tree/main/skills/ads/google-mobile-ads/google-mobile-ads-banner&quot;&gt;google-mobile-ads-banner&lt;/a&gt;&lt;/strong&gt;
   &lt;/td&gt;
   &lt;td style=&quot;background-color: null&quot;&gt;Assists with implementing banner ads, such as large anchored adaptive banners and inline adaptive banners.
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;background-color: null&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/google/skills/tree/main/skills/ads/google-mobile-ads/google-mobile-ads-interstitial&quot;&gt;google-mobile-ads-interstitial&lt;/a&gt;&lt;/strong&gt;
   &lt;/td&gt;
   &lt;td style=&quot;background-color: null&quot;&gt;Assists with implementing full-screen interstitial ads and showing them at natural transition points in your app.
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;background-color: null&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/google/skills/tree/main/skills/ads/google-mobile-ads/google-mobile-ads-rewarded&quot;&gt;google-mobile-ads-rewarded&lt;/a&gt;&lt;/strong&gt;
   &lt;/td&gt;
   &lt;td style=&quot;background-color: null&quot;&gt;Assists with implementing rewarded ads, showing them and handling user reward callbacks.
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;background-color: null&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/google/skills/tree/main/skills/ads/interactive-media-ads/ima-sdk-basics&quot;&gt;ima-sdk-basics&lt;/a&gt;&lt;/strong&gt;
   &lt;/td&gt;
   &lt;td style=&quot;background-color: null&quot;&gt;Assists with implementing Interactive Media Ads (IMA) SDK client-side ad insertion to request VAST or VMAP video ads across websites, apps, and TVs.
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;background-color: null&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/google/skills/tree/main/skills/ads/google-ads-api/google-ads-api-mcp-setup&quot;&gt;google-ads-api-mcp-setup&lt;/a&gt;&lt;/strong&gt;
   &lt;/td&gt;
   &lt;td style=&quot;background-color: null&quot;&gt;Assists with installing the official open-source &lt;a href=&quot;https://github.com/googleads/google-ads-mcp&quot;&gt;Google Ads MCP server&lt;/a&gt; to a user’s AI assistant to query campaigns or retrieve reporting metrics using natural language.
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;background-color: null&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/google/skills/tree/main/skills/ads/google-ads-api/google-ads-api-quickstart&quot;&gt;google-ads-api-quickstart&lt;/a&gt;&lt;/strong&gt;
   &lt;/td&gt;
   &lt;td style=&quot;background-color: null&quot;&gt;Assists with Google Ads API credential setup, choosing a client library, running a &quot;retrieve campaigns&quot; script and troubleshooting common errors. 
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;background-color: null&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/google/skills/tree/main/skills/ads/data-manager-api/data-manager-api-audience-ingestion&quot;&gt;data-manager-api-audience-ingestion&lt;/a&gt;&lt;/strong&gt;
   &lt;/td&gt;
   &lt;td style=&quot;background-color: null&quot;&gt;Assists with getting started using the Data Manager API for sending audience data to supported Google products. 
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;background-color: null&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/google/skills/tree/main/skills/ads/data-manager-api/data-manager-api-event-ingestion&quot;&gt;data-manager-api-event-ingestion&lt;/a&gt;&lt;/strong&gt;
   &lt;/td&gt;
   &lt;td style=&quot;background-color: null&quot;&gt;Assists with getting started using the Data Manager API for uploading event and conversion data to supported Google products.   
   &lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;


&lt;h1&gt;How to install ads agent skills&lt;/h1&gt;


&lt;p&gt;
 You can discover and install these skills using npx:
&lt;/p&gt;



&lt;pre class=&quot;prettyprint&quot;&gt;npx skills add google/skills/skills/ads
&lt;/pre&gt;


&lt;p&gt;
This lets you choose specific skills for your project, ensuring your AI assistant has exactly the context it needs without unnecessary bloat.
&lt;/p&gt;
&lt;p&gt;
And to keep your skills up to date, you can run the following command:
&lt;/p&gt;



&lt;pre class=&quot;prettyprint&quot;&gt;npx skills update
&lt;/pre&gt;


&lt;h1&gt;Share your feedback&lt;/h1&gt;


&lt;p&gt;
Visit &lt;a href=&quot;https://github.com/google/skills&quot;&gt;https://github.com/google/skills&lt;/a&gt; today to get started. Share your feedback directly in GitHub or join our &lt;a href=&quot;https://goo.gle/ads-and-measurement-discord&quot;&gt;Discord&lt;/a&gt;. And stay tuned for more updates.
&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;byline-author&quot;&gt;&lt;img width=&quot;40&quot; height=&quot;40&quot; src=&quot;https://lh3.googleusercontent.com/a-/AOh14GjtsQZdIExmcjrR581d0QKQR_WB3m0ETlK1hUK5=s88-w88-h88-c-k?sz=40&quot; style=&quot;vertical-align:middle; border:none;&quot;&gt;&amp;nbsp;-&amp;nbsp;Justin Malandruccolo, Mobile Ads Developer Relations&lt;/span&gt;&lt;/p&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/5735402964444378595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/5735402964444378595'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/06/more-autonomy-less-context-introducing.html' title='More autonomy, less context: Introducing Agent Skills for Google Advertising and Measurement'/><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh3.googleusercontent.com/a-/AOh14GjtsQZdIExmcjrR581d0QKQR_WB3m0ETlK1hUK5=s72-w88-h88-c-k?sz=40" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-3498464304976419670</id><published>2026-06-23T07:59:33.306-07:00</published><updated>2026-06-23T07:59:33.306-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="campaign"/><category scheme="http://www.blogger.com/atom/ns#" term="display"/><category scheme="http://www.blogger.com/atom/ns#" term="display_smart_campaign"/><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><category scheme="http://www.blogger.com/atom/ns#" term="smart"/><category scheme="http://www.blogger.com/atom/ns#" term="sunset"/><title type='text'>Changes to Support for Smart Campaigns in the Google Ads API </title><content type='html'>&lt;p&gt;
Starting on August 3, 2026 you will no longer be able to create new &lt;a href=&quot;https://developers.google.com/google-ads/api/docs/smart-campaigns/overview&quot;&gt;Smart Campaigns&lt;/a&gt; using the Google Ads API. You will still be able to update your existing Smart Campaigns, and they will continue to serve ads.
&lt;/p&gt;
&lt;p&gt;
In lieu of new Smart Campaigns, we recommend exploring other campaign types, such as &lt;a href=&quot;https://developers.google.com/google-ads/api/performance-max?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-smart-bidding-updates-202606&amp;utm_content=readmore-pmax-guide&quot;&gt;Performance Max, &lt;/a&gt;an automated campaign type that serves across Google&#39;s advertising channels. Other campaign types, such as Search or Demand Gen, are also available, depending on your business goals.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Technical details&lt;/strong&gt;
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;To determine whether your application is creating Smart Campaigns, look for campaign mutate requests with create operations where the campaign&#39;s &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/latest/Campaign#advertising_channel_type?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-smart-bidding-updates-202606&amp;utm_content=readmore-advertising-challen-type&quot;&gt;advertising_channel_type&lt;/a&gt;&lt;/code&gt; is set to &lt;code&gt;SMART&lt;/code&gt; and the &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/latest/Campaign#advertising_channel_sub_type?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-smart-bidding-updates-202606&amp;utm_content=readmore-advertising-channel-sub-type&quot;&gt;advertising_channel_sub_type&lt;/a&gt;&lt;/code&gt; is set to &lt;code&gt;SMART_CAMPAIGN&lt;/code&gt;. 
&lt;li&gt;When attempting to create a new Smart Campaign, the following will occur: &lt;ul&gt;

 &lt;li&gt;In v24 of the Google Ads API:  &lt;ul&gt;

  &lt;li&gt;A &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/latest/SmartCampaignErrorEnum.SmartCampaignError#creation_failed?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-smart-bidding-updates-202606&amp;utm_content=readmore-creation-failed&quot;&gt;SmartCampaignError.CREATION_FAILED&lt;/a&gt;&lt;/code&gt; error will be returned and the request will fail.
 &lt;li&gt;In v23 and earlier of the Google Ads API  &lt;ul&gt;

  &lt;li&gt;A &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/latest/OperationAccessDeniedErrorEnum.OperationAccessDeniedError#create_operation_not_permitted?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-smart-bidding-updates-202606&amp;utm_content=readmore-create-operation-not-permitted&quot;&gt;OperationAccessDeniedError.CREATE_OPERATION_NOT_PERMITTED&lt;/a&gt;&lt;/code&gt; error will be returned and the request will fail. &lt;/li&gt;  &lt;/ul&gt;
&lt;/li&gt;  &lt;/ul&gt;
&lt;/li&gt;  &lt;/ul&gt;
&lt;/li&gt;  &lt;/ul&gt;

&lt;p&gt;
For technical support issues, please reach out to &lt;a href=&quot;https://developers.google.com/google-ads/api/support?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-smart-bidding-updates-202606&amp;utm_content=support-gaapi&quot;&gt;Google Ads API Support&lt;/a&gt;. If you have any questions or want to discuss this post, please reach out to us on our &lt;a href=&quot;http://goo.gle/ads-and-measurement-discord&quot;&gt;“Google Advertising and Measurement Community” Discord server&lt;/a&gt;.  
&lt;/p&gt;

&lt;div class=&quot;byline-author&quot;&gt;
  &lt;table&gt;
    &lt;tr&gt;
      &lt;td style=&quot;width:50px&quot;&gt;
        &lt;img height=&quot;40&quot; src=&quot;https://lh3.googleusercontent.com/a-/AOh14GhFLgYJAFpYHUS1kBcLzMIT2gKkUyYcjWCuOWM3=s600-p&quot; style=&quot;vertical-align: middle; border:none; margin: 0px;&quot; width=&quot;40&quot;/&gt;
      &lt;/td&gt;
      &lt;td&gt;
        &lt;div style=&quot;height:20px;&quot;&gt;
          Ben Karl
        &lt;/div&gt;
        &lt;div&gt;Google’s Advertising and Measurement Developer Relations team&lt;/div&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/table&gt;
&lt;/div&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/3498464304976419670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/3498464304976419670'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/06/changes-to-support-for-smart-campaigns.html' title='Changes to Support for Smart Campaigns 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><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh3.googleusercontent.com/a-/AOh14GhFLgYJAFpYHUS1kBcLzMIT2gKkUyYcjWCuOWM3=s72-c-p" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-589421592080885626</id><published>2026-06-11T09:39:32.911-07:00</published><updated>2026-06-11T09:39:32.912-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><title type='text'>Dynamic Search Ads (DSA) Automigration Delayed to February 2027 and Campaign Creation Restored</title><content type='html'>&lt;h2&gt;What is changing?&lt;/h2&gt;


&lt;p&gt;
Google is extending the timeline for the transition of &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/dynamic-search-ads/overview?utm_campaign=adr-google-ads-api-dsa-automigration-extension&amp;utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_content=extend-timeline&quot;&gt;Dynamic Search Ads&lt;/a&gt; (DSA) to &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/campaigns/ai-max-for-search-campaigns/getting-started?utm_campaign=adr-google-ads-api-dsa-automigration-extension&amp;utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_content=extend-timeline&quot;&gt;AI Max for Search campaigns&lt;/a&gt; and restoring campaign creation functionality.
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;Automigration Delayed:&lt;/strong&gt; The automatic upgrade of DSA campaigns to AI Max (or Search campaigns with broad match and Smart Bidding) has been postponed from September 2026 to &lt;strong&gt;February 2027&lt;/strong&gt;.
&lt;li&gt;&lt;strong&gt;Creation Restored:&lt;/strong&gt; The ability to create new DSAs is being restored on June 15, 2026.&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
This change is designed to give advertisers additional time to manage their own transitions, perform thorough testing, and ensure a seamless migration to AI Max.
&lt;/p&gt;
&lt;h2&gt;What is the DSA Migration?&lt;/h2&gt;


&lt;p&gt;
Dynamic Search Ads (DSA) have long helped advertisers capture relevant searches by using website content to target ads. As part of our commitment to delivering the best performance through Google AI, we are transitioning legacy search features to more advanced, asset-based AI Max for Search campaigns&lt;strong&gt;. &lt;/strong&gt;
&lt;/p&gt;
&lt;h2&gt;Why is this changing?&lt;/h2&gt;


&lt;p&gt;
By moving the automigration to February 2027 and restoring the ability to create new DSAs, we are providing additional flexibility to perform these migrations on your own schedule and terms.
&lt;/p&gt;
&lt;h2&gt;How to Prepare&lt;/h2&gt;


&lt;p&gt;
Although you now have additional time, we strongly recommend proactively managing your migration rather than waiting for the automatic upgrade in February 2027. Manual migration allows you to tailor your assets and maintain tighter control over your campaign structures.
&lt;/p&gt;
&lt;h2&gt;Step 1: Audit Your Accounts&lt;/h2&gt;


&lt;p&gt;
Identify all active DSAs  and ad groups currently running in your accounts.
&lt;/p&gt;
&lt;p&gt;
If you are using the Google Ads API, you can query the &lt;code&gt;campaign&lt;/code&gt; resource to find campaigns with the advertising channel type set to &lt;code&gt;SEARCH&lt;/code&gt; and targeting settings configured for dynamic search ads:
&lt;/p&gt;



&lt;pre class=&quot;prettyprint&quot;&gt;SELECT
  campaign.id,
  campaign.name,
  campaign.status,
  campaign.dynamic_search_ads_setting.domain_name
FROM
  campaign
WHERE
  campaign.status = &#39;ENABLED&#39;
  AND campaign.dynamic_search_ads_setting.domain_name IS NOT NULL
&lt;/pre&gt;


&lt;h2&gt;Step 2: Begin Side-by-Side Testing&lt;/h2&gt;


&lt;p&gt;
Use the restored DSA creation functionality to maintain your baseline while you test AI-powered alternatives. We recommend setting up &lt;strong&gt;Campaign Experiments&lt;/strong&gt; to test AI Max for  Search campaigns (with broad match and Smart Bidding) against your existing DSA campaigns to measure performance parity.
&lt;/p&gt;
&lt;h2&gt;Step 3: Utilize Voluntary Upgrade Tools&lt;/h2&gt;


&lt;p&gt;
When you are ready to transition, use the voluntary upgrade tools available in the Google Ads UI. These tools allow for a &quot;one-click&quot; transition that preserves historical reporting and minimizes learning-phase disruptions by mapping your DSA targets to their modern equivalents.
&lt;/p&gt;
&lt;h2&gt;The Updated Transition Timeline&lt;/h2&gt;


&lt;p&gt;
We encourage you to take advantage of this extension to complete your migrations. The updated timeline is as follows:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;Immediate (June 2026):&lt;/strong&gt; DSA campaign creation is fully restored. Advertisers can create and edit DSA campaigns as needed.
&lt;li&gt;&lt;strong&gt;June 2026 – January 2027:&lt;/strong&gt; Extended testing and voluntary migration period. Advertisers should actively transition campaigns.
&lt;li&gt;&lt;strong&gt;January 2027&lt;/strong&gt;: Ability to create DSAs is removed.
&lt;li&gt;&lt;strong&gt;February 2027:&lt;/strong&gt; Automigration begins. Any remaining active DSA campaigns will be automatically upgraded to Performance Max or AI-powered Search campaigns.&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;

&lt;hr&gt;
&lt;/p&gt;
&lt;p&gt;
Bob Hancock, Google Ads API Team
&lt;/p&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/589421592080885626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/589421592080885626'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/06/dynamic-search-ads-dsa-automigration.html' title='Dynamic Search Ads (DSA) Automigration Delayed to February 2027 and Campaign Creation Restored'/><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-8725267558618735394</id><published>2026-06-10T08:52:46.774-07:00</published><updated>2026-06-10T08:52:46.775-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><title type='text'>Introducing the Google Ads API Developer Assistant v3.0.0</title><content type='html'>&lt;p&gt;
We are pleased to announce the release of &lt;strong&gt;v3.0.0&lt;/strong&gt; of the &lt;strong&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/developer-toolkit/ai-assistant?utm_campaign=adr-google-ads-api-developer-assistatn_v3_0_0&amp;utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_content=announce-release&quot;&gt;Google Ads API Developer Assistant&lt;/a&gt;&lt;/strong&gt;. This major release marks a significant milestone in the evolution of the Assistant, focusing on architectural modernization, improved reliability, and a more modular design.
&lt;/p&gt;
&lt;p&gt;
With this release, we are migrating the Assistant to the &lt;strong&gt;Google&lt;/strong&gt; &lt;strong&gt;Antigravity&lt;/strong&gt; agent framework and transitioning to a &lt;strong&gt;Skills-based&lt;/strong&gt; architecture. These changes make the Assistant more robust, easier to maintain, and reduce token use.
&lt;/p&gt;

&lt;hr&gt;
&lt;h3&gt;&lt;strong&gt;What’s new in v3.0.0?&lt;/strong&gt;&lt;/h3&gt;


&lt;h4&gt;1. Powered by the Antigravity framework&lt;/h4&gt;


&lt;p&gt;
The Google Ads API Developer Assistant has migrated from &lt;code&gt;gemini-cli&lt;/code&gt; to the &lt;strong&gt;Antigravity&lt;/strong&gt; agent framework (v3.0.0). This underlying framework upgrade provides a more structured and reliable execution environment. Along with this, the directory and file structure of the project has been updated to be fully Antigravity-ready.
&lt;/p&gt;
&lt;p&gt;
Support for &lt;code&gt;gemini-cli&lt;/code&gt; will terminate on June 18, 2026, as detailed in this &lt;a target=&quot;_blank&quot; href=&quot;https://developers.googleblog.com/an-important-update-transitioning-gemini-cli-to-antigravity-cli/?utm_campaign=adr-google-ads-api-developer-assistatn_v3_0_0&amp;utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_content=read-announcement&quot;&gt;Google blog announcement&lt;/a&gt;.
&lt;/p&gt;
&lt;h4&gt;2. A modular, skills-based architecture&lt;/h4&gt;


&lt;p&gt;
We have transitioned the Assistant&#39;s core capabilities into &lt;strong&gt;Skills&lt;/strong&gt;. Instead of relying on broad, unstructured instructions in a context file, the Assistant now loads specialized, test-backed tool directories (Skills) dynamically when needed. This drastically reduces &quot;hallucinations&quot; and ensures tasks are executed using precise, verified procedures.
&lt;/p&gt;
&lt;p&gt;
Key updates in this modular transition include:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;GAQL validation (&lt;code&gt;validate_gaql&lt;/code&gt;)&lt;/strong&gt;: Moved to a dedicated skill. It now includes enhanced static query checks for date segments, &lt;code&gt;click_view&lt;/code&gt; single-day filters, and &lt;code&gt;change_status&lt;/code&gt; boundaries.
&lt;li&gt;&lt;strong&gt;Troubleshoot conversions (&lt;code&gt;troubleshoot_conversions&lt;/code&gt;)&lt;/strong&gt;: Replaces the old &lt;code&gt;conversions_support_package&lt;/code&gt;. It consolidates all conversion troubleshooting and upload summary scripts, and tests into a single, cohesive skill directory.
&lt;li&gt;&lt;strong&gt;Structured commands (&lt;code&gt;explain&lt;/code&gt; and &lt;code&gt;step_by_step&lt;/code&gt;)&lt;/strong&gt;: Converted to skills to enforce consistent, structured layouts for explanations.
&lt;li&gt;&lt;strong&gt;New account mapping (&lt;code&gt;get_cids_under_mcc&lt;/code&gt;)&lt;/strong&gt;: A new skill to retrieve all child accounts under a Manager Account (MCC).
&lt;li&gt;&lt;strong&gt;New object inspection (&lt;code&gt;inspect_object&lt;/code&gt;)&lt;/strong&gt;: A new skill for dynamically looking up Protobuf messages and Enums on the fly, to help ensure the Assistant always uses correct structures.
&lt;li&gt;&lt;strong&gt;New PMax listing filter (&lt;code&gt;pmax_listing_filter&lt;/code&gt;)&lt;/strong&gt;: A new skill to standardize listing group webpage exclusion tree modifications for Performance Max campaigns.&lt;/li&gt;&lt;/ul&gt;

&lt;h4&gt;3. Enhanced consistency &amp; rigor&lt;/h4&gt;


&lt;p&gt;
We&#39;ve introduced stricter rules and requirements to help ensure high-quality code generation and query validation:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;Explicit API versioning&lt;/strong&gt;: Critical skills like &lt;code&gt;get_cids_under_mcc&lt;/code&gt;, &lt;code&gt;validate_gaql&lt;/code&gt;, and &lt;code&gt;troubleshoot_conversions&lt;/code&gt; now require an explicit &lt;code&gt;api_version&lt;/code&gt; argument, eliminating ambiguity.
&lt;li&gt;&lt;strong&gt;Strict GAQL rules&lt;/strong&gt;: &lt;ul&gt;

 &lt;li&gt;Added a rule to &lt;code&gt;AGENTS.md&lt;/code&gt; to prevent the use of SQL aggregate functions (such as &lt;code&gt;SUM&lt;/code&gt;, &lt;code&gt;COUNT&lt;/code&gt;, and &lt;code&gt;AVG&lt;/code&gt;) in GAQL queries, as they are not supported.
 &lt;li&gt;Added a rule to check &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/release-notes?utm_campaign=adr-google-ads-api-developer-assistatn_v3_0_0&amp;utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_content=check-releasenotes&quot;&gt;Google Ads API Developer site release notes&lt;/a&gt; first for the current API version to ensure the Assistant uses up-to-date documentation. 
&lt;li&gt;&lt;strong&gt;Streamlined configuration&lt;/strong&gt;: &lt;code&gt;AGENTS.md&lt;/code&gt; has been streamlined leading to a smaller initial context window. Duplicate conversion documentation has been removed in favor of programmatic skills.&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;/ul&gt;

&lt;h4&gt;4. Developer Experience (DX) improvements&lt;/h4&gt;


&lt;p&gt;
We&#39;ve made several quality-of-life improvements to make your development loop faster and smoother:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;Persistent virtual environment (&lt;code&gt;.venv&lt;/code&gt;)&lt;/strong&gt;: The virtual environment is no longer deleted at the end of a session. On startup, the Assistant checks your system&#39;s Python version; it only rebuilds the &lt;code&gt;.venv&lt;/code&gt; if a newer Python version is available.
&lt;li&gt;&lt;strong&gt;Smart API version caching&lt;/strong&gt;: The Assistant now caches the current Google Ads API version with a TTL of 19 hours, reducing startup time by avoiding redundant network checks.
&lt;li&gt;&lt;strong&gt;Better debugging with persistent logs&lt;/strong&gt;: Log messages now include datetime stamps. The log file is written to the &lt;code&gt;.agents/&lt;/code&gt; directory and is no longer reset on each run, preserving history for troubleshooting.&lt;/li&gt;&lt;/ul&gt;


&lt;hr&gt;

&lt;h3&gt;&lt;strong&gt;Why should you upgrade?&lt;/strong&gt;&lt;/h3&gt;


&lt;p&gt;
The upgrade to v3.0.0 is primarily about &lt;strong&gt;reliability and structure&lt;/strong&gt;. By moving to the Antigravity framework and modularizing features into Skills, we have made the Assistant more predictable and resource efficient. 
&lt;/p&gt;
&lt;p&gt;
If you want a faster startup, more reliable GAQL validation, and a more robust troubleshooting experience, we recommend upgrading to v3.0.0.
&lt;/p&gt;
&lt;hr&gt;

&lt;h3&gt;&lt;strong&gt;Get started&lt;/strong&gt;&lt;/h3&gt;


&lt;h4&gt;First installation&lt;/h4&gt;

&lt;ol&gt;

&lt;li&gt;&lt;strong&gt;Install Antigravity CLI&lt;/strong&gt;: Follow instructions at &lt;a target=&quot;_blank&quot; href=&quot;https://antigravity.google/&quot;&gt;https://antigravity.google/&lt;/a&gt;.
&lt;li&gt;&lt;strong&gt;Clone the Assistant&lt;/strong&gt;:&lt;/li&gt;&lt;/ol&gt;




&lt;pre class=&quot;prettyprint&quot;&gt;git clone https://github.com/googleads/google-ads-api-developer-assistant.git
&lt;/pre&gt;

&lt;ol&gt;

&lt;li&gt;&lt;strong&gt;Run the Install Script&lt;/strong&gt;: &lt;ul&gt;

 &lt;li&gt;&lt;strong&gt;Linux/macOS&lt;/strong&gt;: Run &lt;code&gt;./install.sh&lt;/code&gt; (defaults to Python support, use flags like &lt;code&gt;--php&lt;/code&gt; or &lt;code&gt;--ruby&lt;/code&gt; for other languages).
 &lt;li&gt;&lt;strong&gt;Windows&lt;/strong&gt;: Open PowerShell and run &lt;code&gt;.\install.ps1&lt;/code&gt;.&lt;/li&gt; &lt;/ul&gt;
&lt;/li&gt; &lt;/ol&gt;

&lt;h3&gt;Upgrade from v2.x&lt;/h3&gt;

&lt;ol&gt;

&lt;li&gt;Copy any custom code or data from &lt;code&gt;saved/&lt;/code&gt; to a secure location outside the project directory.
&lt;li&gt;Delete your local clone of the Assistant.
&lt;li&gt;Clone the repository:&lt;/li&gt;&lt;/ol&gt;




&lt;pre class=&quot;prettyprint&quot;&gt;git clone https://github.com/googleads/google-ads-api-developer-assistant.git
&lt;/pre&gt;

&lt;ol&gt;

&lt;li&gt;Run the install script (&lt;code&gt;install.sh&lt;/code&gt; or &lt;code&gt;install.ps1&lt;/code&gt;) to initialize the new Antigravity environment.&lt;/li&gt;&lt;/ol&gt;

&lt;hr&gt;

&lt;p&gt;
&lt;strong&gt;Bob Hancock&lt;/strong&gt;, Google Ads API Team
&lt;/p&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/8725267558618735394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/8725267558618735394'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/06/introducing-google-ads-api-developer.html' title='Introducing the Google Ads API Developer Assistant v3.0.0'/><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-3456438001929556349</id><published>2026-05-28T14:53:06.733-07:00</published><updated>2026-05-28T14:53:06.733-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="data_manager_api"/><category scheme="http://www.blogger.com/atom/ns#" term="dfa_api"/><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><title type='text'>Data Manager API now supports sending events to Google Marketing Platform destinations and IP ingestion for Google Ads Customer Match</title><content type='html'>&lt;p&gt;
  &lt;strong&gt;Google Marketing Platform event ingestion &lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
  The Data Manager API has introduced support for
  &lt;a
    href=&quot;https://developers.google.com/data-manager/api/devguides/events/send-events?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5b&amp;utm_content=learnmore-docs-sendevents&quot;
    &gt;sending offline conversion events&lt;/a
  &gt;
  to Google Marketing Platform products, including Campaign Manager 360, Search
  Ads 360, and Display &amp; Video 360.
&lt;/p&gt;
&lt;p&gt;
  The
  &lt;code
    &gt;&lt;a
      href=&quot;https://developers.google.com/data-manager/api/reference/rpc/google.ads.datamanager.v1?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5b&amp;utm_content=learnmore-ref-adidentifiers#adidentifiers&quot;
      &gt;AdIdentifiers&lt;/a
    &gt;&lt;/code
  &gt;
  object now includes &lt;code&gt;dclid&lt;/code&gt;, &lt;code&gt;impressionId&lt;/code&gt;,
  &lt;code&gt;matchId&lt;/code&gt;, and
  &lt;code
    &gt;&lt;a
      href=&quot;https://developers.google.com/data-manager/api/devguides/events/send-events?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5b&amp;utm_content=learnmore-docs-encrypteduserids#add_encrypted_user_ids&quot;
      &gt;encryptedUserIds&lt;/a
    &gt;&lt;/code
  &gt;. Check out the
  &lt;a
    href=&quot;https://developers.google.com/data-manager/api/devguides/events/send-events?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5b&amp;utm_content=learnmore-docs-eventsgetstarted-fl#floodlight&quot;
    &gt;Get started guide&lt;/a
  &gt;
  to see which fields are required for uploading conversions that occur away
  from your website.
&lt;/p&gt;

&lt;p&gt;
  If you&#39;re currently using the
  &lt;a
    href=&quot;https://developers.google.com/doubleclick-advertisers/guides/conversions_upload&quot;
    &gt;Campaign Manager 360 API&lt;/a
  &gt;
  for conversion uploads, we recommend reviewing our
  &lt;a
    href=&quot;https://developers.google.com/data-manager/api/devguides/events/cm360/offline/upgrade?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5b&amp;utm_content=learnmore-docs-upgradecm360&quot;
    &gt;upgrade guide&lt;/a
  &gt;
  to explore the advantages of the Data Manager API. These include a unified
  schema across all Google advertising products,
  &lt;a
    href=&quot;https://developers.google.com/data-manager/api/devguides/concepts/encryption?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5b&amp;utm_content=learnmore-docs-encryption&quot;
    &gt;encryption&lt;/a
  &gt;
  of user identifiers such as email and phone number, and the ability to
  &lt;a
    href=&quot;https://developers.google.com/data-manager/api/devguides/events/send-events?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5b&amp;utm_content=learnmore-docs-multidestination#multiple-destinations&quot;
    &gt;route events to multiple destinations&lt;/a
  &gt;
  in a single request.
&lt;/p&gt;
&lt;p&gt;
  &lt;strong&gt;Composite data &amp;amp; IP ingestion for Google Ads Customer Match&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
  In addition, you can now
  &lt;a
    href=&quot;https://developers.google.com/data-manager/api/devguides/audiences/send-audience-members?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5b&amp;utm_content=learnmore-docs-ipingestion#send-ip-timestamp&quot;
    &gt;send IP addresses in Google Ads Customer Match uploads&lt;/a
  &gt;
  using the new
  &lt;a
    href=&quot;https://developers.google.com/data-manager/api/reference/rpc/google.ads.datamanager.v1?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5b&amp;utm_content=learnmore-ref-compositedata#compositedata&quot;
    &gt;CompositeData&lt;/a
  &gt;
  field.
&lt;/p&gt;
&lt;p&gt;
  &lt;a
    href=&quot;https://developers.google.com/data-manager/api/devguides/audiences/send-audience-members?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5b&amp;utm_content=learnmore-docs-compositedata#composite-data&quot;
    &gt;Composite data&lt;/a
  &gt;
  allows you to include IP data, either on its own or alongside user identifiers
  like email address, phone number, and address information. Providing IP
  addresses along with their corresponding observation timestamps in
  &lt;a
    href=&quot;https://developers.google.com/data-manager/api/reference/rpc/google.ads.datamanager.v1?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5b&amp;utm_content=learnmore-ref-ipdata#ipdata&quot;
    &gt;IpData&lt;/a
  &gt;
  will help &lt;strong&gt;drive higher match rates&lt;/strong&gt; for Google Ads Customer
  Match beginning in &lt;em&gt;Q3 2026.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
  While we&#39;ll continue to support the
  &lt;a
    href=&quot;https://developers.google.com/data-manager/api/reference/rpc/google.ads.datamanager.v1?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5b&amp;utm_content=learnmore-ref-userdatafield#google.ads.datamanager.v1.AudienceMember.FIELDS.google.ads.datamanager.v1.UserData.google.ads.datamanager.v1.AudienceMember.user_data&quot;
    &gt;user_data&lt;/a
  &gt;
  field for user identifier uploads, we recommend sending user identifiers using
  &lt;a
    href=&quot;https://developers.google.com/data-manager/api/reference/rpc/google.ads.datamanager.v1?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5b&amp;utm_content=learnmore-ref-compositedatafield#google.ads.datamanager.v1.AudienceMember.FIELDS.google.ads.datamanager.v1.CompositeData.google.ads.datamanager.v1.AudienceMember.composite_data&quot;
    &gt;composite_data&lt;/a
  &gt;
  to ensure your integration is ready for future improvements and features.
&lt;/p&gt;
&lt;p&gt;
  &lt;strong&gt;Get started&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;
    Learn how to upgrade your existing Campaign Manager 360 offline conversion upload workflows:
    &lt;ul&gt;
      &lt;li&gt;
        &lt;a href=&quot;https://developers.google.com/data-manager/api/devguides/events/cm360/offline?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5b&amp;utm_content=learnmore-docs-upgradecm360&quot;&gt;Upgrade from the Campaign Manager 360 API&lt;/a&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;
    Learn how to send IP addresses for Google Ads Customer Match:
    &lt;ul&gt;
      &lt;li&gt;
        &lt;a href=&quot;https://developers.google.com/data-manager/api/devguides/audiences/send-audience-members?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5b&amp;utm_content=learnmore-docs-compositedata#composite-data&quot;&gt;Composite data&lt;/a&gt;
      &lt;/li&gt;
      &lt;li&gt;
        &lt;a href=&quot;https://developers.google.com/data-manager/api/devguides/audiences/send-audience-members?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5b&amp;utm_content=learnmore-docs-ipingestion#send-ip-timestamp&quot;&gt;IP ingestion for Customer Match&lt;/a&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
  If you have any questions or want to discuss this post, please reach out to us
  on our
  &lt;a href=&quot;http://goo.gle/ads-and-measurement-discord&quot;
    &gt;&quot;Google Advertising and Measurement Community&quot; Discord server&lt;/a
  &gt;. You can also contact us through the
  &lt;a
    href=&quot;https://developers.google.com/data-manager/api/support/contact?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5b&amp;utm_content=contact-support&quot;
    &gt;support page&lt;/a
  &gt;
  if you have an issue or need help with the API.
&lt;/p&gt;
&lt;p&gt;
  If you’re interested in becoming a data partner, please fill out the
  &lt;a
    href=&quot;https://docs.google.com/forms/d/e/1FAIpQLScFEkLVqElsjYJ21h7z0mSUk8Tj1M3TEMwouFPQb7qyM-oI5w/viewform?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5b&amp;utm_content=contact-partner-interest-form&quot;
    &gt;Partner Interest Form&lt;/a
  &gt;.
&lt;/p&gt;

&lt;span class=&quot;byline-author&quot;
  &gt;&lt;img
    height=&quot;40&quot;
    src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiChe_g1JujivrmFreqOSiiJVG79VFlvDXoigneV-ZD8m1fDd6MfMyi3dGgc4PYhLKJrzb_QxVMM7jqCfqNpWk3CxmsvDxSvdiGwgqUlPZ0NIhAGdRJXiNeWj77GTFI3bAdcnNr8VamYJEFSi1GdAzq4UuiY3w5EZpXQzHWQDHTI8Hf-9aU3rI3Q_Vdutc&quot;
    style=&quot;border: none; vertical-align: middle;&quot;
    width=&quot;40&quot;
    height=&quot;40&quot;
  /&gt;
  - Lindsey Volta, on behalf of the Data Manager API Team&lt;/span
&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/3456438001929556349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/3456438001929556349'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/05/data-manager-api-now-supports-sending.html' title='Data Manager API now supports sending events to Google Marketing Platform destinations and IP ingestion for Google Ads Customer Match'/><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEiChe_g1JujivrmFreqOSiiJVG79VFlvDXoigneV-ZD8m1fDd6MfMyi3dGgc4PYhLKJrzb_QxVMM7jqCfqNpWk3CxmsvDxSvdiGwgqUlPZ0NIhAGdRJXiNeWj77GTFI3bAdcnNr8VamYJEFSi1GdAzq4UuiY3w5EZpXQzHWQDHTI8Hf-9aU3rI3Q_Vdutc=s72-c" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-4159277691010699365</id><published>2026-05-27T09:33:19.067-07:00</published><updated>2026-05-27T09:33:19.067-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><title type='text'>Standardizing Reach Metrics with Total Co-view in the Google Ads API</title><content type='html'>&lt;p&gt;
Starting on June 2nd, 2026, the Google Ads API will transition reach metrics to a &lt;a target=&quot;_blank&quot; href=&quot;https://support.google.com/google-ads/answer/11958922&quot;&gt;&quot;Total Co-view&quot;&lt;/a&gt; definition. This update aligns Google Ads reporting with offline media and third-party measurement standards, ensuring consistency across all reporting surfaces, including the Google Ads UI and Editor.
&lt;/p&gt;
&lt;p&gt;
The updated definition of the video view metrics will include all individuals who viewed the ad on connected TV devices, including cases where multiple people are watching YouTube together on the same TV screen.
&lt;/p&gt;
&lt;p&gt;
This change impacts the following reach metrics at the campaign level:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;code&gt;metrics.unique_users&lt;/code&gt;
&lt;li&gt;&lt;code&gt;metrics.average_impression_frequency_per_user&lt;/code&gt;
&lt;li&gt;&lt;code&gt;metrics.unique_users_two_plus&lt;/code&gt;
&lt;li&gt;&lt;code&gt;metrics.unique_users_three_plus&lt;/code&gt;
&lt;li&gt;&lt;code&gt;metrics.unique_users_four_plus&lt;/code&gt;
&lt;li&gt;&lt;code&gt;metrics.unique_users_five_plus&lt;/code&gt;
&lt;li&gt;&lt;code&gt;metrics.unique_users_ten_plus&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;h3&gt;Required actions&lt;/h3&gt;


&lt;p&gt;
No API version migration or code changes are required to see this new behavior, as it is a data definition change that will be applied automatically.
&lt;/p&gt;
&lt;p&gt;
However, developers and advertisers should be prepared for a potential change in reported reach and frequency values for dates beginning with the launch date. We recommend updating internal documentation or dashboards to reflect this shift in measurement methodology.
&lt;/p&gt;
&lt;p&gt;
If you have any questions or concerns regarding this update, please reach out via the 
&lt;/p&gt;
&lt;p&gt;
&lt;a target=&quot;_blank&quot; href=&quot;http://goo.gle/ads-and-measurement-discord&quot;&gt;“Google Advertising and Measurement Community” Discord server&lt;/a&gt;.
&lt;/p&gt;
&lt;div class=&quot;byline-author&quot;&gt;
  &lt;table&gt;
    &lt;tr&gt;
      &lt;td style=&quot;width:50px&quot;&gt;
        &lt;img height=&quot;40&quot; src=&quot;https://lh3.googleusercontent.com/a/AAcHTteMf_IXDYsJGIPAdLCefNLvUvK73hQtgnAZCJciyzpbfg=s83-c-mo&quot; style=&quot;vertical-align: middle; border:none; margin: 0px;&quot; width=&quot;40&quot;/&gt;
      &lt;/td&gt;
      &lt;td&gt;
        &lt;div style=&quot;height:20px;&quot;&gt;Mattia Tommasone&lt;/div&gt;
        &lt;div&gt;Google’s Advertising and Measurement Developer Relations team&lt;/div&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/table&gt;
&lt;/div&gt;

</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/4159277691010699365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/4159277691010699365'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/05/standardizing-reach-metrics-with-total.html' title='Standardizing Reach Metrics with Total Co-view 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><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh3.googleusercontent.com/a/AAcHTteMf_IXDYsJGIPAdLCefNLvUvK73hQtgnAZCJciyzpbfg=s72-c-mo" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-6509990699047384326</id><published>2026-05-21T07:07:00.480-07:00</published><updated>2026-05-21T07:07:00.481-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="data_manager"/><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><category scheme="http://www.blogger.com/atom/ns#" term="meridian"/><category scheme="http://www.blogger.com/atom/ns#" term="podcast"/><category scheme="http://www.blogger.com/atom/ns#" term="tagging"/><title type='text'>Ads DevCast: Google Marketing Live 2026 bonus episode</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9ACSTD7RUGOnXIReXmy4OSL6fFxq2hwY2XLFMRAXUOd0giPOcq98-3aBQa5B5FEqow3r_l-a1lHU6Xgj9HnP_j4AId-BlRcPwMJGzwxJ5zxB5V7D3m-DMH1exEQNwapp7ia2er6dWIS-ejBpp2JpdTEd1H_4P6wrTdEjOUKLESf0IFjbPHqBp84sMXG8/s1600/AdsDevCastLogo.png&quot; style=&quot;display: block; padding: 1em 0; text-align: center; &quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; data-original-height=&quot;489&quot; data-original-width=&quot;869&quot; width=&quot;600&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9ACSTD7RUGOnXIReXmy4OSL6fFxq2hwY2XLFMRAXUOd0giPOcq98-3aBQa5B5FEqow3r_l-a1lHU6Xgj9HnP_j4AId-BlRcPwMJGzwxJ5zxB5V7D3m-DMH1exEQNwapp7ia2er6dWIS-ejBpp2JpdTEd1H_4P6wrTdEjOUKLESf0IFjbPHqBp84sMXG8/s1600/AdsDevCastLogo.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;

&lt;p&gt;
We&#39;re excited to bring you a special bonus episode of Google’s Ads DevCast! We’re going over a few of the bigger announcements and updates from Google Marketing Live (GML) 2026 that directly affect our developers and technical users, across Tagging, Data Manager, and Meridian.
&lt;/p&gt;
&lt;p&gt;
  Watch it at &lt;a target=&quot;_blank&quot; href=&quot;https://goo.gle/watchadsdevcast&quot;&gt;goo.gle/watchadsdevcast&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
  Hear it at &lt;a target=&quot;_blank&quot; href=&quot;https://goo.gle/listenadsdevcast&quot;&gt;goo.gle/listenadsdevcast&lt;/a&gt;
&lt;/p&gt;
&lt;h3&gt;Key Highlights from the Episode&lt;/h3&gt;

&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;Tagging improvements:&lt;/strong&gt; Discover the new Google tag gateway In-UI setup offerings (featuring GCP, Akamai, Cloudflare, and Fastly) and new CMS integrations. We also discuss Visual Tagging for troubleshooting purchase conversions, and how we are bringing GTM capabilities directly to the Google tag.
&lt;li&gt;&lt;strong&gt;Data Manager API: &lt;/strong&gt;Learn about the value of single ingestion and multi-feed, allowing you to flow first-party data to multiple Google products with a unified schema. We also touch on Confidential Matching for privacy-safe audience building.
&lt;li&gt;&lt;strong&gt;Meridian (open-source MMM):&lt;/strong&gt; Get an overview of the new Meridian offerings announced at GML, including Meridian in GA360, Meridian Studio (featuring native agentic capabilities), and Meridian GeoX for incrementality calibration.&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
Listen to the episode to get all the details and prepare for next week&#39;s deep dive into Meridian!
&lt;/p&gt;
&lt;p&gt;
Don&#39;t forget to take our &lt;a target=&quot;_blank&quot; href=&quot;https://goo.gle/adc-survey-e5&quot;&gt;Episode Survey&lt;/a&gt; to let us know what you think!
&lt;/p&gt;
&lt;p&gt;
If you have any questions or want to discuss this post, please reach out to us on our &lt;a target=&quot;_blank&quot; href=&quot;http://goo.gle/ads-and-measurement-discord&quot;&gt;“Google Advertising and Measurement Community” Discord server&lt;/a&gt;.  
&lt;/p&gt;


&lt;div class=&quot;byline-author&quot;&gt;
  &lt;table&gt;
    &lt;tr&gt;
      &lt;td style=&quot;width:50px&quot;&gt;
        &lt;img height=&quot;40&quot; src=&quot;https://lh3.googleusercontent.com/a-/AN66SAzPW9gtIDxKGgbRWCyVWTJjciMUxMUJDdSI-lmdBw=s60-p-rw-no-il&quot; style=&quot;vertical-align: middle; border:none; margin: 0px;&quot; width=&quot;40&quot;/&gt;
      &lt;/td&gt;
      &lt;td&gt;
        &lt;div style=&quot;height:20px;&quot;&gt;
          Cory Liseno
        &lt;/div&gt;
        &lt;div&gt;Google’s Advertising and Measurement Developer Relations team&lt;/div&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/table&gt;
&lt;/div&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/6509990699047384326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/6509990699047384326'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/05/ads-devcast-google-marketing-live-2026.html' title='Ads DevCast: Google Marketing Live 2026 bonus episode'/><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9ACSTD7RUGOnXIReXmy4OSL6fFxq2hwY2XLFMRAXUOd0giPOcq98-3aBQa5B5FEqow3r_l-a1lHU6Xgj9HnP_j4AId-BlRcPwMJGzwxJ5zxB5V7D3m-DMH1exEQNwapp7ia2er6dWIS-ejBpp2JpdTEd1H_4P6wrTdEjOUKLESf0IFjbPHqBp84sMXG8/s72-c/AdsDevCastLogo.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-4657497051592448101</id><published>2026-05-15T09:20:41.339-07:00</published><updated>2026-05-15T09:20:41.340-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="data_manager_api"/><category scheme="http://www.blogger.com/atom/ns#" term="enhanced_conversions_for_leads"/><category scheme="http://www.blogger.com/atom/ns#" term="google_ads"/><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><category scheme="http://www.blogger.com/atom/ns#" term="offline_conversions"/><title type='text'>Changes to Offline Click Conversion Import Support in the Google Ads API</title><content type='html'>&lt;p&gt;
Starting on June 15, 2026, the Google Ads API will no longer accept new adopters of offline conversion imports, including enhanced conversions for leads. As with our previous announcements for &lt;a target=&quot;_blank&quot; href=&quot;https://ads-developers.googleblog.com/2026/01/changes-to-ip-address-and-session.html?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-ociallowlist&amp;utm_content=readmore-saipblogpost&quot;&gt;session attributes and IP address&lt;/a&gt;, and &lt;a target=&quot;_blank&quot; href=&quot;https://ads-developers.googleblog.com/2026/03/changes-to-customer-match-support-in.html?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-ociallowlist&amp;utm_content=readmore-cmblogpost&quot;&gt;Customer Match&lt;/a&gt;, &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/data-manager/api/devguides/events/google-ads/offline?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-ociallowlist&amp;utm_content=tryitout-dmapimigrationguide&quot;&gt;Data Manager API&lt;/a&gt; is now the primary API for importing offline conversions.
&lt;/p&gt;
&lt;p&gt;
Developers who have not adopted offline conversion imports or Enhanced conversion for leads, or have not imported offline conversions between December 2025 and May 2026, will receive an error if they attempt to import offline conversions. Developers who have already adopted offline conversions or Enhanced conversions for leads can continue importing using the Google Ads API while they integrate with the Data Manager API.
&lt;/p&gt;
&lt;p&gt;
See our &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/data-manager/api/devguides/events/google-ads/offline?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-ociallowlist&amp;utm_content=tryitout-dmapimigrationguide&quot;&gt;migration guide for Google Ads API users&lt;/a&gt; to start integrating with the Data Manager API.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Technical details&lt;/strong&gt;
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;Developers will be allowlisted by their &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/get-started/make-first-call#developer-token?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-ociallowlist&amp;utm_content=readmore-developer-token&quot;&gt;developer token&lt;/a&gt;.
&lt;li&gt;Once this change is rolled out, new adopters will receive the error &lt;code&gt;CUSTOMER_NOT_ALLOWLISTED_FOR_THIS_FEATURE&lt;/code&gt; when attempting to use the &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/latest/ConversionUploadService/UploadClickConversions?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-ociallowlist&amp;utm_content=readmore-uploadclickconversions-2&quot;&gt;ConversionUploadService.UploadClickConversions&lt;/a&gt;&lt;/code&gt; method.
&lt;li&gt;See the &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/data-manager/api/devguides/events/google-ads/offline?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-ociallowlist&amp;utm_content=readmore-conversionsguide&quot;&gt;documentation&lt;/a&gt; for integrating with the Data Manager API for offline conversion imports for Google Ads API users.&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
Reach out to the &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/support?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-ociallowlist&amp;utm_content=support-gaapi&quot;&gt;Google Ads API support&lt;/a&gt; or &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/data-manager/api/support?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-ociallowlist&amp;utm_content=support-dmapi&quot;&gt;Data Manager API support&lt;/a&gt; channels if you have any questions.
&lt;/p&gt;
&lt;p&gt;
If you have any questions or want to discuss this post, please reach out to us on our &lt;a target=&quot;_blank&quot; href=&quot;http://goo.gle/ads-and-measurement-discord&quot;&gt;“Google Advertising and Measurement Community” Discord server&lt;/a&gt;.  
&lt;/p&gt;

&lt;span class=&quot;byline-author&quot;&gt;&lt;img height=&quot;40&quot; src=&quot;https://lh3.googleusercontent.com/a-/AOh14GhFLgYJAFpYHUS1kBcLzMIT2gKkUyYcjWCuOWM3=s600-p&quot; style=&quot;border: none; vertical-align: middle;&quot; width=&quot;40&quot; /&gt; - Ben Karl, on behalf of the Google Ads API Team&lt;/span&gt;

</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/4657497051592448101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/4657497051592448101'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/05/changes-to-offline-click-conversion.html' title='Changes to Offline Click Conversion Import Support 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><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh3.googleusercontent.com/a-/AOh14GhFLgYJAFpYHUS1kBcLzMIT2gKkUyYcjWCuOWM3=s72-c-p" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-5923734712827904753</id><published>2026-05-14T08:33:21.865-07:00</published><updated>2026-05-14T08:33:21.866-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="assets"/><category scheme="http://www.blogger.com/atom/ns#" term="campaign"/><category scheme="http://www.blogger.com/atom/ns#" term="experiments"/><category scheme="http://www.blogger.com/atom/ns#" term="google_ads"/><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><category scheme="http://www.blogger.com/atom/ns#" term="performance_max"/><category scheme="http://www.blogger.com/atom/ns#" term="video"/><category scheme="http://www.blogger.com/atom/ns#" term="youtube"/><title type='text'>Announcing expanded experiment functionality in Google Ads API v24.1</title><content type='html'>&lt;p&gt;
We are excited to announce a significant expansion of the &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/experiments/overview?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-experiments-expansion-may2026&amp;utm_content=experiment-docs&quot;&gt;Google Ads A/B experiments feature set&lt;/a&gt; in the &lt;strong&gt;v24.1 release&lt;/strong&gt;, launched yesterday, May 13, 2026. We know API functionality is critical for advertisers who manage large sophisticated accounts, and we want to give these advertisers the capability to better create and manage their A/B experiments at scale. This update broadens the platform&#39;s current scope, enabling advertisers to leverage the power of experiments for a broader range of testing scenarios to drive campaign performance.
&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;Direct experiment reporting&lt;/strong&gt;&lt;/h4&gt;


&lt;p&gt;
One of the most requested enhancements is the ability to query experiment statistics directly through the API. Previously, you had to manually calculate statistics by querying campaign resources. With v24.1, we are exposing experiment arm-level and significance stats, including:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;Control arm stats:&lt;/strong&gt; The average value of metrics in the control arm.
&lt;li&gt;&lt;strong&gt;Point estimates:&lt;/strong&gt; The mean value of the difference between the control and treatment arms, calculated via the jackknife method.
&lt;li&gt;&lt;strong&gt;Margin of error:&lt;/strong&gt; The radius of the confidence interval.
&lt;li&gt;&lt;strong&gt;P-values:&lt;/strong&gt; Represents the calculated probability that the difference could have occurred by chance.&lt;/li&gt;&lt;/ul&gt;

&lt;h4&gt;&lt;strong&gt;New experiment types&lt;/strong&gt;&lt;/h4&gt;


&lt;p&gt;
We are expanding support for a variety of experiment types to help you find the best configurations for your business:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;Feature-specific tests&lt;/strong&gt; (AI Max and broad match): Test the impact of enabling AI Max or broad match keywords. These use an intra-campaign workflow, where the feature is tested within the original campaign shared by both the control and treatment arms. 
&lt;li&gt;&lt;strong&gt;Custom video experiments&lt;/strong&gt;: Run custom experiments consisting of Video campaigns. 
&lt;li&gt;&lt;strong&gt;Performance Max replacement&lt;/strong&gt;: Test how your Shopping campaigns perform compared to Performance Max. 
&lt;li&gt;&lt;strong&gt;Performance Max asset optimization&lt;/strong&gt;: Specifically for Performance Max, you can test different variations of assets including text, images, and videos. This asset optimization workflow helps determine which creative combinations drive the best results. &lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
While these updates cover a significant number of use cases, we are continuing to work on the platform and plan to introduce even more experiment types in future releases.
&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;Where can I learn more?&lt;/strong&gt;&lt;/h4&gt;


&lt;p&gt;
Updated documentation and code examples are available on the &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/experiments/overview?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-experiments-expansion-may2026&amp;utm_content=experiment-docs&quot;&gt;Google Ads API Developer site&lt;/a&gt;. We also encourage you to join the discussion and share your feedback on our &lt;a target=&quot;_blank&quot; href=&quot;https://goo.gle/ads-and-measurement-discord&quot;&gt;Ads and Measurement Community Discord server&lt;/a&gt;.
&lt;/p&gt;

&lt;span class=&#39;byline-author&#39;&gt;&lt;img width=&quot;40&quot; height=&quot;40&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1QyLBN_MNIUNy20yCmmeYUsmqBl083GUng1w8D2sZvZrGVShmgPa6XkCPlYaMn1MmENzAk8sfjNbHIv2E8jAvZ5hnEUT6Z0WcIpMzUNbrsLNk0B0etRPWMv6YlP-4Is6YQZzva1TDeJeix5PD3zOKSLsZEUEYmyNVy-dIVsU6EF2o4hvI5HrEiuxGVGg/s1600/laura_linkedin.jpeg&quot; style=&quot;vertical-align:middle; border:none;&quot;&gt;&amp;nbsp;-&amp;nbsp;Laura Chevalier, Google Ads API Team&lt;/span&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/5923734712827904753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/5923734712827904753'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/05/announcing-expanded-experiment.html' title='Announcing expanded experiment functionality in Google Ads API v24.1'/><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1QyLBN_MNIUNy20yCmmeYUsmqBl083GUng1w8D2sZvZrGVShmgPa6XkCPlYaMn1MmENzAk8sfjNbHIv2E8jAvZ5hnEUT6Z0WcIpMzUNbrsLNk0B0etRPWMv6YlP-4Is6YQZzva1TDeJeix5PD3zOKSLsZEUEYmyNVy-dIVsU6EF2o4hvI5HrEiuxGVGg/s72-c/laura_linkedin.jpeg" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-2086742490010516624</id><published>2026-05-13T14:28:26.366-07:00</published><updated>2026-05-13T14:28:26.366-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><category scheme="http://www.blogger.com/atom/ns#" term="release"/><title type='text'>Announcing v24.1 of the Google Ads API</title><content type='html'>&lt;p&gt;
Today, we’re announcing the v24.1 release of the &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24_1&amp;utm_content=learnmore-api&quot;&gt;Google Ads API&lt;/a&gt;. To use the new v24.1 features, you must upgrade your &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/client-libs?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24_1&amp;utm_content=learnmore-clientlibs&quot;&gt;client libraries&lt;/a&gt; and client code. All the updated client libraries and code examples have been published.
&lt;/p&gt;
&lt;p&gt;
Come join us for a live walkthrough of this release in our &lt;a target=&quot;_blank&quot; href=&quot;https://discord.com/events/971845904002871346/1499436945913155647&quot;&gt;&quot;Google Ads API Release Highlights&quot; event on Discord&lt;/a&gt;, our &lt;a target=&quot;_blank&quot; href=&quot;https://www.youtube.com/watch?v=Vnitw5NuyQI&quot;&gt;Ads Developers YouTube Live&lt;/a&gt;, or our &lt;a target=&quot;_blank&quot; href=&quot;https://www.linkedin.com/event/manage/7455642456747917313/&quot;&gt;LinkedIn Live event&lt;/a&gt; tomorrow (May 14 at 10a ET). This will also be recorded and posted on YouTube for those who can’t make the live events. If you have any questions or want to discuss this post, reach out to us in the &lt;a target=&quot;_blank&quot; href=&quot;http://goo.gle/ads-and-measurement-discord&quot;&gt;#ads-api channel&lt;/a&gt; on Discord.
&lt;/p&gt;
&lt;h2&gt;New Features&lt;/h2&gt;


&lt;p&gt;
&lt;strong&gt;Mobile Device Platform Segment:&lt;/strong&gt; Understanding where your traffic comes from is critical for campaign optimization. With v24.1, you can now segment campaign-level and customer-level reports using the &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/Segments?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24_1&amp;utm_content=learnmore-refdocs#mobile_device_platform&quot;&gt;segments.mobile_device_platform&lt;/a&gt;&lt;/code&gt; column.

&lt;p&gt;
This field utilizes the new &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/MobileDevicePlatformEnum.MobileDevicePlatform?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24_1&amp;utm_content=learnmore-refdocs&quot;&gt;MobileDevicePlatform&lt;/a&gt;&lt;/code&gt; enum (supporting values like &lt;code&gt;IOS&lt;/code&gt; and &lt;code&gt;ANDROID&lt;/code&gt;), allowing you to cleanly isolate performance data and adjust bid strategies based on the user&#39;s mobile operating system.

&lt;p&gt;
&lt;strong&gt;Classic images in DemandGen campaigns: &lt;/strong&gt;As of v24.1, you can use the &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/DemandGenMultiAssetAdInfo?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24_1&amp;utm_content=learnmore-refdocs#classic_display_images[]&quot;&gt;classic_display_images&lt;/a&gt;&lt;/code&gt; field of &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/DemandGenMultiAssetAdInfo?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24_1&amp;utm_content=learnmore-refdocs&quot;&gt;DemandGenMultiAssetAd&lt;/a&gt;&lt;/code&gt; to upload static image ads to serve on the Google Display Network (GDN) within your Demand Gen campaigns. These images are served as-is, without being combined with additional assets. This format provides full control over your creative branding. Refer to &lt;a target=&quot;_blank&quot; href=&quot;https://support.google.com/google-ads/answer/13704860?hl=en#Uploaded_Display_ads&quot;&gt;our help center&lt;/a&gt; for more information.

&lt;p&gt;
&lt;strong&gt;Support for passkeys: &lt;/strong&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://safety.google/safety/authentication/passkey/&quot;&gt;Passkeys&lt;/a&gt; provide a simple and secure alternative to passwords. Google now &lt;a target=&quot;_blank&quot; href=&quot;https://support.google.com/google-ads/answer/16968810?hl=en&quot;&gt;requires some advertisers&lt;/a&gt; to use a passkey to authorize sensitive actions within their Google Ads account. The v24.1 introduces a new &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/CustomerUserAccess?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24_1&amp;utm_content=learnmore-refdocs#passkey_enabled&quot;&gt;passkey_enabled&lt;/a&gt;&lt;/code&gt; field that indicates whether the user has a passkey enabled.  

&lt;p&gt;
&lt;strong&gt;Revamped support for Experiments: &lt;/strong&gt;Experiments let you test the impact of your proposed changes. If you split the budget or traffic between the original campaign and experiment, you can easily compare the results over a specified time period. If the experiments produce better results, you can apply the experiment to the original campaign or replace the original campaign.
&lt;/p&gt;
&lt;p&gt;
The v24.1 introduces support for new &lt;a target=&quot;_blank&quot; href=&quot;https://support.google.com/google-ads/answer/10682377&quot;&gt;experiment types&lt;/a&gt;: AI Max experiments, Video experiments, Demand Gen experiments (this and video are the same API type) and  Performance Max experiments. You can now retrieve and compare detailed performance metrics (such as clicks, conversions, and impressions) across individual experimental arms. This makes side-by-side performance analysis easier and more transparent. Refer to our guide to learn more about &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/experiments/overview?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24_1&amp;utm_content=learnmore-guides#workflows&quot;&gt;experiment workflows&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;New Data Retention Policy for Google Ads: &lt;/strong&gt;We recently &lt;a target=&quot;_blank&quot; href=&quot;https://ads-developers.googleblog.com/2026/05/new-data-retention-policy-for-google.html?m=0&quot;&gt;announced&lt;/a&gt; that starting June 1, 2026, Google Ads and related measurement APIs will transition to a 37-month data retention policy for granular performance statistics (daily, hourly, and weekly). The V24.1 introduces a new &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/DateRangeErrorEnum.DateRangeError?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24_1&amp;utm_content=learnmore-refdocs#requested_date_granularity_not_supported&quot;&gt;DateRangeError.REQUESTED_DATE_GRANULARITY_NOT_SUPPORTED&lt;/a&gt;&lt;/code&gt; error code to support this change.

&lt;p&gt;
The following resources can help you get started:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/release-notes?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24_1&amp;utm_content=learnmore-releasenotes#v24-1-2026-05-13&quot;&gt;Release Notes&lt;/a&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/upgrade?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24_1&amp;utm_content=learnmore-upgrade&quot;&gt;Upgrade from a previous version&lt;/a&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24_1&amp;utm_content=learnmore-guides&quot;&gt;Guides&lt;/a&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24_1&amp;utm_content=learnmore-refdocs&quot;&gt;Reference&lt;/a&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/upgrade?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24_1&amp;utm_content=learnmore-upgrade?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24_1&amp;utm_content=learnmore-upgrade#v23-v24&quot;&gt;Diff between v24 and v23&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
For technical support issues, reach out to &lt;a target=&quot;_blank&quot; href=&quot;https://support.google.com/google-ads/contact/google_ads_api&quot;&gt;https://support.google.com/google-ads/contact/google_ads_api&lt;/a&gt;  
&lt;/p&gt;


&lt;p&gt;&lt;span class=&quot;byline-author&quot;&gt;&lt;a target=&quot;_blank&quot; target=&quot;_blank&quot; href=&quot;https://g.dev/anash&quot;&gt;&lt;img width=&quot;40&quot; height=&quot;40&quot; src=&quot;https://lh3.googleusercontent.com/a-/AD_cMMRmfdsXvZhyLvWsLuqqcScxtYI0ih7DPGCk8lTee140NzXH=s300&quot; style=&quot;vertical-align:middle; border:none;&quot;&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a target=&quot;_blank&quot; target=&quot;_blank&quot; href=&quot;https://g.dev/anash&quot; rel=&quot;author&quot;&gt;Anash P. Oommen&lt;/a&gt;, Google Ads API Team&lt;/span&gt;&lt;/p&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/2086742490010516624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/2086742490010516624'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/05/announcing-v241-of-google-ads-api.html' title='Announcing v24.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><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh3.googleusercontent.com/a-/AD_cMMRmfdsXvZhyLvWsLuqqcScxtYI0ih7DPGCk8lTee140NzXH=s72-c" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-4145399604728302732</id><published>2026-05-07T13:09:00.000-07:00</published><updated>2026-05-07T13:09:48.943-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="analytics"/><category scheme="http://www.blogger.com/atom/ns#" term="data_manager_api"/><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><title type='text'>Data Manager API: Introducing support for Google Ads store sales and more event ingestion use cases for Google Analytics</title><content type='html'>&lt;p&gt;
We&#39;re excited to announce several significant enhancements to the Data Manager API. This &lt;a href=&quot;https://developers.google.com/data-manager/api/reference?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5&amp;utm_content=learnmore-changelog&quot;&gt;release&lt;/a&gt; introduces support for uploading store sales conversions to Google Ads and broadens support for Google Analytics event ingestion.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Store sales conversions&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
The Data Manager API offers a streamlined ingestion workflow for sending &lt;a href=&quot;https://support.google.com/google-ads/topic/9941533?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5&amp;utm_content=learnmore-hc-ss&quot;&gt;store sales conversions&lt;/a&gt; to Google Ads. This workflow eliminates the need to create and monitor multiple offline jobs and replaces those jobs with a single API request. You can also leverage &lt;a href=&quot;https://developers.google.com/data-manager/api/devguides/events/google-ads/store-sales/upgrade?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5&amp;utm_content=learnmore-docs-upgrade&quot;&gt;additional features&lt;/a&gt; such as &lt;a href=&quot;https://support.google.com/google-ads-data-manager/answer/14577185?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5&amp;utm_content=learnmore-hc-confidentialmatching&quot;&gt;confidential matching&lt;/a&gt;, encryption for user identifiers, and support for sending multiple items per event in &lt;a href=&quot;https://developers.google.com/data-manager/api/reference/rpc/google.ads.datamanager.v1?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5&amp;utm_content=learnmore-ref-cartdata#cartdata&quot;&gt;CartData&lt;/a&gt;. To use this feature, your Google Ads account must meet certain &lt;a href=&quot;https://support.google.com/google-ads/answer/15885010?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5&amp;utm_content=learnmore-hc-sseligibility&quot;&gt;eligibility requirements&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Google Analytics web and app events&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Building on our existing capabilities, we&#39;ve expanded support for sending events to Google Analytics within the Data Manager API.
&lt;/p&gt;
&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;Web and app data stream event ingestion:&lt;/strong&gt; You can now send &lt;em&gt;any event &lt;/em&gt;to both your Google Analytics web and app data streams, provided they&#39;re not &lt;a href=&quot;https://support.google.com/analytics/answer/13316687?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5&amp;utm_content=learnmore-hc-reservedevents#reserved&quot;&gt;reserved events&lt;/a&gt;.
  
 &lt;ul&gt;
 &lt;li&gt;Data Manager API is an alternative to &lt;a href=&quot;https://developers.google.com/analytics/devguides/collection/protocol/ga4?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5&amp;utm_content=learnmore-mp&quot;&gt;Measurement Protocol&lt;/a&gt; for sending recommended and custom events directly to Google Analytics.&lt;/li&gt;
 &lt;li&gt;Data Manager API&#39;s &lt;a href=&quot;https://developers.google.com/data-manager/api/reference/rpc/google.ads.datamanager.v1?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5&amp;utm_content=learnmore-ref-schema#ingesteventsrequest&quot;&gt;unified schema&lt;/a&gt; now supports important metadata like app instance ID, event location, and 
   &lt;a href=&quot;https://developers.google.com/data-manager/api/reference/rpc/google.ads.datamanager.v1?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5&amp;utm_content=learnmore-ref-deviceinfo#deviceinfo&quot;&gt;mobile device information&lt;/a&gt;
   for app events.&lt;/li&gt;
 &lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Event routing: &lt;/strong&gt;&lt;a href=&quot;https://developers.google.com/data-manager/api/devguides/concepts/destinations?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5&amp;utm_content=learnmore-destinations&quot;&gt;Configure a destination&lt;/a&gt; using your Firebase App ID or Measurement ID to send an event to your Google Analytics app stream or web&lt;strong&gt; &lt;/strong&gt;stream respectively.&lt;/li&gt;
  
&lt;li&gt;&lt;strong&gt;Expanded support for events sent as an additional data source:&lt;/strong&gt; The Data Manager API now supports sending &lt;em&gt;&lt;a href=&quot;https://developers.google.com/data-manager/api/devguides/events/analytics/online&quot;&gt;any event with a transaction ID&lt;/a&gt;&lt;/em&gt; to both web and app data streams as an additional data source for your tag or &lt;a href=&quot;https://firebase.google.com/docs/analytics/get-started?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5&amp;utm_content=learnmore-ga4fsdk&quot;&gt;Google Analytics for Firebase (GA4F) SDK&lt;/a&gt; implementation.
  &lt;ul&gt;

  &lt;li&gt;This feature is no longer restricted to &lt;code&gt;purchase&lt;/code&gt; events sent to web data streams.&lt;/li&gt;
  &lt;li&gt;This feature is limited to Google Analytics properties on an allowlist; please &lt;a href=&quot;https://forms.gle/PUT2AsLVM1krd5zm6&quot;&gt;fill out this form&lt;/a&gt; if you&#39;re interested in adding your property to the allowlist.&lt;/li&gt;
   &lt;/ul&gt;
&lt;/li&gt; 
&lt;/ul&gt;

&lt;p&gt;
&lt;strong&gt;Get started&lt;/strong&gt;
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;Upgrade your existing store sales workflows to gain access to future improvements and features:
  &lt;ul&gt;

  &lt;li&gt;&lt;a href=&quot;https://developers.google.com/data-manager/api/devguides/events/google-ads/store-sales?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5&amp;utm_content=learnmore-ss-upgrade&quot;&gt;Upgrade from the Google Ads API&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;/li&gt;
&lt;li&gt;Start sending events to Google Analytics with the Data Manager API: 
  &lt;ul&gt;

  &lt;li&gt;&lt;a href=&quot;https://developers.google.com/data-manager/api/devguides/events/analytics/recommended-custom-events?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5&amp;utm_content=learnmore-ga4events&quot;&gt;Send recommended and custom events&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://developers.google.com/data-manager/api/devguides/events/analytics/measurement-protocol/upgrade?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5&amp;utm_content=learnmore-upgrade-mp&quot;&gt;Upgrade from Measurement Protocol&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://developers.google.com/data-manager/api/reference/analytics/recommended-events&quot;&gt;Recommended events reference&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/li&gt; &lt;/ul&gt;

&lt;p&gt;
&lt;strong&gt;Connect with us&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
If you have any questions or want to discuss this post, please reach out to us on our &lt;a href=&quot;http://goo.gle/ads-and-measurement-discord&quot;&gt;&quot;Google Advertising and Measurement Community&quot; Discord server&lt;/a&gt;. You can also contact us through the &lt;a href=&quot;https://developers.google.com/data-manager/api/support/contact?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5&amp;utm_content=contact-support&quot;&gt;support page&lt;/a&gt; if you have an issue or need help with the API.
&lt;/p&gt;
&lt;p&gt;
If you&#39;re interested in becoming a data partner, please fill out the &lt;a href=&quot;https://docs.google.com/forms/d/e/1FAIpQLScFEkLVqElsjYJ21h7z0mSUk8Tj1M3TEMwouFPQb7qyM-oI5w/viewform?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dm-api-r5&amp;utm_content=contact-partner-interest-form&quot;&gt;Partner Interest Form&lt;/a&gt;.
&lt;/p&gt;

&lt;span class=&quot;byline-author&quot;&gt;&lt;img height=&quot;40&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiChe_g1JujivrmFreqOSiiJVG79VFlvDXoigneV-ZD8m1fDd6MfMyi3dGgc4PYhLKJrzb_QxVMM7jqCfqNpWk3CxmsvDxSvdiGwgqUlPZ0NIhAGdRJXiNeWj77GTFI3bAdcnNr8VamYJEFSi1GdAzq4UuiY3w5EZpXQzHWQDHTI8Hf-9aU3rI3Q_Vdutc&quot; style=&quot;border: none; vertical-align: middle;&quot; width=&quot;40&quot; height=&quot;40&quot; /&gt; - Lindsey Volta, on behalf of the Data Manager API Team&lt;/span&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/4145399604728302732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/4145399604728302732'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/05/data-manager-api-introducing-support.html' title='Data Manager API: Introducing support for Google Ads store sales and more event ingestion use cases for Google Analytics'/><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEiChe_g1JujivrmFreqOSiiJVG79VFlvDXoigneV-ZD8m1fDd6MfMyi3dGgc4PYhLKJrzb_QxVMM7jqCfqNpWk3CxmsvDxSvdiGwgqUlPZ0NIhAGdRJXiNeWj77GTFI3bAdcnNr8VamYJEFSi1GdAzq4UuiY3w5EZpXQzHWQDHTI8Hf-9aU3rI3Q_Vdutc=s72-c" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-6054297136769075437</id><published>2026-05-07T10:38:00.000-07:00</published><updated>2026-05-07T10:38:11.993-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="best_practices"/><category scheme="http://www.blogger.com/atom/ns#" term="data_manager_api"/><category scheme="http://www.blogger.com/atom/ns#" term="dv360_api"/><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_scripts"/><category scheme="http://www.blogger.com/atom/ns#" term="google_analytics_api"/><category scheme="http://www.blogger.com/atom/ns#" term="podcast"/><title type='text'>Managing your integrations at scale: Ads DevCast E4</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9ACSTD7RUGOnXIReXmy4OSL6fFxq2hwY2XLFMRAXUOd0giPOcq98-3aBQa5B5FEqow3r_l-a1lHU6Xgj9HnP_j4AId-BlRcPwMJGzwxJ5zxB5V7D3m-DMH1exEQNwapp7ia2er6dWIS-ejBpp2JpdTEd1H_4P6wrTdEjOUKLESf0IFjbPHqBp84sMXG8/s1600/AdsDevCastLogo.png&quot; style=&quot;display: block; padding: 1em 0; text-align: center; &quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; data-original-height=&quot;489&quot; data-original-width=&quot;869&quot; width=&quot;600&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9ACSTD7RUGOnXIReXmy4OSL6fFxq2hwY2XLFMRAXUOd0giPOcq98-3aBQa5B5FEqow3r_l-a1lHU6Xgj9HnP_j4AId-BlRcPwMJGzwxJ5zxB5V7D3m-DMH1exEQNwapp7ia2er6dWIS-ejBpp2JpdTEd1H_4P6wrTdEjOUKLESf0IFjbPHqBp84sMXG8/s1600/AdsDevCastLogo.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;

&lt;p&gt;
Scaling an advertising integration is more than just writing code—it requires a deep understanding of efficiency, resilience, and auditability. In Episode 4 of Ads DevCast, &quot;Managing your integrations at scale,&quot; we break down universal architectural best practices and product-specific solutions to help you optimize your advertising integrations.
&lt;/p&gt;
&lt;p&gt;
&lt;a target=&quot;_blank&quot; href=&quot;http://goo.gle/watchadsdevcast&quot;&gt;Watch the full episode&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a target=&quot;_blank&quot; href=&quot;http://goo.gle/listenadsdevcast&quot;&gt;Hear the full episode&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Whether you are working with the Google Ads API, Google Ads scripts, Data Manager API, DV360, or Google Analytics, here is a summary of the key takeaways to build high-performance, scalable systems.
&lt;/p&gt;
&lt;h2&gt;Universal Principles of Robust Integrations&lt;/h2&gt;

&lt;ol&gt;

&lt;li&gt;&lt;strong&gt;Respect Rate Limits&lt;/strong&gt;: Rate limits are a reality of using APIs at scale. Understand your limits beforehand to prevent lockouts and maintain a healthy integration. Read the error messages — they may contain instructions on what to do next. For transient or retry-able errors, don&#39;t hammer the server with rapid retries. Instead, implement exponential back-off with jitter to give the system time to recover.
&lt;li&gt;&lt;strong&gt;Prioritize Logging and Monitoring&lt;/strong&gt;: Always consider logging in production where appropriate. Capture crucial metadata, like the Google Ads API &lt;code&gt;request_id&lt;/code&gt;, in your structured logs to trace failures instantly. If a call is erroring, write that error payload to logs. Set up proactive alerts to catch errors before they impact operations.
&lt;li&gt;&lt;strong&gt;Use Official Client Libraries&lt;/strong&gt;: While direct REST/gRPC calls are supported in many of our products, using official libraries saves development time and handles heavy lifting (e.g., serialization and authentication) out of the box.
&lt;li&gt;&lt;strong&gt;Cache Smartly&lt;/strong&gt;: Reduce redundant queries. If you are querying historical data that will no longer change, cache it locally to save bandwidth and rate limits.&lt;/li&gt;&lt;/ol&gt;

&lt;h2&gt;Product-Specific Best Practices&lt;/h2&gt;

&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;Google Ads API&lt;/strong&gt;: Optimize efficiency by Batching Operations. Group operations logically to reduce round-trips. Order your operations correctly to improve execution efficiency.
&lt;li&gt;&lt;strong&gt;Data Manager API&lt;/strong&gt;: Batch ingestion requests to process events efficiently. Understand the difference between synchronous errors (structural issues returned instantly that reject the whole batch) and asynchronous validation (monitored via the Diagnostics endpoint).
&lt;li&gt;&lt;strong&gt;Google Ads scripts&lt;/strong&gt;: Avoid sequential iterations when dealing with many accounts at once. Use Bulk Uploads with CSV tables to apply scaled operations, and leverage the &lt;code&gt;executeInParallel&lt;/code&gt; method for MCC scripts to run up to 50 concurrent execution threads.
&lt;li&gt;&lt;strong&gt;Display &amp; Video 360 API&lt;/strong&gt;: Utilize Structured Data Files (SDFs) to manage YouTube line items and ad group bulk operations that aren&#39;t natively supported by the API.
&lt;li&gt;&lt;strong&gt;Google Analytics&lt;/strong&gt;: Enable daily BigQuery Exports for event-level data, and utilize Long-running Asynchronous Report Tasks in the Analytics Data API v1alpha to build scalable, customized reports without HTTP timeouts.&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Next Steps:&lt;/h2&gt;


&lt;p&gt;
&lt;a target=&quot;_blank&quot; href=&quot;http://goo.gle/watchadsdevcast&quot;&gt;Watch the full episode&lt;/a&gt; on our YouTube channel (or &lt;a target=&quot;_blank&quot; href=&quot;http://goo.gle/listenadsdevcast&quot;&gt;listen on YT Music&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
Check out our &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/ads/?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-developer-best-practices-2026h1&amp;utm_content=seethehub&quot;&gt;Advertising and Measurement Developer Hub&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;a target=&quot;_blank&quot; href=&quot;http://goo.gle/ads-and-measurement-discord &quot;&gt;Join our community on Discord&lt;/a&gt; and share your scaling stories or questions with Googlers and other developers.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Learn more in our guides below:&lt;/strong&gt;
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;Google Ads API &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/mutating/best-practices?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-developer-best-practices-2026h1&amp;utm_content=best-practices-adsapi&quot;&gt;Best Practices&lt;/a&gt; and &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/batch-processing/overview?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-developer-best-practices-2026h1&amp;utm_content=best-practices-adsapibatching&quot;&gt;Batch Processing&lt;/a&gt;
&lt;li&gt;Google Ads scripts &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/scripts/docs/concepts/bulk-upload?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-developer-best-practices-2026h1&amp;utm_content=best-practices-scriptsbulkupload&quot;&gt;Bulk Upload&lt;/a&gt; and &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/scripts/docs/best-practices?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-developer-best-practices-2026h1&amp;utm_content=best-practices-scripts&quot;&gt;Best Practices&lt;/a&gt;
&lt;li&gt;Analytics &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/analytics/bigquery/solution-guides?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-developer-best-practices-2026h1&amp;utm_content=best-practices-analytics-bq&quot;&gt;BigQuery Solution&lt;/a&gt; and &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/analytics/devguides/reporting/data/v1/report-tasks?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-developer-best-practices-2026h1&amp;utm_content=best-practices-analytics-reporttask&quot;&gt;Report Tasks Fundamentals&lt;/a&gt;
&lt;li&gt;Data Manager API &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/data-manager/api/devguides/concepts/best-practices?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-developer-best-practices-2026h1&amp;utm_content=best-practices-DMAPI&quot;&gt;Best Practices&lt;/a&gt;, &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/data-manager/api/devguides/limits?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-developer-best-practices-2026h1&amp;utm_content=best-practices-dmapi-limits&quot;&gt;Limits&lt;/a&gt;, and &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/data-manager/api/devguides/diagnostics?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-developer-best-practices-2026h1&amp;utm_content=best-practices-dmapi-diags&quot;&gt;Diagnostics&lt;/a&gt;
&lt;li&gt;Display &amp; Video 360 &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/display-video/bulk-tools/tools/sdf?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-developer-best-practices-2026h1&amp;utm_content=best-practices-dv3-sdf&quot;&gt;Structured Data Files (SDFs)&lt;/a&gt;

&lt;div class=&quot;byline-author&quot;&gt;
  &lt;table&gt;
    &lt;tr&gt;
      &lt;td style=&quot;width:50px&quot;&gt;
        &lt;img height=&quot;40&quot; src=&quot;https://lh3.googleusercontent.com/a-/AN66SAzPW9gtIDxKGgbRWCyVWTJjciMUxMUJDdSI-lmdBw=s60-p-rw-no-il&quot; style=&quot;vertical-align: middle; border:none; margin: 0px;&quot; width=&quot;40&quot;/&gt;
      &lt;/td&gt;
      &lt;td&gt;
        &lt;div style=&quot;height:20px;&quot;&gt;Cory Liseno&lt;/div&gt;
        &lt;div&gt;Google’s Advertising and Measurement Developer Relations team&lt;/div&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/table&gt;
&lt;/div&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/6054297136769075437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/6054297136769075437'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/05/managing-your-integrations-at-scale-ads.html' title='Managing your integrations at scale: Ads DevCast E4'/><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9ACSTD7RUGOnXIReXmy4OSL6fFxq2hwY2XLFMRAXUOd0giPOcq98-3aBQa5B5FEqow3r_l-a1lHU6Xgj9HnP_j4AId-BlRcPwMJGzwxJ5zxB5V7D3m-DMH1exEQNwapp7ia2er6dWIS-ejBpp2JpdTEd1H_4P6wrTdEjOUKLESf0IFjbPHqBp84sMXG8/s72-c/AdsDevCastLogo.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-1762109782553839298</id><published>2026-05-01T17:40:17.036-07:00</published><updated>2026-05-01T18:21:13.144-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_scripts"/><category scheme="http://www.blogger.com/atom/ns#" term="google_analytics_api"/><title type='text'>New Data Retention Policy for Google Ads starting June 1, 2026</title><content type='html'>&lt;style type=&quot;text/css&quot;&gt;
  table#dataretensionmay2026{
    border-collapse: collapse;
  }
   
  table#dataretensionmay2026 td {
    border: 1px solid grey;
    padding:5px;
  }
&lt;/style&gt;

&lt;p&gt;
Starting &lt;strong&gt;June 1, 2026&lt;/strong&gt;, Google Ads and related measurement APIs will transition to a 37-month &lt;a target=&quot;_blank&quot; href=&quot;https://support.google.com/google-ads/answer/15188209?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-google-ads-data-retention-may2026&amp;utm_content=readmore-blog&quot;&gt;data retention policy&lt;/a&gt; for granular performance statistics (daily, hourly, and weekly). High-level data (monthly, quarterly, and yearly) will continue to be available for 11 years.
&lt;/p&gt;

&lt;table id=&quot;dataretensionmay2026&quot;&gt;
  &lt;tr style=&quot;background: #eee&quot;&gt;
   &lt;td width=&quot;175&quot;&gt;&lt;strong&gt;API&lt;/strong&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;strong&gt;Impact&lt;/strong&gt;
   &lt;/td&gt;
   &lt;td width=&quot;175&quot;&gt;&lt;strong&gt;Next Steps&lt;/strong&gt;
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/start?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-google-ads-data-retention-may2026&amp;utm_content=readmore-blog&quot;&gt;Google Ads API&lt;/a&gt; and &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/scripts/docs/start?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-google-ads-data-retention-may2026&amp;utm_content=readmore-blog&quot;&gt;Google Ads scripts&lt;/a&gt;
   &lt;/td&gt;
   &lt;td&gt;Starting June 1, 2026, queries that request granular segments (such as segments.date, segments.week) for ranges older than 37 months from the current date will return a &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/latest/DateRangeErrorEnum.DateRangeError?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-google-ads-data-retention-may2026&amp;utm_content=readmore-invalid_date&quot;&gt;DateRangeError.INVALID_DATE&lt;/a&gt;&lt;/code&gt; error. Future API versions will return &lt;code&gt;DateRangeError.REQUESTED_DATE_GRANULARITY_NOT_SUPPORTED&lt;/code&gt; error.
To retrieve data older than 37 months, you must update your queries to use &lt;code&gt;segments.month&lt;/code&gt;, &lt;code&gt;segments.quarter&lt;/code&gt;, or &lt;code&gt;segments.year&lt;/code&gt;. Unsegmented queries for historical data must align perfectly with calendar month boundaries (1st to last day of month) to succeed.
   &lt;/td&gt;
   &lt;td&gt;Please review your applications and make updates. If you require granular historical data beyond 37 months, we recommend exporting it prior to the June 1, 2026 deadline.
&lt;p&gt;
If you have any questions, you can contact us on our &lt;a target=&quot;_blank&quot; href=&quot;https://support.google.com/google-ads/contact/google_ads_api&quot;&gt;Google Ads API support channel&lt;/a&gt; or &lt;a target=&quot;_blank&quot; href=&quot;https://support.google.com/google-ads/contact/google_ads_scripts&quot;&gt;Google Ads scripts support channel&lt;/a&gt;.
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/analytics/devguides/reporting/data/v1?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-google-ads-data-retention-may2026&amp;utm_content=readmore-blog&quot;&gt;Google Analytics Data API&lt;/a&gt;
   &lt;/td&gt;
   &lt;td&gt;The Google Analytics Data API will truncate affected metrics to the latest 36-month window if the dimension &quot;date&quot; is also used in the report. Affected metrics include Advertiser Ad Cost, Clicks, and Impressions. Only reports with all of affected metrics, 37-months or older, and including the dimension &quot;date&quot; are impacted. Date-equivalent dimensions like &quot;Day of week&quot; and &quot;day&quot; are also impacted.
   &lt;/td&gt;
   &lt;td&gt;Review your data stitching logic to account for this truncation.
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/display-video/api/reference/rest?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-google-ads-data-retention-may2026&amp;utm_content=readmore-blog&quot;&gt;DV360 API&lt;/a&gt; and &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/doubleclick-advertisers/rest?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-google-ads-data-retention-may2026&amp;utm_content=readmore-blog&quot;&gt;CM360 API&lt;/a&gt;
   &lt;/td&gt;
   &lt;td&gt;These APIs currently maintain a 24-month retention period, which remains unchanged.
   &lt;/td&gt;
   &lt;td&gt;No impact.
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://docs.cloud.google.com/bigquery/docs/google-ads-transfer&quot;&gt;BigQuery Data Transfer Service &lt;/a&gt;
   &lt;/td&gt;
   &lt;td&gt;Starting June 1, 2026, the &lt;a target=&quot;_blank&quot; href=&quot;https://docs.cloud.google.com/bigquery/docs/google-ads-transfer&quot;&gt;BigQuery Data Transfer Service for Google Ads&lt;/a&gt; and &lt;a target=&quot;_blank&quot; href=&quot;https://docs.cloud.google.com/bigquery/docs/search-ads-transfer&quot;&gt;BigQuery Data Transfer Service for Search Ads 360&lt;/a&gt; connectors will stop populating data for backfill runs with dates older than 37 months from the current date. Data transferred and stored in BigQuery will remain in the tables with no impact.
&lt;p&gt;
Starting June 1, 2026, &lt;a target=&quot;_blank&quot; href=&quot;https://docs.cloud.google.com/bigquery/docs/google-analytics-4-transfer&quot;&gt;BigQuery Data Transfer Service for Google Analytics 4 connector&lt;/a&gt; will stop populating data for backfill runs with dates older than 37 months from the current date. Data transferred and stored in BigQuery will remain in the tables, but if a transfer is manually triggered for a report date 37-months or older, the data of the date in BigQuery table will be overwritten by empty value.
   &lt;/td&gt;
   &lt;td&gt;If you want to keep historical data beyond 37 months in BigQuery, we recommend starting backfilling runs early so that they can complete before June 1, 2026.
   &lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;
If you have any questions or want to discuss this post, please reach out to us on our &lt;a target=&quot;_blank&quot; href=&quot;http://goo.gle/ads-and-measurement-discord&quot;&gt;“Google Advertising and Measurement Community” Discord server&lt;/a&gt;.  
&lt;/p&gt;

&lt;span class=&#39;byline-author&#39;&gt;&lt;img height=&quot;40&quot; width=&quot;40&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirL384dk5kS3bbZT7SvdKdHtYvuL0HbdDhCIG92AVQY0Vv4aI-h4EnuzN4uNC-E-HQs7D2jKOUCe6U3GK1QY-ybACkyvNXnFoKqO-bqSF66spvNx_40LNrNs0GHYWi9UyhtEkdV9qpeuZcnPO1jqEXSW4Wi48y8UvWdYo070Dz6_tUh_3enwKSe2B58pA/s1600/ndsw.jpg&quot; style=&quot;vertical-align: middle; border:none;&quot;/&gt; Nadine Wang, Advertising and Measurement APIs Team&lt;/span&gt;

</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/1762109782553839298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/1762109782553839298'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/05/new-data-retention-policy-for-google.html' title='New Data Retention Policy for Google Ads starting June 1, 2026'/><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirL384dk5kS3bbZT7SvdKdHtYvuL0HbdDhCIG92AVQY0Vv4aI-h4EnuzN4uNC-E-HQs7D2jKOUCe6U3GK1QY-ybACkyvNXnFoKqO-bqSF66spvNx_40LNrNs0GHYWi9UyhtEkdV9qpeuZcnPO1jqEXSW4Wi48y8UvWdYo070Dz6_tUh_3enwKSe2B58pA/s72-c/ndsw.jpg" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-3563127353641309193</id><published>2026-04-30T07:47:00.000-07:00</published><updated>2026-04-30T07:47:26.834-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><category scheme="http://www.blogger.com/atom/ns#" term="reporting"/><title type='text'>Product reporting changes for Google Ads starting June 15, 2026</title><content type='html'>&lt;p&gt;
Starting June 15, 2026, the &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-productperformancereportingchangesapr2026&amp;utm_content=readmore-api&quot;&gt;Google Ads API&lt;/a&gt; will begin transitioning &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/shopping-ads/reporting?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-productperformancereportingchangesapr2026&amp;utm_content=readmore-reporting&quot;&gt;product reporting&lt;/a&gt; to include data from all Performance Max networks. This update also provides comprehensive performance metrics across all campaign types and channels, including Performance Max, Shopping, Video, App, and Demand Gen.
&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;What is changing?&lt;/strong&gt;&lt;/h3&gt;


&lt;p&gt;
Previously, reporting for products in Video, Demand Gen, and App campaigns was limited to high-level metrics like impressions and clicks. Also for Performance Max campaigns, only some networks were reported. This update introduces:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;Expanded metrics for &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/fields/latest/shopping_product?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-productperformancereportingchangesapr2026&amp;utm_content=readmore-shopping_product&quot;&gt;shopping_product&lt;/a&gt;&lt;/code&gt;: &lt;/strong&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/fields/latest/shopping_product?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-productperformancereportingchangesapr2026&amp;utm_content=readmore-cost#metrics.cost_micros&quot;&gt;Cost&lt;/a&gt; and &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/fields/latest/shopping_product?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-productperformancereportingchangesapr2026&amp;utm_content=readmore-conversion#metrics.conversions&quot;&gt;Conversion&lt;/a&gt; metrics will start returning data for Video, Demand Gen, and App campaigns, not just Shopping and Performance Max.
&lt;li&gt;&lt;strong&gt;Consistent campaign reporting with &lt;code&gt;shopping_performance_view&lt;/code&gt;:&lt;/strong&gt; All campaign types that use &lt;a target=&quot;_blank&quot; href=&quot;https://support.google.com/merchants/answer/12159157?hl=en&quot;&gt;Google Merchant Center (GMC)&lt;/a&gt; will have results returned with &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/fields/latest/shopping_performance_view?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-productperformancereportingchangesapr2026&amp;utm_content=readmore-shopping_performance_view&quot;&gt;shopping_performance_view&lt;/a&gt;&lt;/code&gt;.
&lt;li&gt;&lt;strong&gt;Network transparency for Performance Max:&lt;/strong&gt; All &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/fields/latest/shopping_performance_view?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-productperformancereportingchangesapr2026&amp;utm_content=readmore-networks#segments.ad_network_type&quot;&gt;networks&lt;/a&gt; will start being returned for Performance Max campaigns when querying for &lt;code&gt;shopping_performance_view&lt;/code&gt;, so you may notice a one-time increase in all product reporting metrics for these campaigns. Note that data for these new metrics and expanded campaign coverage will only be available starting from &lt;strong&gt;June 15 2026&lt;/strong&gt;. Historical API requests for dates prior to the launch will not contain this expanded data.&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
If you have any questions or want to discuss this post, please reach out to us on our &lt;a target=&quot;_blank&quot; href=&quot;http://goo.gle/ads-and-measurement-discord&quot;&gt;“Google Advertising and Measurement Community” Discord server&lt;/a&gt;. 
&lt;/p&gt;

&lt;p&gt;&lt;span class=&#39;byline-author&#39;&gt;&lt;img width=&quot;40&quot; height=&quot;40&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhMd1fdKsHQ-Ld1S2S7p1QnHKGIsAxgkzDAnAZ4Ennu3TL968-LZlrDhnCAtVhhh-UUMIKK6ecAadUoYY2_S-nU6HNVWDZK4vE28WYzIilQUhe8Fh_FMOaFo5sahlfpyIV7j_sR8xS-HtM_KU_deoWN91Y3dk21HE65O2lzO4fd8aOAFTxqpd2-rVhO5XM&quot; style=&quot;vertical-align: middle; border:none;&quot;/&gt;&amp;nbsp;-&amp;nbsp;Dora Sun - Google Ads API Team&lt;/span&gt;&lt;/p&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/3563127353641309193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/3563127353641309193'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/04/product-reporting-changes-for-google.html' title='Product reporting changes for Google Ads starting June 15, 2026'/><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEhMd1fdKsHQ-Ld1S2S7p1QnHKGIsAxgkzDAnAZ4Ennu3TL968-LZlrDhnCAtVhhh-UUMIKK6ecAadUoYY2_S-nU6HNVWDZK4vE28WYzIilQUhe8Fh_FMOaFo5sahlfpyIV7j_sR8xS-HtM_KU_deoWN91Y3dk21HE65O2lzO4fd8aOAFTxqpd2-rVhO5XM=s72-c" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-8392443649865443313</id><published>2026-04-29T10:47:00.000-07:00</published><updated>2026-04-29T10:47:14.940-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google_ads"/><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><category scheme="http://www.blogger.com/atom/ns#" term="sunset"/><title type='text'>Google Ads API v20 sunset reminder</title><content type='html'>&lt;p&gt;
Google Ads API v20 will &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/sunset-dates?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-v20-sunset&amp;utm_content=readmore-deprecationandsunset&quot;&gt;sunset&lt;/a&gt; on June 10, 2026. Starting on this date, all v20 API requests will begin to fail. Migrate to a &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/release-notes?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-v20-sunset&amp;utm_content=readmore-releasenotes&quot;&gt;newer version&lt;/a&gt; prior to June 10, 2026 to ensure your API access is unaffected.
&lt;/p&gt;
&lt;p&gt;
Here are some resources to help you with the migration:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/version-migration?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-v20-sunset&amp;utm_content=upgrade&quot;&gt;Upgrade to the newest version&lt;/a&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/release-notes?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-v20-sunset&amp;utm_content=readmore-releasenotes-2&quot;&gt;Release notes&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
You can view a list of methods and services your project has recently called using the &lt;a target=&quot;_blank&quot; href=&quot;https://console.cloud.google.com?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-v20-sunset&amp;utm_content=tryitout-cloudconsole&quot;&gt;Google Cloud Console&lt;/a&gt;:
&lt;/p&gt;&lt;ol&gt;

&lt;li&gt;Open &lt;strong&gt;APIs &amp; Services&lt;/strong&gt; in the Google Cloud Console.
&lt;li&gt;Click &lt;strong&gt;Google Ads API&lt;/strong&gt; in the table.
&lt;li&gt;On the &lt;strong&gt;Metrics&lt;/strong&gt; subtab, you should see your recent requests plotted on each graph. You can see which methods you&#39;ve sent requests to in the &lt;strong&gt;Methods&lt;/strong&gt; table. The method name includes a Google Ads API version, a service, and a method name, such as 

    

&lt;pre class=&quot;prettyprint&quot;&gt;google.ads.googleads.v20.services.GoogleAdsService.Mutate.
&lt;/pre&gt;

&lt;ol&gt;

&lt;li&gt;(Optional) Choose the timeframe you want to view for your requests.&lt;/li&gt;&lt;/ol&gt;
&lt;/li&gt;&lt;/ol&gt;

&lt;p&gt;
If you have any questions or want to discuss this post, please reach out to &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/support?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-v20-sunset&amp;utm_content=support-gaapi&quot;&gt;Google Ads API support&lt;/a&gt; or start a discussion on our &lt;a target=&quot;_blank&quot; href=&quot;http://goo.gle/ads-and-measurement-discord&quot;&gt;“Google Advertising and Measurement Community” Discord server&lt;/a&gt;.
&lt;/p&gt;

&lt;span class=&quot;byline-author&quot;&gt;&lt;img height=&quot;40&quot; src=&quot;https://lh3.googleusercontent.com/a-/AOh14GhFLgYJAFpYHUS1kBcLzMIT2gKkUyYcjWCuOWM3=s600-p&quot; style=&quot;border: none; vertical-align: middle;&quot; width=&quot;40&quot; /&gt; - Ben Karl, on behalf of the Google Ads API Team&lt;/span&gt;


</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/8392443649865443313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/8392443649865443313'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/04/google-ads-api-v20-sunset-reminder.html' title='Google Ads API v20 sunset reminder'/><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-2977878166887441535</id><published>2026-04-23T09:40:00.000-07:00</published><updated>2026-04-23T09:40:45.058-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google_ads"/><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><category scheme="http://www.blogger.com/atom/ns#" term="keyword_optimizer"/><category scheme="http://www.blogger.com/atom/ns#" term="keywords"/><title type='text'>Simplifying Keyword Forecast Metrics in Google Ads API v24</title><content type='html'>&lt;p&gt;
To provide a more streamlined and reliable experience, we have unified our forecasting infrastructure. Google Ads API v24 introduces an updated &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/KeywordPlanIdeaService/GenerateKeywordForecastMetrics?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-keyword-simplification-apr2026&amp;utm_content=keywordplanning-refdocs&quot;&gt;GenerateKeywordForecastMetrics&lt;/a&gt;&lt;/code&gt; method that simplifies the planning process by focusing on the metrics that most directly impact your performance.

&lt;h2&gt;What&#39;s changing?&lt;/h2&gt;


&lt;p&gt;
To streamline our systems and focus on the primary data that drives successful Search planning, Google Ads API v24 introduces the following refinements:
&lt;/p&gt;
&lt;h3&gt;1. Alignment with Bidding Strategies&lt;/h3&gt;


&lt;p&gt;
To provide a more consistent experience across Google Ads tools, forecasts now focus exclusively on the primary metrics that your chosen bidding strategy directly impacts. This alignment ensures that the data you use for planning is synchronized with the high-impact performance indicators for your actual campaigns:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;Manual CPC and Maximize Clicks&lt;/strong&gt;: Forecasts provide clicks, average CPC, and cost.
&lt;li&gt;&lt;strong&gt;Maximize Conversions&lt;/strong&gt;: Forecasts provide conversions, average CPA, and cost.
&lt;li&gt;&lt;strong&gt;Metric Focus&lt;/strong&gt;: To maintain consistency across the platform, forecasts no longer include cross-metric data (such as conversion estimates for click-oriented strategies) or secondary metrics like impressions and conversion value.&lt;/li&gt;&lt;/ul&gt;

&lt;h3&gt;2. Streamlined Request Parameters&lt;/h3&gt;


&lt;p&gt;
We have made the following updates to simplify forecasting requests, improve system reliability, and remove inputs which have a minimal effect on overall forecast accuracy:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/CampaignToForecast#geo_modifiers[]?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-keyword-simplification-apr2026&amp;utm_content=keywordplanning-refdocs&quot;&gt;CampaignToForecast.geo_modifiers[]&lt;/a&gt;&lt;/code&gt; is replaced by &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/CampaignToForecast#geo_target_constants[]?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-keyword-simplification-apr2026&amp;utm_content=keywordplanning-refdocs&quot;&gt;CampaignToForecast.geo_target_constants[]&lt;/a&gt;&lt;/code&gt;
&lt;li&gt;&lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/ForecastAdGroup#biddable_keywords[]?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-keyword-simplification-apr2026&amp;utm_content=keywordplanning-refdocs&quot;&gt;ForecastAdGroup.biddable_keywords[]&lt;/a&gt;&lt;/code&gt; is replaced by &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/ForecastAdGroup#keywords?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-keyword-simplification-apr2026&amp;utm_content=keywordplanning-refdocs&quot;&gt;ForecastAdGroup.keywords[]&lt;/a&gt;&lt;/code&gt;.
&lt;li&gt;The following fields are removed: &lt;ul&gt;

 &lt;li&gt;&lt;code&gt;CampaignToForecast.keyword_plan_network&lt;/code&gt;
 &lt;li&gt;&lt;code&gt;CampaignToForecast.negative_keywords&lt;/code&gt;
 &lt;li&gt;&lt;code&gt;ForecastAdGroup.max_cpc_bid_micros&lt;/code&gt;
 &lt;li&gt;&lt;code&gt;ForecastAdGroup.negative_keywords&lt;/code&gt;
 &lt;li&gt;&lt;code&gt;CriterionBidModifier&lt;/code&gt;&lt;/li&gt; &lt;/ul&gt;
&lt;/li&gt; &lt;/ul&gt;

&lt;h2&gt;Timeline&lt;/h2&gt;


&lt;p&gt;
The transition follows our standard release and sunset cycle:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;April 2026&lt;/strong&gt;: Google Ads API v24 is available with the updated &lt;code&gt;GenerateKeywordForecastMetrics&lt;/code&gt; functionality.
&lt;li&gt;&lt;strong&gt;February 2027&lt;/strong&gt;: Google Ads API v23 is &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/sunset-dates?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-keyword-simplification-apr2026&amp;utm_content=keywordplanning-sunsetdates&quot;&gt;scheduled for sunset&lt;/a&gt;. At this time, all versions of the Google Ads API will utilize this unified forecasting infrastructure.&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Next Steps&lt;/h2&gt;


&lt;p&gt;
Developers that use &lt;code&gt;GenerateKeywordForecastMetrics&lt;/code&gt; should review their integrations to ensure compatibility with the updated parameter set in v24. Review the Generate Forecast Metrics guide and the &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/KeywordPlanIdeaService/GenerateKeywordForecastMetrics?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-keyword-simplification-apr2026&amp;utm_content=keywordplanning-refdocs&quot;&gt;GenerateKeywordForecastMetrics&lt;/a&gt;&lt;/code&gt; v24 reference for the latest usage details.

&lt;p&gt;
If you have any questions about this announcement or want to discuss it with our team and the community, please reach out to us on our &lt;a target=&quot;_blank&quot; href=&quot;https://goo.gle/ads-and-measurement-discord&quot;&gt;Ads and Measurement Community Discord server&lt;/a&gt;.
&lt;/p&gt;

&lt;span class=&#39;byline-author&#39;&gt;&lt;img width=&quot;40&quot; height=&quot;40&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1QyLBN_MNIUNy20yCmmeYUsmqBl083GUng1w8D2sZvZrGVShmgPa6XkCPlYaMn1MmENzAk8sfjNbHIv2E8jAvZ5hnEUT6Z0WcIpMzUNbrsLNk0B0etRPWMv6YlP-4Is6YQZzva1TDeJeix5PD3zOKSLsZEUEYmyNVy-dIVsU6EF2o4hvI5HrEiuxGVGg/s1600/laura_linkedin.jpeg&quot; style=&quot;vertical-align:middle; border:none;&quot;&gt;&amp;nbsp;-&amp;nbsp;Laura Chevalier, Google Ads API Team&lt;/span&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/2977878166887441535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/2977878166887441535'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/04/simplifying-keyword-forecast-metrics-in.html' title='Simplifying Keyword Forecast Metrics in Google Ads API v24'/><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1QyLBN_MNIUNy20yCmmeYUsmqBl083GUng1w8D2sZvZrGVShmgPa6XkCPlYaMn1MmENzAk8sfjNbHIv2E8jAvZ5hnEUT6Z0WcIpMzUNbrsLNk0B0etRPWMv6YlP-4Is6YQZzva1TDeJeix5PD3zOKSLsZEUEYmyNVy-dIVsU6EF2o4hvI5HrEiuxGVGg/s72-c/laura_linkedin.jpeg" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-4765087063926294505</id><published>2026-04-22T14:24:00.000-07:00</published><updated>2026-04-22T14:24:25.120-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><category scheme="http://www.blogger.com/atom/ns#" term="release"/><title type='text'>Announcing v24 of the Google Ads API</title><content type='html'>&lt;p&gt;
Today, we’re announcing the v24 release of the &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-api&quot;&gt;Google Ads API&lt;/a&gt;. To use the new v24 features, you must upgrade your &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/client-libs?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-clientlibs&quot;&gt;client libraries&lt;/a&gt; and client code. All the updated client libraries and code examples have been published.
&lt;/p&gt;
&lt;p&gt;
Come join us for a live walkthrough of this release in our &lt;a target=”_blank” href=&quot;https://discord.com/events/971845904002871346/1492135554966360125&quot;&gt;&quot;Google Ads API Release Highlights&quot; event on Discord&lt;/a&gt;, our &lt;a target=”_blank” href=&quot;https://www.youtube.com/watch?v=sw_YjsWhYlY&amp;hl=it&quot;&gt;Ads Developers YouTube Live&lt;/a&gt;, or our &lt;a target=”_blank” href=&quot;https://www.linkedin.com/events/7449835840215797761&quot;&gt;LinkedIn Live event&lt;/a&gt; tomorrow (April 23rd at 10a ET). This will also be recorded and posted on YouTube for those who can’t make the live events. If you have any questions or want to discuss this post, reach out to us in the &lt;a target=”_blank” href=&quot;http://goo.gle/ads-and-measurement-discord&quot;&gt;#ads-api channel&lt;/a&gt; on Discord.
&lt;/p&gt;
&lt;h3&gt;New features&lt;/h3&gt;


&lt;p&gt;
&lt;strong&gt;Support for Conversions with Cart Data: &lt;/strong&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://support.google.com/google-ads/answer/9028254&quot;&gt;Conversions with cart data&lt;/a&gt; is an extension to conversion tracking on your website or app. Using conversions with cart data, you can provide the details of products sold for each transaction, which helps you unlock advanced sales, profit reporting, and insights for your Google Ads account and campaigns, such as number of orders, average cart size, revenue and gross profit.
&lt;/p&gt;
&lt;p&gt;
Google Ads API v24 adds support for this feature as follows:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;Added a new resource &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/CartDataSalesView?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-refdocs&quot;&gt;CartDataSalesView&lt;/a&gt;&lt;/code&gt; that allows segmenting conversion metrics not only by the product clicked, but also by the product sold, with segments like &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/fields/v24/segments?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-refdocs#segments.product_sold_brand&quot;&gt;product_sold_brand&lt;/a&gt;&lt;/code&gt;. These enable advertisers to view statistics on the products the customers actually bought after clicking ads, even if the ad was for a different product.
&lt;li&gt;Added several “all” non-biddable metrics, which are metrics that also include the conversions your campaigns are not actively optimizing towards, for example &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/fields/v24/metrics?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-refdocs#metrics.all_cost_of_goods_sold_micros&quot;&gt;all_cost_of_goods_sold_micros&lt;/a&gt;&lt;/code&gt;. The new metrics are added to all resources supporting corresponding biddable metrics.
&lt;li&gt;Added the &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/fields/v24/segments?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-refdocs#segments.conversion_attribution_event_type&quot;&gt;conversion_attribution_event_type&lt;/a&gt;&lt;/code&gt; segment to the &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/ShoppingPerformanceView?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-refdocs&quot;&gt;ShoppingPerformanceView&lt;/a&gt;&lt;/code&gt; resource, making it selectable with cart data and other conversion metrics. This segment denotes whether the conversion is attributed to a click or to a view and it is necessary to recognize cart data stats produced by view-through conversions.&lt;/li&gt;&lt;/ul&gt;

&lt;h3&gt;Updated features&lt;/h3&gt;


&lt;p&gt;
Version v24 introduces updates to existing features that require code changes when upgrading. We cover the most important ones here; check out the release notes for the &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/release-notes?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v23_2&amp;utm_content=learnmore-releasenotes&quot;&gt;full list of changes&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Video content exclusion settings in campaigns:  &lt;/strong&gt;We simplified the ability to set &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/Campaign?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-refdocs#video_brand_safety_suitability&quot;&gt;video content exclusion settings on individual campaigns&lt;/a&gt;. This setting is available at the &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/Customer?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-refdocs#video_brand_safety_suitability&quot;&gt;customer level&lt;/a&gt;, and applies to all the campaigns instead. These content exclusion settings are meant to give you additional control and help you exclude types of content that, while in compliance with our policies, may not fit your brand or business. See &lt;a target=&quot;_blank&quot; href=&quot;https://support.google.com/google-ads/answer/7515513&quot;&gt;https://support.google.com/google-ads/answer/7515513&lt;/a&gt; to learn more about video content exclusion settings.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Changes to AudienceInsightsService: &lt;/strong&gt;As part of a code refactoring, we moved the &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/InsightsAudience?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-refdocs#topic_audience_combinations%5B%5D&quot;&gt;InsightsAudience.topic_audience_combinations&lt;/a&gt;&lt;/code&gt; request field into the &lt;code&gt;common&lt;/code&gt; namespace. You may need to update your import directives in some programming languages.

&lt;p&gt;
&lt;strong&gt;Changes to ReachPlanService: &lt;/strong&gt;As part of a code refactoring, we moved the &lt;code&gt;youtube_select_lineups&lt;/code&gt; field from the &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/ReachPlanService/ListPlannableProducts?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-refdocs&quot;&gt;ReachPlanService.ListPlannableProducts&lt;/a&gt;&lt;/code&gt; service. Lineups are now available within the &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/PlannableTargeting?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-refdocs#youtube_select_lineup_targeting&quot;&gt;youtube_select_lineup_targeting&lt;/a&gt;&lt;/code&gt; field. YouTube Select Lineups are &lt;a target=&quot;_blank&quot; href=&quot;https://support.google.com/google-ads/answer/6030919&quot;&gt;reservation products&lt;/a&gt; for eligible clients to target among the top 1% of popular channels on YouTube with the most passionate audiences in a given market. &lt;a target=&quot;_blank&quot; href=&quot;https://blog.google/products-and-platforms/products/ads/introducing-youtube-select/&quot;&gt;Learn more&lt;/a&gt;.

&lt;p&gt;
&lt;strong&gt;Changes to ContentCreatorInsightsService: &lt;/strong&gt;As part of a code refactoring, we removed the &lt;code&gt;is_brand_connect_creator&lt;/code&gt; field from the &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/ContentCreatorInsightsService/GenerateCreatorInsights?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-refdocs&quot;&gt;ContentCreatorInsightsService.GenerateCreatorInsights&lt;/a&gt;&lt;/code&gt; and &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/ContentCreatorInsightsService/GenerateTrendingInsights?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-refdocs&quot;&gt;ContentCreatorInsightsService.GenerateTrendingInsights&lt;/a&gt;&lt;/code&gt; services.&lt;br&gt;Users should instead look for a creator to have the &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/PartnershipOpportunityEnum.PartnershipOpportunity?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-refdocs#creator_partnerships&quot;&gt;CREATOR_PARTNERSHIPS&lt;/a&gt;&lt;/code&gt; option available instead in &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/YouTubeMetrics?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-refdocs#partnership_opportunities&quot;&gt;partnership_opportunities&lt;/a&gt;&lt;/code&gt;. The YouTube Creator Partnerships in Google Ads is the space where you can find YouTube creators to partner with on sponsored content and help you efficiently manage your creator partnerships. &lt;a target=&quot;_blank&quot; href=&quot;https://support.google.com/google-ads/answer/15471603&quot;&gt;Learn more&lt;/a&gt;.

&lt;p&gt;
&lt;strong&gt;Changes to KeywordPlanIdeaService: &lt;/strong&gt;To provide a more streamlined and reliable experience, we have unified our forecasting infrastructure. Google Ads API v24 introduces an updated &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/KeywordPlanIdeaService/GenerateKeywordForecastMetrics?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-refdocs&quot;&gt;GenerateKeywordForecastMetrics&lt;/a&gt;&lt;/code&gt; method that simplifies the planning process by focusing on the metrics that most directly impact your performance. We will share a more detailed blog post about this change in the coming days.

&lt;p&gt;
&lt;strong&gt;Changes to campaign_budget resource: &lt;/strong&gt;We removed the &lt;code&gt;ad_sub_network_type&lt;/code&gt; segment for the &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/fields/v24/campaign_budget?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-refdocs&quot;&gt;campaign_budget&lt;/a&gt;&lt;/code&gt; resource because it is incompatible with this view.

&lt;p&gt;
&lt;strong&gt;Changes to asset views:&lt;/strong&gt; We removed the &lt;code&gt;click_type&lt;/code&gt; segment from the &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/fields/v24/ad_group_asset?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-refdocs&quot;&gt;ad_group_asset&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/fields/v24/campaign_asset?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-refdocs&quot;&gt;campaign_asset&lt;/a&gt;&lt;/code&gt;, and &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/fields/v24/customer_asset?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-refdocs&quot;&gt;customer_asset&lt;/a&gt;&lt;/code&gt; views. This change aligns with a recent product change that removed this segment from the Google Ads to avoid misrepresentation of data. You can use the &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/fields/v23/ad_group_ad?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-refdocs#segments.click_type&quot;&gt;click_type&lt;/a&gt;&lt;/code&gt; segmentation from the &lt;code&gt;ad_group_ad&lt;/code&gt; resource to get details on the ad performance and the asset it was served with. 

&lt;p&gt;
&lt;strong&gt;Changes to video responsive ad: &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/VideoResponsiveAdInfo?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-refdocs&quot;&gt;VideoResponsiveAdInfo&lt;/a&gt;&lt;/code&gt;&lt;/strong&gt; is now mutable. As part of this change, we have marked &lt;code&gt;videos&lt;/code&gt;, &lt;code&gt;business_name&lt;/code&gt; and &lt;code&gt;logo_images&lt;/code&gt; as required fields in both the &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/DemandGenVideoResponsiveAdInfo?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-refdocs&quot;&gt;DemandGenVideoResponsiveAdInfo&lt;/a&gt;&lt;/code&gt; and &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/VideoResponsiveAdInfo?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-refdocs&quot;&gt;VideoResponsiveAdInfo&lt;/a&gt;&lt;/code&gt; objects.

&lt;p&gt;
&lt;strong&gt;Changes to ShareablePreviewService: &lt;/strong&gt;Updated &lt;code&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v24/ShareablePreviewService#GenerateShareablePreviews?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-refdocs&quot;&gt;ShareablePreviewService.GenerateShareablePreviews&lt;/a&gt;&lt;/code&gt; to not use partial failure anymore. Requests will throw an error if they fail for any ID. &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/release-notes?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-refdocs#videos-v24&quot;&gt;Learn more&lt;/a&gt;.

&lt;p&gt;
The following resources can help you get started:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/release-notes?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-releasenotes&quot;&gt;Release Notes&lt;/a&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/upgrade?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-upgrade&quot;&gt;Upgrade from a previous version&lt;/a&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-guides&quot;&gt;Guides&lt;/a&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/reference/rpc/?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-refdocs&quot;&gt;Reference&lt;/a&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/upgrade?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v23_2&amp;utm_content=learnmore-upgrade?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v24&amp;utm_content=learnmore-upgrade#v23-v24&quot;&gt;Diff between v24 and v23&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
For technical support issues, reach out to &lt;a target=&quot;_blank&quot; href=&quot;https://support.google.com/google-ads/contact/google_ads_api&quot;&gt;https://support.google.com/google-ads/contact/google_ads_api&lt;/a&gt;  
&lt;/p&gt;



&lt;p&gt;&lt;span class=&quot;byline-author&quot;&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://g.dev/anash&quot;&gt;&lt;img width=&quot;40&quot; height=&quot;40&quot; src=&quot;https://lh3.googleusercontent.com/a-/AD_cMMRmfdsXvZhyLvWsLuqqcScxtYI0ih7DPGCk8lTee140NzXH=s300&quot; style=&quot;vertical-align:middle; border:none;&quot;&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a target=&quot;_blank&quot; href=&quot;https://g.dev/anash&quot; rel=&quot;author&quot;&gt;Anash P. Oommen&lt;/a&gt;, Google Ads API Team&lt;/span&gt;&lt;/p&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/4765087063926294505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/4765087063926294505'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/04/announcing-v24-of-google-ads-api.html' title='Announcing v24 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><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh3.googleusercontent.com/a-/AD_cMMRmfdsXvZhyLvWsLuqqcScxtYI0ih7DPGCk8lTee140NzXH=s72-c" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-7205107972478417890</id><published>2026-04-17T06:41:00.000-07:00</published><updated>2026-04-17T06:41:59.174-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><category scheme="http://www.blogger.com/atom/ns#" term="oauth"/><title type='text'>Multi-factor authentication requirement for the Google Ads API</title><content type='html'>&lt;p&gt;
As part of improving security for Google Ads accounts, the Google Ads API will start requiring Multi-factor authentication (MFA) for Google Ads API users. These important security updates will start rolling out from &lt;strong&gt;April 21, 2026&lt;/strong&gt;, and will be enabled for all users over the next few weeks.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;What is MFA?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
MFA, also known as &lt;a target=&quot;_blank&quot; href=&quot;https://support.google.com/accounts/answer/185839&quot;&gt;2-step verification&lt;/a&gt; or 2SV, is an important security measure. In addition to your password, MFA requires another proof of identity, known as an authentication factor, to successfully sign in to an account. By requiring the second factor, you’re making it significantly harder for unauthorized users to breach your account, and a compromised password alone is not enough to gain access.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;What is changing?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Once this change goes live, users following the &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/oauth/user-authentication?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-2sv-apr2026&amp;utm_content=learnmore-apidocs-authentication&quot;&gt;user authentication workflow&lt;/a&gt; to generate new OAuth 2.0 refresh tokens for Google Ads API will always be challenged with a second factor for authentication in addition to a username and password.
&lt;/p&gt;
&lt;p&gt;
If you don’t have 2-step verification enabled, you will be prompted to add a 2-step verification method.
&lt;/p&gt;


&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXtCbKx_eZoVXzq5RmUdzy6KmNKdtHPWg1iedRxqoufhqkdwOBcF-rVUPXHryFvjfPo8qy5qHZ8xTPUxGZDbwQebIQivXjbz79AcnrAON8c1lHJj_caXqgH1jWxPYMDayxZblWWTxk7QFvb8ZdjHcGzM5-ukDSzMcGqTaYwJLggZD-8XPcHIRIaYJSkyo/s1600/oauthimage.png&quot; style=&quot;display: block; padding: 1em 0; text-align: center; &quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; data-original-height=&quot;512&quot; data-original-width=&quot;467&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXtCbKx_eZoVXzq5RmUdzy6KmNKdtHPWg1iedRxqoufhqkdwOBcF-rVUPXHryFvjfPo8qy5qHZ8xTPUxGZDbwQebIQivXjbz79AcnrAON8c1lHJj_caXqgH1jWxPYMDayxZblWWTxk7QFvb8ZdjHcGzM5-ukDSzMcGqTaYwJLggZD-8XPcHIRIaYJSkyo/s1600/oauthimage.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;


&lt;p&gt;
&lt;strong&gt;What action do I need to take?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
You may be affected by this change, depending on the authentication workflow that your application uses.
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/oauth/service-accounts?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-2sv-apr2026&amp;utm_content=learnmore-apidocs-authentication&quot;&gt;Service account workflow&lt;/a&gt;&lt;/strong&gt;: Service account workflows are not affected by this change, so no action is required. We strongly recommend using service account workflow for applications that require automated or offline workflows.
&lt;li&gt;&lt;strong&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/api/docs/oauth/user-authentication?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-2sv-apr2026&amp;utm_content=learnmore-apidocs-authentication&quot;&gt;User authentication workflow&lt;/a&gt;&lt;/strong&gt;: If your app generates OAuth 2.0 refresh tokens for users, you will be affected as follows: &lt;ul&gt;

 &lt;li&gt;Existing OAuth refresh tokens are not affected by this change. They will continue to work as usual, and you won’t be prompted for reauthorization when obtaining OAuth access tokens.
 &lt;li&gt;New users will be challenged with a second factor for authentication in addition to a username and password. &lt;/li&gt; &lt;/ul&gt;
&lt;/li&gt; &lt;/ul&gt;

&lt;p&gt;
&lt;strong&gt;What other platforms are affected by this change?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
If you use &lt;a target=&quot;_blank&quot; href=&quot;https://support.google.com/google-ads/editor/answer/2484521&quot;&gt;Google Ads Editor&lt;/a&gt;, &lt;a target=&quot;_blank&quot; href=&quot;https://developers.google.com/google-ads/scripts/docs/start?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-2sv-apr2026&amp;utm_content=learnmore-scripts&quot;&gt;Google Ads Scripts&lt;/a&gt;, &lt;a target=&quot;_blank&quot; href=&quot;https://docs.cloud.google.com/bigquery/docs/google-ads-transfer&quot;&gt;BigQuery Data Transfer Service&lt;/a&gt; or &lt;a target=&quot;_blank&quot; href=&quot;https://docs.cloud.google.com/data-studio/connect-to-google-ads&quot;&gt;Data Studio&lt;/a&gt; to manage Google Ads, you will start getting challenged with a second factor for authentication in addition to a username and password. If you don’t have 2-step verification enabled, you will be prompted to add a 2-step verification method.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;How can users check and enable MFA?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Users can check whether MFA is enabled for their account by opening the &lt;strong&gt;Security&lt;/strong&gt; tab of their &lt;a target=&quot;_blank&quot; href=&quot;https://myaccount.google.com/security&quot;&gt;Google Account settings page&lt;/a&gt;. The &lt;strong&gt;2-Step Verification&lt;/strong&gt; setting is displayed in the &lt;strong&gt;How you sign in to Google&lt;/strong&gt; section. If MFA isn’t enabled, follow the on-screen steps displayed in this section.
&lt;/p&gt;
&lt;p&gt;
If you don&#39;t see the 2-Step Verification option for your account, your administrator might have disabled it. Contact &lt;a target=&quot;_blank&quot; href=&quot;https://support.google.com/a/answer/6208960&quot;&gt;your administrator&lt;/a&gt; for assistance.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Troubleshooting&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Q:&lt;/strong&gt; When I navigate to the &lt;a target=&quot;_blank&quot; href=&quot;https://myaccount.google.com/security&quot;&gt;Google Account settings page&lt;/a&gt;, I don’t see the 2-Step Verification option for my account.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;A:&lt;/strong&gt; If you don&#39;t see the 2-Step Verification option for your account, your administrator might have disabled it. Contact &lt;a target=&quot;_blank&quot; href=&quot;https://support.google.com/a/answer/6208960&quot;&gt;your administrator&lt;/a&gt; for assistance.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Q:&lt;/strong&gt; I don’t have a 2-step verification option enabled for my account. When I attempt to sign in, I get an error that &quot;Google couldn’t verify this account belongs to you.&quot; and I am prompted to &lt;strong&gt;Recover account &lt;/strong&gt;instead of prompting me to &lt;strong&gt;add a 2-step verification&lt;/strong&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;A:&lt;/strong&gt; In certain situations, Google needs additional verification before letting you add a second factor to your account. To fix the issue, navigate to the &lt;strong&gt;Security&lt;/strong&gt; tab of your &lt;a target=&quot;_blank&quot; href=&quot;https://myaccount.google.com/security&quot;&gt;Google Account settings page&lt;/a&gt;. The &lt;strong&gt;2-Step Verification&lt;/strong&gt; setting is displayed in the &lt;strong&gt;How you sign in to Google&lt;/strong&gt; section. If 2-Step Verification isn’t enabled, follow the on-screen steps displayed in this section. Wait for a few minutes and attempt signing into the Google Ads API application again.
&lt;/p&gt;
&lt;p&gt;
For any questions or further discussion regarding this update, please connect with us on the &lt;a target=&quot;_blank&quot; href=&quot;http://goo.gle/ads-and-measurement-discord&quot;&gt;&quot;Google Advertising and Measurement Community&quot; Discord server&lt;/a&gt;. 
&lt;/p&gt;




&lt;p&gt;&lt;span class=&quot;byline-author&quot;&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://g.dev/anash&quot;&gt;&lt;img width=&quot;40&quot; height=&quot;40&quot; src=&quot;https://lh3.googleusercontent.com/a-/AD_cMMRmfdsXvZhyLvWsLuqqcScxtYI0ih7DPGCk8lTee140NzXH=s300&quot; style=&quot;vertical-align:middle; border:none;&quot;&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a target=&quot;_blank&quot; href=&quot;https://g.dev/anash&quot; rel=&quot;author&quot;&gt;Anash P. Oommen&lt;/a&gt;, Google Ads API Team&lt;/span&gt;&lt;/p&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/7205107972478417890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/7205107972478417890'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/04/multi-factor-authentication-requirement.html' title='Multi-factor authentication requirement for the Google Ads API'/><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXtCbKx_eZoVXzq5RmUdzy6KmNKdtHPWg1iedRxqoufhqkdwOBcF-rVUPXHryFvjfPo8qy5qHZ8xTPUxGZDbwQebIQivXjbz79AcnrAON8c1lHJj_caXqgH1jWxPYMDayxZblWWTxk7QFvb8ZdjHcGzM5-ukDSzMcGqTaYwJLggZD-8XPcHIRIaYJSkyo/s72-c/oauthimage.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-7351272232023825618</id><published>2026-04-16T09:51:00.000-07:00</published><updated>2026-04-16T09:51:21.099-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="admob"/><category scheme="http://www.blogger.com/atom/ns#" term="ai"/><category scheme="http://www.blogger.com/atom/ns#" term="data_manager_api"/><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><category scheme="http://www.blogger.com/atom/ns#" term="google_analytics_api"/><category scheme="http://www.blogger.com/atom/ns#" term="podcast"/><title type='text'>Ads DevCast E3: Improving your Advertising Workflows</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5Vstea3C9Z-MwqrUCf7fAundwtPeRrOEx8z-gs8eNc2onPhYMqPZkXac3KR6KDzL5a1_C6VoNAEjF8w_5I5Uv6QsgNgYsNiWI5i-JDlxRNKJUSqQFYYVPHGnQ55fl8r548LVwh7vnved1YyvTyQtPJOkJj0mpCKgHrZEdmIe6UvEh67EmlwphIiOC0CQ/s1938/Screenshot%202026-04-15%20at%2012.03.25%E2%80%AFAM.png&quot;  target=&quot;_blank&quot; style=&quot;display: block; padding: 1em 0; text-align: center; &quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; width=&quot;600&quot; data-original-height=&quot;1080&quot; data-original-width=&quot;1920&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5Vstea3C9Z-MwqrUCf7fAundwtPeRrOEx8z-gs8eNc2onPhYMqPZkXac3KR6KDzL5a1_C6VoNAEjF8w_5I5Uv6QsgNgYsNiWI5i-JDlxRNKJUSqQFYYVPHGnQ55fl8r548LVwh7vnved1YyvTyQtPJOkJj0mpCKgHrZEdmIe6UvEh67EmlwphIiOC0CQ/s1938/Screenshot%202026-04-15%20at%2012.03.25%E2%80%AFAM.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;

&lt;div style=&quot;text-align: center;&quot;&gt;
  &lt;em&gt;Improving your Advertising Workflows&lt;/em&gt;
&lt;/div&gt;

&lt;p&gt;
It’s an incredible time to be a developer in the advertising space. Innovation is moving at a breakneck pace, and we’re shifting from incremental API integrations to fundamental improvements in how technical users interact with our platforms. In the latest episode of Ads DevCast, I sat down with my colleague Matt Landers to discuss how AI is moving from &quot;hype&quot; to &quot;utility,&quot; decreasing friction in development and delivering tangible business results.
&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;The Power of Multi-Product Insights&lt;/strong&gt;&lt;/h3&gt;


&lt;p&gt;
One of the most exciting developments we’re seeing is the value of Advertising MCPs (Model Context Protocol) servers showing up. These open-standard tools allow your AI agents to interact directly with the Google Ads and Google Analytics APIs. 
&lt;/p&gt;
&lt;p&gt;
Historically, solving a problem like &quot;why is my high-CTR ad not converting?&quot; meant a lot of manual data joining between Ads and Analytics. By combining the Google Ads and Analytics MCPs, you can now perform this analysis in seconds using natural language. You can verify engagement rates, identify content mismatches on landing pages, and even suggest ROI improvements in the time it takes to brew a cup of coffee.
&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Efficiency and Speed with Natural Language&lt;/strong&gt;&lt;/h3&gt;


&lt;p&gt;
We’re also seeing AI make technical tasks more accessible. A great example is the recent update to our Sheets Report Builder add-on for Google Analytics 4. Previously, creating complex reports required manually adding dimensions, metrics, and filters in the UI. Now, with Gemini integrated directly into Sheets, you can simply ask, &quot;What&#39;s my highest converting landing page?&quot; and the tool automatically sets all the parameters in the UI, sends the API request, and imports the data for you.
&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;The Senior Pair Programmer in Your CLI&lt;/strong&gt;&lt;/h3&gt;


&lt;p&gt;
For developers deep in the code, the Google Ads API Developer Assistant is a game-changer. Think of it as a senior pair programmer that has memorized the entire API schema and every possible error code. Whether you’re troubleshooting conversion uploads or finding hidden problems in your account, the assistant doesn’t just explain what’s wrong—it can generate, debug, and even run the fix directly in your environment.
&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Health, Diagnostics, and Seamless Migrations&lt;/strong&gt;&lt;/h3&gt;


&lt;p&gt;
Beyond AI-driven insights, we’re focused on improving the underlying health of your technical systems. The Data Manager API will soon feature integrated diagnostics in the UI, allowing you to track what went wrong with your integrations. Last but not least, for publishers, we’ve released a new migration skill for the AdMob SDK to help you transition between versions with the help of your coding agent.
&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Experiment, Fail Fast, and Build Great Things&lt;/strong&gt;&lt;/h3&gt;


&lt;p&gt;
The barrier to entry for building sophisticated, data-driven advertising solutions is dropping. By automating the busy work, you’re freed up to focus on high-impact projects that drive real business growth.
&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Ready to dive deeper?&lt;/strong&gt;&lt;/h3&gt;


&lt;p&gt;
Watch the full episode: &lt;a target=&quot;_blank&quot; href=&quot;http://goo.gle/watchadsdevcast&quot;&gt;goo.gle/watchadsdevcast&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Listen on the go: &lt;a target=&quot;_blank&quot; href=&quot;http://goo.gle/listenadsdevcast&quot;&gt;goo.gle/listenadsdevcast&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Take our Episode 3 Survey: &lt;a target=&quot;_blank&quot; href=&quot;http://goo.gle/adc-survey-e3&quot;&gt;goo.gle/adc-survey-e3&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Join our Discord Community: &lt;a target=&quot;_blank&quot; href=&quot;http://goo.gle/ads-and-measurement-discord&quot;&gt;goo.gle/ads-and-measurement-discord&lt;/a&gt;
&lt;/p&gt;

&lt;div class=&quot;byline-author&quot;&gt;
  &lt;table&gt;
    &lt;tr&gt;
      &lt;td style=&quot;width:50px&quot;&gt;
        &lt;img height=&quot;40&quot; src=&quot;https://lh3.googleusercontent.com/a-/AN66SAzPW9gtIDxKGgbRWCyVWTJjciMUxMUJDdSI-lmdBw=s60-p-rw-no-il&quot; style=&quot;vertical-align: middle; border:none; margin: 0px;&quot; width=&quot;40&quot;/&gt;
      &lt;/td&gt;
      &lt;td&gt;
        &lt;div style=&quot;height:20px;&quot;&gt;Cory Liseno&lt;/div&gt;
        &lt;div&gt;Google’s Advertising and Measurement Developer Relations team&lt;/div&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/table&gt;
&lt;/div&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/7351272232023825618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/7351272232023825618'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/04/ads-devcast-e3-improving-your.html' title='Ads DevCast E3: Improving your Advertising Workflows'/><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5Vstea3C9Z-MwqrUCf7fAundwtPeRrOEx8z-gs8eNc2onPhYMqPZkXac3KR6KDzL5a1_C6VoNAEjF8w_5I5Uv6QsgNgYsNiWI5i-JDlxRNKJUSqQFYYVPHGnQ55fl8r548LVwh7vnved1YyvTyQtPJOkJj0mpCKgHrZEdmIe6UvEh67EmlwphIiOC0CQ/s72-c/Screenshot%202026-04-15%20at%2012.03.25%E2%80%AFAM.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-363143837733675096</id><published>2026-04-09T11:31:00.000-07:00</published><updated>2026-04-09T11:31:06.820-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="content_api"/><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_scripts"/><category scheme="http://www.blogger.com/atom/ns#" term="merchant_api"/><category scheme="http://www.blogger.com/atom/ns#" term="shopping"/><title type='text'>Merchant API is coming to Google Ads scripts starting April 22, 2026</title><content type='html'>&lt;p&gt;
  The
  &lt;a
    href=&quot;https://developers.google.com/shopping-content/guides/rel-notes?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-merchantapi-apr2026&amp;utm_content=readmore-contentapi&quot;
    &gt;Content API for Shopping&lt;/a
  &gt;
  will sunset on &lt;strong&gt;August 18, 2026&lt;/strong&gt;, to be replaced by the
  &lt;a
    href=&quot;https://developers.google.com/merchant/api?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-merchantapi-apr2026&amp;utm_content=readmore-merchantapi&quot;
    &gt;Merchant API&lt;/a
  &gt;. This migration provides a shift toward more robust, scalable, and
  feature-rich integrations. For Google Ads scripts users, the Google Ads
  scripts editor will begin rolling out Merchant API support on
  &lt;strong&gt;April 22, 2026&lt;/strong&gt;. While the Content API for Shopping will
  remain available until its sunset, here’s what to expect from the Merchant
  API.
&lt;/p&gt;
&lt;h2&gt;Understanding the Merchant API&lt;/h2&gt;

&lt;p&gt;
  The Merchant API offers important changes and improvements over the Content
  API for Shopping:
&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;
    &lt;strong&gt;Modular Design:&lt;/strong&gt; The Merchant API is broken down into
    sub-APIs. This allows for:
    &lt;ul&gt;
      &lt;li&gt;Faster access to new features and updates.&lt;/li&gt;
      &lt;li&gt;Easier versioning and maintenance.&lt;/li&gt;
      &lt;li&gt;
        Reduced disruption, as changes in one sub-API are less likely to impact
        others.
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;

  &lt;li&gt;
    &lt;strong&gt;New Features &amp; Capabilities:&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;
        &lt;strong
          &gt;&lt;a
            href=&quot;https://developers.google.com/merchant/api/guides/product-studio/overview?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-merchantapi-apr2026&amp;utm_content=readmore-productstudio_api&quot;
            &gt;Google Product Studio API&lt;/a
          &gt;:&lt;/strong
        &gt;
        Leverage generative AI features.
      &lt;/li&gt;
      &lt;li&gt;
        &lt;strong
          &gt;&lt;a
            href=&quot;https://developers.google.com/merchant/api/guides/reviews/products?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-merchantapi-apr2026&amp;utm_content=readmore-reviews_api&quot;
            &gt;Reviews APIs&lt;/a
          &gt;:&lt;/strong
        &gt;
        Upload and manage product and store reviews.
      &lt;/li&gt;
      &lt;li&gt;
        &lt;strong
          &gt;&lt;a
            href=&quot;https://developers.google.com/merchant/api/guides/accounts/notifications?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-merchantapi-apr2026&amp;utm_content=readmore-notifications_api&quot;
            &gt;Notifications API&lt;/a
          &gt;:&lt;/strong
        &gt;
        Enable notifications for changes.
      &lt;/li&gt;
      &lt;li&gt;
        &lt;strong&gt;Expanded Data Source Management:&lt;/strong&gt; Create and manage
        various data source types, including:
        &lt;ul&gt;
          &lt;li&gt;
            &lt;a
              href=&quot;https://developers.google.com/merchant/api/reference/rest/datasources_v1/accounts.dataSources?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-merchantapi-apr2026&amp;utm_content=readmore-supplemental_data#supplementalproductdatasource&quot;
              &gt;Supplemental product data&lt;/a
            &gt;
          &lt;/li&gt;
          &lt;li&gt;
            &lt;a
              href=&quot;https://developers.google.com/merchant/api/reference/rest/datasources_v1/accounts.dataSources?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-merchantapi-apr2026&amp;utm_content=readmore-local_inventory_data#localinventorydatasource&quot;
              &gt;Local inventory data&lt;/a
            &gt;
          &lt;/li&gt;
          &lt;li&gt;
            &lt;a
              href=&quot;https://developers.google.com/merchant/api/reference/rest/datasources_v1/accounts.dataSources?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-merchantapi-apr2026&amp;utm_content=readmore-regional_inventory_data#regionalinventorydatasource&quot;
              &gt;Regional inventory data&lt;/a
            &gt;
          &lt;/li&gt;
          &lt;li&gt;
            &lt;a
              href=&quot;https://developers.google.com/merchant/api/reference/rest/datasources_v1/accounts.dataSources?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-merchantapi-apr2026&amp;utm_content=readmore-promotion_data#promotiondatasource&quot;
              &gt;Promotion data&lt;/a
            &gt;
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;strong&gt;Omnichannel Support:&lt;/strong&gt; Designed with Omnichannel in mind,
    though it provides backward compatibility for legacy separate online/local
    offer structures using the &lt;code&gt;legacy_local&lt;/code&gt; flag.
  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
  Take a look at the
  &lt;a
    href=&quot;https://developers.google.com/merchant/api/guides/compatibility/overview?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-merchantapi-apr2026&amp;utm_content=readmore-migration_guide&quot;
    &gt;Merchant API migration guide&lt;/a
  &gt;
  for more detail on the changes between APIs.
&lt;/p&gt;

&lt;h2&gt;How to get started&lt;/h2&gt;

&lt;p&gt;
  The Merchant API will be available as an Advanced API in the Google Ads
  scripts editor, just as the Content API is.
&lt;/p&gt;
&lt;p&gt;
  If you have any questions or want to discuss this post, please reach out to us
  on our
  &lt;a href=&quot;http://goo.gle/ads-and-measurement-discord&quot;
    &gt;“Google Advertising and Measurement Community” Discord server&lt;/a
  &gt;.
&lt;/p&gt;

&lt;p&gt;
  &lt;span class=&quot;byline-author&quot;
    &gt;&lt;img
      width=&quot;40&quot;
      height=&quot;40&quot;
      src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhMd1fdKsHQ-Ld1S2S7p1QnHKGIsAxgkzDAnAZ4Ennu3TL968-LZlrDhnCAtVhhh-UUMIKK6ecAadUoYY2_S-nU6HNVWDZK4vE28WYzIilQUhe8Fh_FMOaFo5sahlfpyIV7j_sR8xS-HtM_KU_deoWN91Y3dk21HE65O2lzO4fd8aOAFTxqpd2-rVhO5XM&quot;
      style=&quot;vertical-align: middle; border:none;&quot;
    /&gt;&amp;nbsp;-&amp;nbsp;Dora Sun - Google Ads API Team&lt;/span
  &gt;
&lt;/p&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/363143837733675096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/363143837733675096'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/04/merchant-api-is-coming-to-google-ads.html' title='Merchant API is coming to Google Ads scripts starting April 22, 2026'/><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-3288469775431155283</id><published>2026-04-07T09:41:00.000-07:00</published><updated>2026-04-07T09:41:56.730-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="analytics"/><category scheme="http://www.blogger.com/atom/ns#" term="audiences"/><category scheme="http://www.blogger.com/atom/ns#" term="conversions"/><category scheme="http://www.blogger.com/atom/ns#" term="customer_match"/><category scheme="http://www.blogger.com/atom/ns#" term="data_manager_api"/><category scheme="http://www.blogger.com/atom/ns#" term="discord"/><category scheme="http://www.blogger.com/atom/ns#" term="dv360_api"/><category scheme="http://www.blogger.com/atom/ns#" term="google_ads"/><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><title type='text'>New Data Manager API channels on Discord</title><content type='html'>&lt;p&gt;
We&#39;re excited to announce the addition of new channels for the &lt;a href=&quot;https://developers.google.com/data-manager/api?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-26h1dmapi&amp;utm_content=discordintro-blogpost&quot;&gt;Data Manager API&lt;/a&gt; on our “Google Advertising and Measurement Community” Discord server. To join, just click &lt;a href=&quot;https://goo.gle/dm-api-discord&quot;&gt;this invite link&lt;/a&gt; and follow the onboarding guide.
&lt;/p&gt;
&lt;p&gt;
Our team will be on this server regularly to interact with the Data Manager API community, answering questions and gathering feedback in the &lt;code&gt;#data-manager-api&lt;/code&gt; channel. We’ll also keep you up to date on the latest Data Manager API news in the &lt;code&gt;#announce-data-manager-api&lt;/code&gt; channel.
&lt;/p&gt;
&lt;p&gt;
If you have any questions or want to discuss this post, please reach out to us on the &lt;a href=&quot;https://goo.gle/dm-api-discord&quot;&gt;“Google Advertising and Measurement Community” Discord server&lt;/a&gt;. We look forward to seeing you there and hearing your thoughts on how we can continue to improve the Data Manager API!
&lt;/p&gt;

&lt;span class=&quot;byline-author&quot;&gt;&lt;img height=&quot;40&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc9jQiXizaRJ9hnKijPHXGMbSTu5IEprxd450MMU5mD1McytKJWAWMT_WBYcbWionlWS7qouTWwTEaL2TOAoCb8ZUHknK12pMBUYOTT_a3XOa0mKpXEgV15pwpdhG17y1cOgbIaG-0EQbcXUMLlggbhYG9ltvXjGmuSpR-esLz4eac2aOs2N8oucQSBrg/s600/jrad.jpg&quot; style=&quot;border: none; vertical-align: middle;&quot; width=&quot;40&quot; /&gt; - Josh Radcliff, Data Manager API Team&lt;/span&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/3288469775431155283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/3288469775431155283'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/04/new-data-manager-api-channels-on-discord.html' title='New Data Manager API channels on Discord'/><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc9jQiXizaRJ9hnKijPHXGMbSTu5IEprxd450MMU5mD1McytKJWAWMT_WBYcbWionlWS7qouTWwTEaL2TOAoCb8ZUHknK12pMBUYOTT_a3XOa0mKpXEgV15pwpdhG17y1cOgbIaG-0EQbcXUMLlggbhYG9ltvXjGmuSpR-esLz4eac2aOs2N8oucQSBrg/s72-c/jrad.jpg" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-8853389789934273759</id><published>2026-04-06T13:57:00.000-07:00</published><updated>2026-04-06T13:57:58.319-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="admanager_api"/><category scheme="http://www.blogger.com/atom/ns#" term="admob"/><category scheme="http://www.blogger.com/atom/ns#" term="admob_api"/><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api"/><category scheme="http://www.blogger.com/atom/ns#" term="analytics"/><category scheme="http://www.blogger.com/atom/ns#" term="analyticsapi"/><category scheme="http://www.blogger.com/atom/ns#" term="cm360"/><category scheme="http://www.blogger.com/atom/ns#" term="DAI"/><category scheme="http://www.blogger.com/atom/ns#" term="data_manager_api"/><category scheme="http://www.blogger.com/atom/ns#" term="dv360_api"/><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_scripts"/><category scheme="http://www.blogger.com/atom/ns#" term="ima_sdk"/><category scheme="http://www.blogger.com/atom/ns#" term="meridian"/><category scheme="http://www.blogger.com/atom/ns#" term="mobile_ads_sdk"/><category scheme="http://www.blogger.com/atom/ns#" term="realtime_bidding_api"/><title type='text'>Introducing the Google Advertising and Measurement Developers Hub!</title><content type='html'>&lt;p&gt;
We&#39;re excited to announce the launch of the new &lt;strong&gt;&lt;a href=&quot;https://developers.google.com/ads?utm_source=discord-am&amp;utm_medium=content&amp;utm_campaign=adr-devsitelaunch-apr2026&amp;utm_content=readmore-hub&quot; target=&quot;_blank&quot;&gt;Google Advertising and Measurement Developers Hub&lt;/a&gt;&lt;/strong&gt;!
&lt;/p&gt;

&lt;center&gt;
&lt;a href=&quot;https://developers.google.com/ads?utm_source=discord-am&amp;utm_medium=content&amp;utm_campaign=adr-devsitelaunch-apr2026&amp;utm_content=seeit-hub&quot; style=&quot;display: inline-block;background-color: #4285f4;color: white;padding: 10px 30px;border-radius: 50px;text-decoration: none;font-family: Arial, sans-serif;font-size: 23px;font-weight: bold;box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);line-height: 1;white-space: nowrap;text-align: center;&quot; target=&quot;”_blank”&quot;&gt; Come see the new site! &lt;/a&gt;
&lt;/center&gt;
  
&lt;p&gt;
Whether you&#39;re looking to automate campaigns, analyze performance, manage tags, or monetize your apps, the new hub is designed to make it easier to find the right tools and information.
&lt;/p&gt;
&lt;p&gt;
We&#39;ve launched a new technical-user focused site to make it easier than ever for you to find the tools, resources, and support you need to build and innovate with Google&#39;s advertising and measurement products.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;What&#39;s New?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
We have created a one-stop shop where you can easily find the resources you need, connect with our team and the community, and get support. Here are some key features:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;At-a-glance homepage:&lt;/strong&gt; A clear starting point highlighting how we can help, with quick links to our blog, Discord, and information about our team.
&lt;li&gt;&lt;strong&gt;Meet the team:&lt;/strong&gt; Learn more about the Developer Relations team dedicated to supporting your success.
&lt;li&gt;&lt;strong&gt;Products:&lt;/strong&gt; A comprehensive directory of the developer products we cover, from the Google Ads API and Google Analytics APIs to Publisher Tools like AdMob and Ad Manager, linking directly to their official documentation. You can browse by categories like Advertising Platforms, Tagging, Measurement &amp; Analytics, and Publisher Tools.
&lt;li&gt;&lt;strong&gt;Connect with us:&lt;/strong&gt; A streamlined page to help you find the best way to engage: &lt;ul&gt;

 &lt;li&gt;Join our vibrant &lt;a href=&quot;https://discord.com/invite/KjeRuMJSsX&quot; target=&quot;_blank&quot;&gt;Discord&lt;/a&gt; community.
 &lt;li&gt;Find links to product or technical support.
 &lt;li&gt;Download open source projects on GitHub.
&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Media and podcast:&lt;/strong&gt; A new home for our multimedia content, including the &lt;em&gt;&lt;a href=&quot;https://www.youtube.com/playlist?list=PLKByxjzUC-N8t_n0JnP6PTETY6b7yg2q4&quot;  target=&quot;_blank&quot;&gt;Ads DevCast&lt;/a&gt;&lt;/em&gt; playlist embedded directly on the page.&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
We&#39;re excited to make this &lt;em&gt;the&lt;/em&gt; place for you to learn, build, and connect.
&lt;/p&gt;
&lt;p&gt;
Please explore the new site and use the &lt;strong&gt;Send Feedback&lt;/strong&gt; button located at the bottom of each page to share your thoughts!
&lt;/p&gt;
&lt;p&gt;
If you have any questions about this announcement or want to discuss it with our team and the community, please reach out to us on our&lt;a href=&quot;https://goo.gle/google-ads-discord&quot; target=&quot;_blank&quot;&gt; &quot;Google Advertising and Measurement Community&quot; Discord server&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Happy Building!
&lt;/p&gt;


&lt;span class=&quot;byline-author&quot;&gt;&lt;img height=&quot;40&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgGD29rjK09jXwR45TSO8b6YG5OcppqiupjPewe1sWjTCjdjnDUnnivyy_WV7YBOJalPln-jxXdnu31x-ueYdhuGw0FyuQepiy4RXnrFsFmlWFZBcd9Fue1B-aR9gvWjyVe9PwEbuPeRaK8soOkprJfedUFO9uvnLv58ETUxPqCpws9SU8YmmmkUMQqrbs&quot; style=&quot;border: none; vertical-align: middle;&quot; width=&quot;40&quot; /&gt; - Aalap Shastri, Google Ads API Team&lt;/span&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/8853389789934273759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/8853389789934273759'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/04/introducing-google-advertising-and.html' title='Introducing the Google Advertising and Measurement Developers Hub!'/><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>