<?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-04-03T18:55:14.791-07:00</updated><category term="adwords_api"/><category term="google_ads_api"/><category term="sunset"/><category term="dfp_api"/><category term="release"/><category term="mobile_ads_sdk"/><category term="dv360_api"/><category term="adwords_scripts"/><category term="iOS"/><category term="android"/><category term="dfa_api"/><category term="ima_sdk"/><category term="deprecation"/><category term="admob_sdk"/><category term="content_api"/><category term="reporting"/><category term="admob"/><category term="mobile"/><category term="shopping"/><category term="ad_manager_api"/><category term="google_ads_scripts"/><category term="update"/><category term="google_ads"/><category term="reports"/><category term="adsense_api"/><category term="ad_exchange"/><category term="client_libraries"/><category term="dbm_api"/><category term="sdf"/><category term="oauth2"/><category term="ad_manager"/><category term="bidding"/><category term="conversions"/><category term="feeds"/><category term="conversion"/><category term="dfp_mobile"/><category term="performance_max"/><category term="workshops"/><category term="adsense_management_api"/><category term="targeting"/><category term="ad_exchange_rest"/><category term="ad_exchange_rtb"/><category term="html5"/><category term="unity"/><category term="adsense"/><category term="ad_extensions"/><category term="oauth"/><category term="offline_conversions"/><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="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="ads"/><category term="new_features"/><category term="php"/><category term="query_builder_blog_series"/><category term="survey"/><category term="video"/><category term="webinar"/><category term="adwords_api_v201809"/><category term="adwords_v201209"/><category term="dfp"/><category term="expanded_text_ads"/><category term="ima_android"/><category term="limits"/><category term="native"/><category term="python"/><category term="ad_exchange_optimization-series"/><category term="admanager_api"/><category term="adwhirl"/><category term="adwords_api_v201406"/><category term="analytics"/><category term="beta"/><category term="chart_tools"/><category term="content"/><category term="dfa_reporting_api"/><category term="dfa_v1.18"/><category term="display"/><category term="examples"/><category term="feedback"/><category term="gpt"/><category term="mobile_ads_garage"/><category term="realtime_bidding"/><category term="responsive_ads"/><category term="text_ads"/><category term="workshop"/><category term="DAI"/><category term="admob_api"/><category term="admob_api_v1"/><category term="adwords_CampaignService"/><category term="adwords_api_v201402"/><category term="adwords_api_v201506"/><category term="authentication"/><category term="data_manager_api"/><category term="dfp_v201111"/><category term="enhanced_campaigns"/><category term="flash"/><category term="ima_ios"/><category term="keywords"/><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="app_engine"/><category term="audiences"/><category term="aw_reporting"/><category term="awql"/><category term="budgets"/><category term="campaign"/><category term="case_study"/><category term="cm360"/><category term="dfp_pql"/><category term="display_select"/><category term="gaql"/><category term="keyword_optimizer"/><category term="sa360"/><category term="sitelinks"/><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="analyticsapi"/><category term="announcement"/><category term="assets"/><category term="authorization"/><category term="bid_modifiers"/><category term="billing"/><category term="brand_guidelines"/><category term="creatives"/><category term="customer_match"/><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="display_smart_campaign"/><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="smart"/><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="attribution_reporting_api"/><category term="best_practices"/><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="demand_gen"/><category term="dfa_v1.17"/><category term="discord"/><category term="dotnet"/><category term="dsa"/><category term="excluded_placement_lists"/><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="mobile_ads"/><category term="mobile_targeting"/><category term="oath2"/><category term="placements"/><category term="privacy"/><category term="product_listing_ads"/><category term="quality_score"/><category term="quota"/><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="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="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_tools"/><category term="alerting"/><category term="amp"/><category term="android_layout"/><category term="animation"/><category term="annual developer survey"/><category term="api"/><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="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="eta"/><category term="exoplayer"/><category term="experiment"/><category term="experiments"/><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_analytics_api"/><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="media"/><category term="media_bundle"/><category term="mediation_test_suite"/><category term="merchant_api"/><category term="meridian"/><category term="mobile_sites"/><category term="mobile_speed"/><category term="mobile_ux"/><category term="monitoring"/><category term="open_source"/><category term="pal"/><category term="podcast"/><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="realtime_bidding_api"/><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="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"/><category term="youtube"/><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?redirect=false'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><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>1463</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-8728691678414810813</id><published>2026-04-02T08:10:00.000-07:00</published><updated>2026-04-02T08:10:04.899-07:00</updated><title type='text'>Ads DevCast Episode 2: Audience Management</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/AVvXsEj-s4JsoKMXUotcFN_3wpyddSUceYBVMMQj_qc6tEm3lv_uh_wFeGeOesWh00YYakTETkB-NrGgpkVf9prp7eXMlc4TGP98kASq3f07I_Mf_0l3jDR5T6VMVLGfC1LPOIyl3f9eYU3aCZZaW4scbikGGNVqf9Z1ck1UW8jhQDQ-eOQl4ZbtCsGkD14EV7w/s1920/E2-Screenshot.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/AVvXsEj-s4JsoKMXUotcFN_3wpyddSUceYBVMMQj_qc6tEm3lv_uh_wFeGeOesWh00YYakTETkB-NrGgpkVf9prp7eXMlc4TGP98kASq3f07I_Mf_0l3jDR5T6VMVLGfC1LPOIyl3f9eYU3aCZZaW4scbikGGNVqf9Z1ck1UW8jhQDQ-eOQl4ZbtCsGkD14EV7w/s600/E2-Screenshot.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;

&lt;div style=&quot;text-align: center;&quot;&gt;
  &lt;em&gt;Many to 1, Audience Management in Data Manager API&lt;/em&gt;
&lt;/div&gt;

&lt;p&gt;
In today&#39;s fast-paced digital landscape, managing multiple data pipelines can feel overwhelming. If you&#39;re a developer navigating the complexities of audience management and conversion tracking, you might be wondering: how can I streamline my processes and reduce costs?
&lt;/p&gt;
&lt;p&gt;
This week’s episode of &lt;strong&gt;&lt;a href=&quot;https://goo.gle/watchadsdevcast&quot; target=&quot;_blank&quot;&gt;Ads DevCast&lt;/a&gt;&lt;/strong&gt; explores the new &lt;strong&gt;&lt;a href=&quot;https://goo.gle/migratetodatamanagerapi&quot; target=&quot;_blank&quot;&gt;Data Manager API&lt;/a&gt;&lt;/strong&gt;, which will transform the way you connect data across various Google ad platforms, making your workflows more efficient and cost-effective. This product solves many of the complexities developers and agencies have had to juggle across multiple APIs—each with its own schema, maintenance requirements, and learning curve. 
&lt;/p&gt;
&lt;p&gt;
Click here to watch the episode: &lt;a href=&quot;https://youtu.be/Z4mAR98cizQ&quot; target=&quot;_blank&quot;&gt;https://youtu.be/Z4mAR98cizQ&lt;/a&gt; 
&lt;/p&gt;
&lt;h2&gt;About our Guest&lt;/h2&gt;


&lt;p&gt;
In this episode we sit down with &lt;strong&gt;&lt;a href=&quot;https://www.linkedin.com/in/melissawng/&quot; target=&quot;_blank&quot;&gt;Melissa Ng&lt;/a&gt;&lt;/strong&gt;, Product Manager for Data Manager API, to discuss how Google is streamlining these processes and what it means for your development workflow.
&lt;/p&gt;
&lt;p&gt;
Melissa is a seasoned Product Manager, specializing in ads measurement at Google for the past four years. Her deep understanding of customer needs and data management challenges drives her passion for creating innovative solutions like the Data Manager API.
&lt;/p&gt;
&lt;h2&gt;What are we solving for?&lt;/h2&gt;


&lt;p&gt;
Every advertising product has its own unique requirements that aren&#39;t necessarily interoperable. This fragmentation creates confusion, slows down onboarding, and drives up engineering costs. It also makes it difficult to build the kind of cohesive &quot;Data Strength&quot; needed to fuel modern advertising and maximize conversions.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;a href=&quot;https://blog.google/products/ads-commerce/data-manager-api-helps-advertisers-improve-measurement-and-get-better-results-from-google-ai/?utm_source=linkedin-cl&amp;utm_medium=social&amp;utm_campaign=adr-26h1dmapi&amp;utm_content=readmore-casestudy&quot; target=&quot;_blank&quot;&gt;In a joint case study&lt;/a&gt;&lt;/strong&gt;, one of our advertisers reported spending over $1 million annually on maintenance alone. We needed to provide a unified ingestion point for conversions and audiences, effectively reducing confusion and simplifying data management. 
&lt;/p&gt;
&lt;h2&gt;Enter the Data Manager API&lt;/h2&gt;


&lt;p&gt;
The Data Manager API is Google&#39;s answer to this complexity.  It allows data partners, agencies, and advertisers to send first-party data to multiple Google advertising products—such as Google Ads, Display &amp; Video 360, Campaign Manager 360, Google Analytics, and others—in a single call.
&lt;/p&gt;
&lt;p&gt;
&quot;This means that when you’re sending in a field for, say, &#39;transaction id&#39;, that field means the same thing in all of the downstream use cases across all of the Google advertising products,&quot; explains Melissa in the episode.
&lt;/p&gt;
&lt;p&gt;
While the primary motivation behind developing the Data Manager API was to address complexities associated with maintaining multiple APIs, there are other benefits as well:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;Ease of Use and Efficiency at Scale:&lt;/strong&gt; You can achieve significant savings in resources. Treasure Data, one of our early API integration partners, reported a 2x faster advertiser onboarding process and an 80% reduction in engineering efforts.&lt;/li&gt;&lt;/ul&gt;
&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;Privacy by Default:&lt;/strong&gt; End-user privacy is non-negotiable. The Data Manager API features confidential matching right out of the box for audience solutions like Customer Match. This utilizes a Trusted Execution Environment (TEE) to ensure that no one—not even Google—can view the processed data. (&lt;strong&gt;&lt;a href=&quot;https://blog.google/products/ads-commerce/google-confidential-matching-data-privacy/?utm_source=linkedin-cl&amp;utm_medium=social&amp;utm_campaign=adr-26h1dmapi&amp;utm_content=readmore-privacy&quot; target=&quot;_blank&quot;&gt;Read more&lt;/a&gt;&lt;/strong&gt;)&lt;/li&gt;&lt;/ul&gt;
&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;Future-Proofing Your Stack:&lt;/strong&gt; The Data Manager API is the future of audience and conversion management. Any new features for audience or conversion management will be implemented in the Data Manager API going forward. (&lt;strong&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/docs/sunset-dates?utm_source=linkedin-cl&amp;utm_medium=social&amp;utm_campaign=adr-26h1dmapi&amp;utm_content=readmore-migrationtimeline#feature_deprecations&quot; target=&quot;_blank&quot;&gt;See our timelines&lt;/a&gt;&lt;/strong&gt;)&lt;/li&gt;&lt;/ul&gt;
&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;Enhanced Diagnostics:&lt;/strong&gt; For the first time, API stats and diagnostics will soon be available directly in the Ads UI, providing visibility into the health of your connections and downstream asynchronous errors, saving you countless hours of troubleshooting.&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Tune In and Take Action&lt;/h2&gt;


&lt;p&gt;
If you are managing audiences or conversions programmatically, this episode is a must-listen. It is packed with insights, roadmap updates, and advice on how to seamlessly migrate your existing systems.
&lt;/p&gt;
&lt;p&gt;
Listen to the full episode of the Ads DevCast here!
&lt;/p&gt;
&lt;p&gt;

&lt;a href=&quot;https://goo.gle/watchadsdevcast&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;35&quot; data-original-height=&quot;92&quot; data-original-width=&quot;280&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5c95l_6IgB1cVCEFjIVtkSdOxTR5aEd5VOa7cIe001Bgz4rlkbJMWxm5znOIFIhTgwImnKYFQtxTc0iOSY-49EaPIK2cpfC9UrsFk5ofsyKxzYq-VPE2uS10HPWc3AOVSzjG7R9HoKvA_sB1pF-Luyu26JetDuYSciR9MxI23keMxtEe_tg4SkJr_UnQ/s200/WatchonYouTube-black-SVG.png&quot;/&gt;&lt;/a&gt;
&lt;a href=&quot;https://goo.gle/listenadsdevcast&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;35&quot; data-original-height=&quot;92&quot; data-original-width=&quot;340&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbhPHVfRZoGT53vgMhuSDjRhJG5tnRF_q-FtSlPnv7ZFXtfjb1haXu0SVM2YTz9YJhprOzi7wvnVbCfCHhDy8BI2S-t1aaJJJPIyx8LppZHJfKkv_Ci9mxqEHxfeaWq4Ipita6W3xOlz1puuVQudsck6WUxUBMmike8GChvgjMhSFTA2jfsZYwcsF0OFg/s200/ListenonYouTubeMusic-black-SVG.png&quot;/&gt;
&lt;div/&gt;&lt;/a&gt;

&lt;/p&gt;
&lt;h3&gt;Ready to get started with the Data Manager API?&lt;/h3&gt;

&lt;ol&gt;

&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://goo.gle/migratetodatamanagerapi&quot; target=&quot;_blank&quot;&gt;Start your upgrade today&lt;/a&gt;&lt;/strong&gt;: Dive into the step-by-step tutorials and upgrade guides.
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://goo.gle/ads-and-measurement-discord&quot; target=&quot;_blank&quot;&gt;Join the community&lt;/a&gt;&lt;/strong&gt;: Connect with us and other developers on our Discord server.
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://goo.gle/adc-survey-e2&quot; target=&quot;_blank&quot;&gt;Share your feedback&lt;/a&gt;&lt;/strong&gt;: We want to hear from you! Let us know what features you want to see next by filling out our Episode Survey.  Reminder, this show is a pilot, and your feedback is important so we can tailor our content to what is most useful for you.&lt;/li&gt;&lt;/ol&gt;

&lt;p&gt;
Thanks for tuning in! We&#39;ll see you in two weeks for Episode 3. 
&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;a href=&quot;https://linkedin.com/in/coryliseno&quot; target=&quot;_blank&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;/a&gt;
   &lt;/td&gt;
   &lt;td&gt;
     &lt;div style=&quot;height:20px;&quot;&gt;&lt;a href=&quot;https://linkedin.com/in/coryliseno&quot; target=&quot;_blank&quot;&gt;Cory Liseno&lt;/a&gt;&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/8728691678414810813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/8728691678414810813'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/04/ads-devcast-episode-2-audience.html' title='Ads DevCast Episode 2: Audience Management'/><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/AVvXsEj-s4JsoKMXUotcFN_3wpyddSUceYBVMMQj_qc6tEm3lv_uh_wFeGeOesWh00YYakTETkB-NrGgpkVf9prp7eXMlc4TGP98kASq3f07I_Mf_0l3jDR5T6VMVLGfC1LPOIyl3f9eYU3aCZZaW4scbikGGNVqf9Z1ck1UW8jhQDQ-eOQl4ZbtCsGkD14EV7w/s72-c/E2-Screenshot.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-1734202772855125640</id><published>2026-03-27T13:55:00.000-07:00</published><updated>2026-03-27T13:55:04.978-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ad_manager_api"/><title type='text'>New Google Ad Manager API read-only scope</title><content type='html'>&lt;p&gt;The Ad Manager API now supports a read-only OAuth scope. This new scope, &lt;code&gt;https://www.googleapis.com/auth/admanager.readonly&lt;/code&gt;, allows developers to request read-only access to their users&#39; Ad Manager data.&lt;/p&gt;

&lt;p&gt;This new scope is only available for the &lt;a href=&quot;https://developers.google.com/ad-manager/api/beta/&quot;&gt;Ad Manager API&lt;/a&gt;. It is not supported by the legacy &lt;a href=&quot;https://developers.google.com/ad-manager/api/start&quot;&gt;Ad Manager SOAP API&lt;/a&gt;, which will continue to require the full-access scope.&lt;/p&gt;

&lt;p&gt;The read-only scope allows reading data and running reports, but does &lt;strong&gt;not&lt;/strong&gt; grant permission to write or modify data. This provides an enhanced security layer for developers and users of read-only integrations, such as reporting dashboards or alerting tools.&lt;/p&gt;

&lt;p&gt;No action is required for existing integrations. If your application does not require write access, we recommend migrating to the new read-only scope. For a refresher on how to configure OAuth, see &lt;a href=&quot;https://developers.google.com/identity/protocols/oauth2/web-server#obtainingaccesstokens&quot;&gt;Using Oauth 2.0 for Web Server Authentication&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;As always, Ad Manager access controls, including &lt;a href=&quot;https://support.google.com/admanager/topic/7169091&quot;&gt;User roles&lt;/a&gt; and &lt;a href=&quot;https://support.google.com/admanager/answer/2445375#restrictions&quot;&gt;Restrictions imposed by teams&lt;/a&gt;, are applied to all API requests regardless of the OAuth scope used.&lt;/p&gt;

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

&lt;span class=&quot;byline-author&quot;&gt;&lt;img height=&quot;40&quot; src=&quot;https://lh3.googleusercontent.com/a/ACg8ocKYF1nnM0p4dEaHiwnlYzEWOyI_KXpg4z2HT8D9zLMZ8o2weJxx=s576-c-no&quot; style=&quot;border: none; vertical-align: middle;&quot; width=&quot;40&quot; /&gt; - Chris Seeley, Ad Manager API Team&lt;/span&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/1734202772855125640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/1734202772855125640'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/03/new-google-ad-manager-api-read-only.html' title='New Google Ad Manager API read-only scope'/><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/ACg8ocKYF1nnM0p4dEaHiwnlYzEWOyI_KXpg4z2HT8D9zLMZ8o2weJxx=s72-c-no" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-4313635593907653424</id><published>2026-03-27T10:57:00.000-07:00</published><updated>2026-03-27T10:57:58.006-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adwords_CampaignService"/><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'>Increase in Batch Job Service Request Size</title><content type='html'>&lt;p&gt;
&lt;strong&gt;Increased Request Limits for BatchJobService Enhance Large Asset Uploads&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
We&#39;re pleased to announce significant increases to the request size limits for the &lt;code&gt;BatchJobService.AddBatchJobOperations&lt;/code&gt; method in the Google Ads API. These changes are designed to streamline workflows, particularly for developers uploading multiple large assets like images, by reducing the need to split uploads into numerous smaller requests.
&lt;/p&gt;
&lt;p&gt;
The following limits have been increased:
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Request Size Cap on &lt;code&gt;AddBatchJobOperations&lt;/code&gt;:&lt;/strong&gt; Increased from 10,484,488 bytes (approximately 10.48 MB) to 41,937,920 bytes (approximately 41.94 MB).

&lt;p&gt;
&lt;strong&gt;Single Mutate Operation Size:&lt;/strong&gt; While the overall request can be larger, the size of a single mutate operation within the batch is capped at 10,484,488 bytes (approximately 10.48 MB).
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;What This Means for Developers:&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
This update allows you to include more operations, especially those containing sizable data like image assets, within a single &lt;code&gt;AddBatchJobOperations&lt;/code&gt; request. This can simplify your client-side logic and potentially improve throughput by reducing the number of round trips required to add all operations to a batch job.
&lt;/p&gt;
&lt;p&gt;
For example, when uploading multiple images, each of which can be up to 5,242,880 bytes (approximately 5.24 MB), you can now batch more of these into a single request, up to the new 41,937,920 bytes (approximately 41.94 MB) total request limit.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Important Notes:&lt;/strong&gt;
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;While the request size limit has increased, other limitations such as the maximum number of operations per request (10,000) and per job (1 million) still apply. Please refer to the &lt;a href=&quot;https://developers.google.com/google-ads/api/docs/batch-processing/best-practices?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-increaseinbatchjobservicerequestsize2026&amp;utm_content=readmore-batchbestpractices&quot;&gt;Best Practices and Limitations&lt;/a&gt; guide for full details.&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
We believe this enhancement to the BatchJobService will offer greater flexibility and efficiency for managing bulk operations in the Google Ads API.
&lt;/p&gt;
&lt;p&gt;
As always, please reach out to us via the forum or our other support channels if you have any questions or feedback.
&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;Bob Hancock, 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/4313635593907653424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/4313635593907653424'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/03/increase-in-batch-job-service-request.html' title='Increase in Batch Job Service Request Size'/><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-2226354167807192450</id><published>2026-03-26T09:25:00.000-07:00</published><updated>2026-03-26T09:25:30.178-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="conversion"/><category scheme="http://www.blogger.com/atom/ns#" term="conversions"/><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'>Upcoming Improvements to Offline Conversion Imports</title><content type='html'>&lt;p&gt;
Starting in &lt;strong&gt;April, 2026&lt;/strong&gt; the Google Ads API will benefit from a series of infrastructure changes designed to improve the Offline Conversion Import experience. These upgrades will not result in any breaking changes to the Google Ads API, however there may be minor fluctuations in attribution rates as the changes are rolled out. 
&lt;/p&gt;
&lt;p&gt;
Here is a breakdown of the rollout and the improvements you can expect:
&lt;/p&gt;&lt;ol&gt;

&lt;li&gt;&lt;strong&gt;Improved attribution and fallback recovery (April, 2026):&lt;/strong&gt; We will implement changes allowing us to attribute some expired GCLIDs and clicks that occurred before a conversion. Once deployed, you may receive fewer &lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/latest/ConversionUploadErrorEnum.ConversionUploadError#expired_event?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-ociimprovements2026q1&amp;utm_content=readmore-expiredevent&quot;&gt;EXPIRED_EVENT&lt;/a&gt; and &lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/latest/ConversionUploadErrorEnum.ConversionUploadError#conversion_precedes_event?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-ociimprovements2026q1&amp;utm_content=readmore-conversionprecedesevent&quot;&gt;CONVERSION_PRECEDES_EVENT&lt;/a&gt; errors in conversion upload responses, and you may notice higher attribution rates.
&lt;li&gt;&lt;strong&gt;Flexible import requests (April - May, 2026):&lt;/strong&gt; We will improve the authorization structure for conversion import requests to make it easier for manager or client accounts to import conversions on behalf of a different trafficking account. Once released, users should expect a reduction in &lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/latest/ConversionUploadErrorEnum.ConversionUploadError#unauthorized_customer?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-ociimprovements2026q1&amp;utm_content=readmore-unauthorizedcustomer&quot;&gt;UNAUTHORIZED_CUSTOMER&lt;/a&gt; and &lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/latest/ConversionUploadErrorEnum.ConversionUploadError#invalid_customer_for_click?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-ociimprovements2026q1&amp;utm_content=readmore-invalidcustomerforclick&quot;&gt;INVALID_CUSTOMER_FOR_CLICK&lt;/a&gt; errors in conversion import responses. This may also result in an increase in attribution.&lt;/li&gt;&lt;/ol&gt;

&lt;p&gt;
Make sure to review our guidance on how to &lt;a href=&quot;https://ads-developers.googleblog.com/2025/08/maximize-performance-of-your-google-ads.html?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-ociimprovements2026q1&amp;utm_content=readmore-maximizeconversionperformance&quot;&gt;maximize the performance of your Google Ads conversion data&lt;/a&gt;. And take a look at the &lt;a href=&quot;https://developers.google.com/data-manager/api?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-ociimprovements2026q1&amp;utm_content=tryitout-dmapi&quot;&gt;Data Manager API&lt;/a&gt;, including our &lt;a 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-ociimprovements2026q1&amp;utm_content=tryitout-dmapimigrationguide&quot;&gt;migration guide for Google Ads API users&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Reach out to the &lt;a href=&quot;https://developers.google.com/google-ads/api/support?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-ociimprovements2026q1&amp;utm_content=support-gaapi&quot;&gt;Google Ads API support&lt;/a&gt; channel if you have any questions. And 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;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/2226354167807192450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/2226354167807192450'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/03/upcoming-improvements-to-offline.html' title='Upcoming Improvements to Offline Conversion Imports'/><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-3519765640646800805</id><published>2026-03-25T14:59:00.000-07:00</published><updated>2026-03-25T14:59:07.200-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 v23.2 of the Google Ads API</title><content type='html'>&lt;p&gt;
Today, we’re announcing the v23.2 release of 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-release-v23_2&amp;utm_content=learnmore-api&quot;&gt;Google Ads API&lt;/a&gt;. To use the new v23.2 features, you must upgrade your &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-release-v23_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;
Come join us for a live walkthrough of this release in our &lt;a href=&quot;https://discord.gg/8bPhsFpR4v?event=1483146078395170816&quot;&gt;&quot;Google Ads API Release Highlights&quot; event on Discord&lt;/a&gt; or on our &lt;a href=&quot;https://www.youtube.com/watch?v=ZRSD2szmErw&amp;hl=it&quot;&gt;Ads Developers YouTube Live&lt;/a&gt; tomorrow (March 26th at 11a 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 href=&quot;goo.gle/ads-and-measurement-discord&quot;&gt;#ads-api channel&lt;/a&gt; on Discord.
&lt;/p&gt;
&lt;p&gt;
Here are some of the key features in this release:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;Added the &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/VideoEnhancement?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v23_2&amp;utm_content=learnmore-refdocs&quot;&gt;VideoEnhancement&lt;/a&gt;&lt;/code&gt; resource with enhancement-specific video ad information, such as whether it&#39;s Google-generated or advertiser-provided. See the &lt;a href=&quot;https://support.google.com/google-ads/answer/13652431&quot;&gt;About video enhancements&lt;/a&gt; to learn more.
&lt;li&gt;Added the &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/AppTopCombinationView?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v23_2&amp;utm_content=learnmore-refdocs&quot;&gt;AppTopCombinationView&lt;/a&gt;&lt;/code&gt; read-only resource to provide insights into top-performing asset combinations in App campaigns.
&lt;li&gt;Added &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/Campaign.HotelSettingInfo?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v23_2&amp;utm_content=learnmore-refdocs#disable_hotel_setting&quot;&gt;HotelSettingInfo.disable_hotel_setting&lt;/a&gt;&lt;/code&gt; to allow disabling the hotel feed in Demand Gen campaigns.
&lt;li&gt;Added the &lt;code&gt;biddable_indirect_install_first_in_app_conversion_micros&lt;/code&gt; metric to &lt;code&gt;&lt;a 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-v23_2&amp;utm_content=learnmore-refdocs&quot;&gt;Campaign&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/Customer?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v23_2&amp;utm_content=learnmore-refdocs&quot;&gt;Customer&lt;/a&gt;&lt;/code&gt;, and &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/AdGroup?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v23_2&amp;utm_content=learnmore-refdocs&quot;&gt;AdGroup&lt;/a&gt;&lt;/code&gt; resources.
&lt;li&gt;Added several enhancements to &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/ContentCreatorInsightsService?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v23_2&amp;utm_content=learnmore-refdocs&quot;&gt;ContentCreatorInsightsService&lt;/a&gt;&lt;/code&gt; and &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/ReachPlanService#generateReachForecast?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v23_2&amp;utm_content=learnmore-refdocs&quot;&gt;ReachPlanService&lt;/a&gt;&lt;/code&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-adsapi-release-v23_2&amp;utm_content=learnmore-releasenotes#planning-v23-2&quot;&gt;Learn more&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
&lt;strong&gt;Where can I learn more?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
The following resources can help you get started:
&lt;/p&gt;&lt;ul&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-adsapi-release-v23_2&amp;utm_content=learnmore-releasenotes&quot;&gt;Release Notes&lt;/a&gt;
&lt;li&gt;&lt;a 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&quot;&gt;Upgrade from a previous version&lt;/a&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/docs?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-adsapi-release-v23_2&amp;utm_content=learnmore-guides&quot;&gt;Guides&lt;/a&gt;
&lt;li&gt;&lt;a 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-v23_2&amp;utm_content=learnmore-refdocs&quot;&gt;Reference&lt;/a&gt;
&lt;li&gt;&lt;a 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#v22-v23&quot;&gt;Diff between v23 and v22&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;

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


&lt;p&gt;&lt;span class=&quot;byline-author&quot;&gt;&lt;a 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 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/3519765640646800805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/3519765640646800805'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/03/announcing-v232-of-google-ads-api.html' title='Announcing v23.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><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-5906839149009317829</id><published>2026-03-23T10:04:00.000-07:00</published><updated>2026-03-23T10:04:54.003-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bid_manager_api"/><category scheme="http://www.blogger.com/atom/ns#" term="dbm_api"/><category scheme="http://www.blogger.com/atom/ns#" term="discord"/><category scheme="http://www.blogger.com/atom/ns#" term="documentation"/><category scheme="http://www.blogger.com/atom/ns#" term="dv360_api"/><category scheme="http://www.blogger.com/atom/ns#" term="sdf"/><title type='text'>Announcing new Display &amp; Video 360 API Discord channels and a documentation update!</title><content type='html'>&lt;p&gt;
Today we’re announcing two huge improvements for Display &amp; Video 360 bulk tools.
&lt;/p&gt;
&lt;p&gt;
First, we are launching support for &lt;a href=&quot;https://developers.google.com/display-video/api/?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dv360apidocumentationupdatemar2026&amp;utm_content=readmore-dv3&quot;&gt;Display &amp; Video 360 API&lt;/a&gt;, &lt;a href=&quot;https://developers.google.com/display-video/api/structured-data-file/format?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dv360apidocumentationupdatemar2026&amp;utm_content=readmore-sdf&quot;&gt;Structured Data Files&lt;/a&gt;, and &lt;a href=&quot;https://developers.google.com/bid-manager?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dv360apidocumentationupdatemar2026&amp;utm_content=readmore-bidmanager&quot;&gt;Bid Manager API&lt;/a&gt; products in the existing “Google Advertising and Measurement Community” Discord server! To join, just click &lt;a href=&quot;https://goo.gle/dv3-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 Display &amp; Video 360 community, answering questions and responding to feedback. We’ll also let you know what’s new with our products in the #announce-display-video-360 channel.
&lt;/p&gt;
&lt;p&gt;
Second, we have made a significant update to the &lt;a href=&quot;https://developers.google.com/display-video/api/?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dv360apidocumentationupdatemar2026&amp;utm_content=seenewdocs-dv3&quot;&gt;Display &amp; Video 360 API&lt;/a&gt; and &lt;a href=&quot;https://developers.google.com/display-video/api/structured-data-file/format?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dv360apidocumentationupdatemar2026&amp;utm_content=seenewdocs-sdf&quot;&gt;Structured Data Files&lt;/a&gt; documentation. The updated site is designed to make it easier to learn how to perform common tasks with &lt;em&gt;&lt;a href=&quot;https://developers.google.com/display-video/api/guides/tasks?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dv360apidocumentationupdatemar2026&amp;utm_content=seenewdocs-tasksguides&quot;&gt;Task guides&lt;/a&gt;&lt;/em&gt;, browse important conceptual information with &lt;em&gt;&lt;a href=&quot;https://developers.google.com/display-video/api/guides/concepts?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dv360apidocumentationupdatemar2026&amp;utm_content=seenewdocs-conceptguides&quot;&gt;Concept guides&lt;/a&gt;&lt;/em&gt;, and review reference material with &lt;a href=&quot;https://developers.google.com/display-video/api/reference?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-dv360apidocumentationupdatemar2026&amp;utm_content=seenewdocs-navchanges&quot;&gt;updated navigation&lt;/a&gt; that highlights currently-supported versions and features of the API and Structured Data Files.
&lt;/p&gt;
&lt;p&gt;
If you have feedback on these changes or the content of any of the guides, please click the &lt;strong&gt;Send Feedback&lt;/strong&gt; button at the bottom of any page in the documentation.
&lt;/p&gt;
&lt;p&gt;
If you have any questions or want to discuss this post, you can now reach out to us on our &lt;a href=&quot;https://goo.gle/dv3-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 height=&quot;40&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXVr7f4ytIcmllzEyXHydnMWFyaVwwDJ4ZEweChJMlryjlu4_NY39i-y_s0zjoslPkp60LgoSfgmypI_6rXjpGUsWPfQyvQyml31BDxWzh2BBYtyr2tp7NpaIA4hGs-86rGjlLNUX1tX2H_fkEzw83BOaWGJPKcZIzVtzIMBNzuLCoTlrpCrnA8Z1DLR8/s512/unnamed%20%286%29.jpg&quot; style=&quot;border: none; vertical-align: middle;&quot; width=&quot;40&quot; /&gt; - Trevor Mulchay, Display &amp;amp; Video 360 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/5906839149009317829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/5906839149009317829'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/03/announcing-new-display-video-360-api.html' title='Announcing new Display &amp; Video 360 API Discord channels and a documentation update!'/><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-818920485877743313</id><published>2026-03-20T08:24:00.000-07:00</published><updated>2026-03-20T08:25:10.884-07:00</updated><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_analytics_api"/><category scheme="http://www.blogger.com/atom/ns#" term="meridian"/><category scheme="http://www.blogger.com/atom/ns#" term="podcast"/><title type='text'>Introducing: Ads DevCast</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/AVvXsEhDEE2O2OMjXUbzYX4KL5Fxco5Vr0jCisEpmNYUkZMwpzM4qvzdnUlgXBadRDD6Zm-yaVkH_VKGu-o0WDe7lt2RrryM7QRzdb_qHpzTGMjiI0e0VvuKrQazqbCvZGDgYgpl7d6c0zYO0yOubYSkZafxXm4m1NLCsMKCpI3z1tmRBLqKoFxSs22vyVLrkMk/s869/Screenshot%202026-03-18%20at%2012.09.59%E2%80%AFPM.png&quot; style=&quot;display: block; text-align: center; &quot;&gt;
    &lt;img alt=&quot;&quot; border=&quot;0&quot; width=&quot;600&quot; data-original-height=&quot;489&quot; data-original-width=&quot;869&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDEE2O2OMjXUbzYX4KL5Fxco5Vr0jCisEpmNYUkZMwpzM4qvzdnUlgXBadRDD6Zm-yaVkH_VKGu-o0WDe7lt2RrryM7QRzdb_qHpzTGMjiI0e0VvuKrQazqbCvZGDgYgpl7d6c0zYO0yOubYSkZafxXm4m1NLCsMKCpI3z1tmRBLqKoFxSs22vyVLrkMk/s800/Screenshot%202026-03-18%20at%2012.09.59%E2%80%AFPM.png&quot;/&gt;
  &lt;/a&gt;

&lt;div style=&quot;text-align: center;&quot;&gt;
  &lt;em&gt;A new podcast for the ads technical community&lt;/em&gt;
&lt;/div&gt;
  
&lt;/div&gt;

&lt;p&gt;
We are thrilled to announce the launch of &lt;strong&gt;Ads DevCast&lt;/strong&gt;, a new bi-weekly &lt;a href=&quot;https://goo.gle/watchadsdevcast&quot;&gt;vodcast&lt;/a&gt; and &lt;a href=&quot;https://goo.gle/listenadsdevcast&quot;&gt;podcast&lt;/a&gt; series brought to you by Google’s Advertising and Measurement Developer Relations team.
&lt;/p&gt;
&lt;p&gt;
Hosted by Developer Relations Engineer &lt;a href=&quot;https://www.linkedin.com/in/coryliseno/&quot;&gt;Cory Liseno&lt;/a&gt;, this show is dedicated to deep dives into our latest technical updates, insights from the engineers building our tools, and expert discussions on products like Google Ads, Google Analytics, Display &amp; Video 360, Meridian, and more.
&lt;/p&gt;
&lt;p&gt;
While you might already be familiar with the &lt;a href=&quot;http://goo.gle/adsdecoded&quot;&gt;Ads Decoded&lt;/a&gt; podcast — where &lt;a href=&quot;https://www.linkedin.com/in/ginnymarvin/&quot;&gt;Ginny Marvin&lt;/a&gt; does a fantastic job bridging the gap for marketing teams on campaign strategy — &lt;strong&gt;Ads DevCast&lt;/strong&gt; is built specifically for builders and developers. 
&lt;/p&gt;
&lt;p&gt;
You can tune in on our &lt;a href=&quot;https://goo.gle/watchadsdevcast&quot;&gt;Google Ads Developers YouTube channel&lt;/a&gt; or find the podcast on &lt;a href=&quot;https://goo.gle/listenadsdevcast&quot;&gt;Google Ads Developers in YouTube Music&lt;/a&gt;.
&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Episode 1: MCPs, Agents, and Ads. Oh My!&lt;/strong&gt;&lt;/h3&gt;


&lt;p&gt;
In our premiere episode, we explore the &quot;agentic shift&quot; currently reshaping the advertising landscape. We’re seeing a world where agents, not just humans, are becoming primary consumers of our APIs. To help you stay ahead, we’ve released several tools designed to make your integrations &lt;strong&gt;smarter, faster, and more accessible.&lt;/strong&gt;
&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;Getting Smarter with MCP Servers&lt;/strong&gt;&lt;/h4&gt;


&lt;p&gt;
One of the covered topics is &lt;strong&gt;Model Context Protocol (MCP)&lt;/strong&gt;, and how it allows your agents like &lt;a href=&quot;https://geminicli.com/&quot;&gt;Gemini CLI&lt;/a&gt; to securely access your data.
&lt;/p&gt;
&lt;p&gt;
We’ve recently released open source, self-hosted MCP servers for the &lt;strong&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/docs/developer-toolkit/mcp-server?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-26h1ai&amp;utm_content=adce1-adsmcp-tryitout&quot;&gt;Google Ads API&lt;/a&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;a href=&quot;https://developers.google.com/analytics/devguides/MCP?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-26h1ai&amp;utm_content=adce1-analyticsmcp-tryitout&quot;&gt;Google Analytics API&lt;/a&gt;&lt;/strong&gt;. These tools allow you to ask natural language questions directly to your agent, such as:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;em&gt;&quot;What are my active campaigns?&quot;&lt;/em&gt;
&lt;li&gt;&lt;em&gt;&quot;Which properties had the highest traffic yesterday?&quot;&lt;/em&gt;
&lt;li&gt;&lt;em&gt;&quot;What are my top-selling products over the last month?&quot;&lt;/em&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
The real magic happens when you combine this data with generative power. In the episode, we discuss how you can use the Analytics MCP to not only pull reports but then ask Gemini to generate a data-justified marketing plan based on those specific results.
&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;Moving Faster with the Developer Assistant&lt;/strong&gt;&lt;/h4&gt;


&lt;p&gt;
Technical speed is another major focus. To reduce the time spent digging through documentation, we’ve launched the &lt;strong&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/docs/developer-toolkit/ai-assistant?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-26h1ai&amp;utm_content=adce1-assistant-tryitout&quot;&gt;Google Ads API Developer Assistant&lt;/a&gt;&lt;/strong&gt;. This Gemini CLI extension allows you to use natural language to generate, debug, and even test-run integration code.
&lt;/p&gt;
&lt;p&gt;
In one real-world test, we used the assistant to solve a complex reporting issue regarding policy disapprovals. What would normally take days of back-and-forth with email support was resolved by the assistant in minutes, providing the exact &lt;a href=&quot;https://developers.google.com/google-ads/api/docs/query/overview?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-26h1ai&amp;utm_content=adce1-readmore-gaql&quot;&gt;GAQL&lt;/a&gt; query needed to get the job done.
&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;Improving Accessibility&lt;/strong&gt;&lt;/h4&gt;


&lt;p&gt;
AI tooling is also changing &lt;em&gt;who&lt;/em&gt; can interact with our technical systems. We’re seeing a shift from the &quot;Ads Developer Community&quot; to a broader &quot;Ads Technical Community.&quot; Marketing power users are now leveraging MCP servers to perform real-time data operations without waiting for a full development lifecycle. This frees up engineering teams to focus on high-impact &quot;blue sky&quot; projects while giving marketers the agility they need.
&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;We want to hear from you&lt;/strong&gt;&lt;/h3&gt;


&lt;p&gt;
This show is a pilot, and your feedback is important so we can tailor our content to what is most useful for you. Please take a moment to fill out our &lt;a href=&quot;https://goo.gle/adc-survey-e1&quot;&gt;Episode 1 Survey&lt;/a&gt; and let us know what topics you want us to cover next.  
&lt;/p&gt;
&lt;p&gt;
Be sure to also &lt;a href=&quot;http://goo.gle/ads-and-measurement-discord&quot;&gt;join our Discord Community&lt;/a&gt; where you can join the conversation with Googlers and fellow developers.
&lt;/p&gt;
&lt;p&gt;
Thanks for tuning in!  We&#39;ll see you in two weeks for Episode 2.  
&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/818920485877743313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/818920485877743313'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/03/introducing-ads-devcast.html' title='Introducing: Ads DevCast'/><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/AVvXsEhDEE2O2OMjXUbzYX4KL5Fxco5Vr0jCisEpmNYUkZMwpzM4qvzdnUlgXBadRDD6Zm-yaVkH_VKGu-o0WDe7lt2RrryM7QRzdb_qHpzTGMjiI0e0VvuKrQazqbCvZGDgYgpl7d6c0zYO0yOubYSkZafxXm4m1NLCsMKCpI3z1tmRBLqKoFxSs22vyVLrkMk/s72-c/Screenshot%202026-03-18%20at%2012.09.59%E2%80%AFPM.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-4581782000092925948</id><published>2026-03-19T11:03:00.000-07:00</published><updated>2026-03-19T11:03:04.604-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="audiences"/><category scheme="http://www.blogger.com/atom/ns#" term="demand_gen"/><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><title type='text'>Upcoming changes to Lookalike user lists in the Google Ads API, starting April 30, 2026</title><content type='html'>&lt;p&gt;
Google Ads is committed to providing a reliable and efficient environment for all advertisers. To ensure that our systems remain stable and that resources are allocated fairly, we are introducing a uniqueness check for &lt;a href=&quot;https://developers.google.com/google-ads/api/docs/remarketing/audience-segments/lookalike-audiences?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-duplicatelookalikeuserlistchangesmar2026&amp;utm_content=readmore-lookalike&quot;&gt;Lookalike user lists&lt;/a&gt; that prevents the creation of duplicate lists. These changes primarily impact &lt;a href=&quot;https://developers.google.com/google-ads/api/docs/demand-gen/audience-targeting?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-duplicatelookalikeuserlistchangesmar2026&amp;utm_content=readmore-demandgen&quot;&gt;Demand Gen campaigns&lt;/a&gt; and will begin to be enforced starting on &lt;strong&gt;April 30, 2026&lt;/strong&gt;.
&lt;/p&gt;
&lt;p&gt;
A &lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/LookalikeUserListInfo?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-duplicatelookalikeuserlistchangesmar2026&amp;utm_content=readmore-lookalikeuserlist&quot;&gt;Lookalike user list&lt;/a&gt; is considered a duplicate if it shares all of the following attributes with an existing list:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;Seed lists:&lt;/strong&gt; The underlying source audiences used to build the Lookalike.
&lt;li&gt;&lt;strong&gt;Expansion level:&lt;/strong&gt; The degree of similarity to the seed lists.
&lt;li&gt;&lt;strong&gt;Country targeting:&lt;/strong&gt; The geographical reach of the Lookalike list.&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
If an advertiser attempts to create a duplicate list after April 30, 2026, the &lt;a href=&quot;https://developers.google.com/google-ads/api?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-duplicatelookalikeuserlistchangesmar2026&amp;utm_content=readmore-gaa&quot;&gt;Google Ads API&lt;/a&gt; will return the error code &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/UserListErrorEnum.UserListError?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-duplicatelookalikeuserlistchangesmar2026&amp;utm_content=readmore-duplicatelookalike&quot;&gt;DUPLICATE_LOOKALIKE&lt;/a&gt;&lt;/code&gt; for v24 and beyond. For earlier versions, the error will be &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/MutateErrorEnum.MutateError#resource_already_exists?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-duplicatelookalikeuserlistchangesmar2026&amp;utm_content=readmore-alreadyexists&quot;&gt;RESOURCE_ALREADY_EXISTS&lt;/a&gt;&lt;/code&gt;.

&lt;h3&gt;&lt;strong&gt;What this means for you&lt;/strong&gt;&lt;/h3&gt;


&lt;p&gt;
For the majority of advertisers, these changes will go unnoticed, as most current usage falls well within these new boundaries. However, to ensure a smooth transition, we recommend the following:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;Reuse audiences:&lt;/strong&gt; Instead of creating a new, identical Lookalike list, verify if an existing one with the same configuration can be reused in your campaigns.
&lt;li&gt;&lt;strong&gt;Update error handling:&lt;/strong&gt; If you use the Google Ads API, ensure your integrations are prepared to handle the new error starting on April 30, 2026: v24 will return the &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/UserListErrorEnum.UserListError?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-duplicatelookalikeuserlistchangesmar2026&amp;utm_content=readmore-duplicatelookalike&quot;&gt;DUPLICATE_LOOKALIKE&lt;/a&gt;&lt;/code&gt; error code and all previous versions will return &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/MutateErrorEnum.MutateError#resource_already_exists?utm_source=googleblog-adsdevs&amp;utm_medium=blog&amp;utm_campaign=adr-duplicatelookalikeuserlistchangesmar2026&amp;utm_content=readmore-alreadyexists&quot;&gt;RESOURCE_ALREADY_EXISTS&lt;/a&gt;&lt;/code&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;“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/4581782000092925948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/4581782000092925948'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/03/upcoming-changes-to-lookalike-user.html' title='Upcoming changes to Lookalike user lists in the Google Ads API, starting April 30, 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-4410982499924356705</id><published>2026-03-04T08:46:00.000-08:00</published><updated>2026-03-04T08:46:23.177-08:00</updated><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="google_ads"/><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><title type='text'>Changes to Customer Match Support in the Google Ads API</title><content type='html'>
&lt;p&gt;
Starting on April 1, 2026, the Google Ads API will no longer accept new adopters of &lt;a href=&quot;https://developers.google.com/google-ads/api/docs/remarketing/audience-segments/customer-match/get-started&quot;&gt;Customer Match&lt;/a&gt;. As with our recent announcement for the use of &lt;a href=&quot;https://ads-developers.googleblog.com/2026/01/changes-to-ip-address-and-session.html&quot;&gt;session attributes and IP address&lt;/a&gt; in click conversions in the Google Ads API, we’re recommending that new adopters of Customer Match integrate with the &lt;a href=&quot;https://developers.google.com/data-manager/api&quot;&gt;Data Manager API&lt;/a&gt; as their primary user data import API.
&lt;/p&gt;
&lt;p&gt;
Developers who have not adopted Customer Match, or have not uploaded data to a Customer Match list between October 2025 and March 2026, will receive an error if they attempt to upload to a Customer Match list. Developers who have already adopted Customer Match can continue importing user data using the Google Ads API while they integrate 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 href=&quot;https://developers.google.com/google-ads/api/docs/get-started/make-first-call#developer-token&quot;&gt;developer token&lt;/a&gt;.
&lt;li&gt;Once this change is rolled out, users who are not on the allowlist will receive the error &lt;code&gt;CUSTOMER_NOT_ALLOWLISTED_FOR_THIS_FEATURE&lt;/code&gt; when attempting to upload user data to a Customer Match list using either the &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/latest/OfflineUserDataJobService&quot;&gt;OfflineUserDataJobService&lt;/a&gt;&lt;/code&gt; or &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/latest/UserDataService&quot;&gt;UserDataService&lt;/a&gt;&lt;/code&gt;.
&lt;li&gt;See the documentation for integrating with the Data Manager API for Customer Match imports for &lt;a href=&quot;https://developers.google.com/data-manager/api/devguides/audiences/google-ads/customer-match&quot;&gt;Google Ads&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
Reach out to the &lt;a href=&quot;https://developers.google.com/google-ads/api/support&quot;&gt;Google Ads API support&lt;/a&gt; or &lt;a href=&quot;https://developers.google.com/data-manager/api/support&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 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/4410982499924356705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/4410982499924356705'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/03/changes-to-customer-match-support-in.html' title='Changes to Customer Match 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-1533833020842148984</id><published>2026-02-27T07:52:00.000-08:00</published><updated>2026-02-27T07:52:09.477-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="budget_floor"/><category scheme="http://www.blogger.com/atom/ns#" term="demand_gen"/><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><category scheme="http://www.blogger.com/atom/ns#" term="unversioned_change"/><title type='text'>Minimum Budget Requirement for Demand Gen Campaigns</title><content type='html'>&lt;p&gt;
Starting on April 1st, 2026, the Google Ads API will begin enforcing a minimum daily budget of 5 USD, or the equivalent in local currency, for all Demand Gen campaigns. This update ensures that campaigns have adequate budget to navigate the initial &quot;cold start&quot; phase, during which our models learn and optimize for performance.
&lt;/p&gt;
&lt;p&gt;
This change is being implemented as an unversioned update across the Google Ads API, providing consistency across all buying doors.
&lt;/p&gt;
&lt;h1&gt;Technical details and error handling&lt;/h1&gt;


&lt;p&gt;
Depending on the version of the API you are using, you will encounter different behaviors when a budget below the 5 USD floor is specified for a Demand Gen campaign:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;Google Ads API v21 and above:&lt;/strong&gt; You will receive a &lt;code&gt;BUDGET_BELOW_DAILY_MINIMUM&lt;/code&gt; error when creating or updating a campaign with an insufficient budget. You can also refer to the &lt;code&gt;details.budget_per_day_minimum_error_details&lt;/code&gt; field for further details about the minimum budget, such as the actual minimum threshold.
&lt;li&gt;&lt;strong&gt;Google Ads API v20:&lt;/strong&gt; The API will return a generic &lt;code&gt;UNKNOWN&lt;/code&gt; error code. To identify this specific validation failure, you must check the &lt;code&gt;details.unpublished_error_code&lt;/code&gt; field, which will contain the string &lt;code&gt;CampaignBudgetError.BUDGET_BELOW_DAILY_MINIMUM&lt;/code&gt;.&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
The validation will trigger whenever a campaign&#39;s budget, start time, or end time is modified in a way that results in a daily budget below the floor. This applies to both daily budgets and flighted (custom) budgets.
&lt;/p&gt;
&lt;h1&gt;Impact on existing campaigns&lt;/h1&gt;


&lt;p&gt;
Existing Demand Gen campaigns that currently operate with a budget below the 5 USD threshold will continue to serve without interruption. However, any future modifications to these campaigns&#39; budgets or durations will be subject to the new validation rules. To make a change to these campaigns, the budget must be increased to at least the minimum required floor.
&lt;/p&gt;
&lt;h1&gt;Next steps&lt;/h1&gt;


&lt;p&gt;
We recommend that developers update their reporting and management systems to handle these new error codes. 
&lt;/p&gt;
&lt;p&gt;
If you have any questions regarding this change, get &lt;a href=&quot;https://developers.google.com/google-ads/api/support&quot;&gt;Google Ads API support&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://lh3.googleusercontent.com/a/AAcHTteMf_IXDYsJGIPAdLCefNLvUvK73hQtgnAZCJciyzpbfg=s83-c-mo&quot; style=&quot;vertical-align:middle; border:none;&quot;&gt;&amp;nbsp;-&amp;nbsp;Mattia Tommasone, Google Ads API Team&lt;/span&gt;

</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/1533833020842148984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/1533833020842148984'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/02/minimum-budget-requirement-for-demand.html' title='Minimum Budget Requirement for Demand Gen Campaigns'/><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-1626545970069058219</id><published>2026-02-26T09:24:00.000-08:00</published><updated>2026-02-26T09:24:13.047-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><title type='text'>Introducing Google Ads API Developer Assistant v2.0</title><content type='html'>
&lt;p&gt;
This major &lt;a href=&quot;https://developers.google.com/google-ads/api/docs/developer-toolkit/ai-assistant&quot;&gt;update&lt;/a&gt; transforms the &lt;a href=&quot;https://github.com/googleads/google-ads-api-developer-assistant&quot;&gt;Assistant&lt;/a&gt; from a powerful code generation tool into a proactive troubleshooting and automation partner for Google Ads developers. Since our v1.6.0 release, we&#39;ve listened to your feedback and focused on the most challenging parts of API development: &lt;strong&gt;diagnostics, consistency, and setup.&lt;/strong&gt;
&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;What’s new in v2.0?&lt;/strong&gt;&lt;/h2&gt;


&lt;h3&gt;1. Simpler Installation &amp;amp; Maintenance&lt;/h3&gt;


&lt;p&gt;
Setting up a multi-language development environment shouldn&#39;t be a chore.
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;One-Command Setup:&lt;/strong&gt; Use the new &lt;code&gt;--install-deps&lt;/code&gt; flag with &lt;code&gt;install.sh&lt;/code&gt; or &lt;code&gt;install.ps1&lt;/code&gt; to handle pip, composer, and bundler dependencies in one go.
&lt;li&gt;&lt;strong&gt;Unified Directory Structure:&lt;/strong&gt; All your generated code, CSV exports, and diagnostic reports are now organized under a single &lt;code&gt;saved/&lt;/code&gt; directory with sub-directories for each type of output.
&lt;li&gt;&lt;strong&gt;One-Command Update:&lt;/strong&gt; When a new version of the API and the client libraries are released you need to execute &lt;code&gt;update.sh&lt;/code&gt; to work with the latest version. You can also use &lt;code&gt;update.sh&lt;/code&gt; to add additional client libraries to your context.&lt;/li&gt;&lt;/ul&gt;

&lt;h3&gt;2. Agentic conversion troubleshooting&lt;/h3&gt;


&lt;p&gt;
Offline conversion tracking is one of the most powerful—yet complex—features of the Google Ads API. Debugging why a conversion wasn&#39;t attributed can be a time-consuming manual process.
&lt;/p&gt;
&lt;p&gt;
In v2.0, we’ve introduced a dedicated &lt;strong&gt;Conversion Troubleshooting &amp; Diagnostics&lt;/strong&gt; suite.
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;New Script:&lt;/strong&gt; &lt;code&gt;api_examples/collect_conversions_troubleshooting_data.py&lt;/code&gt;
&lt;li&gt;&lt;strong&gt;New Command:&lt;/strong&gt; &lt;code&gt;/conversions_support_data&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
The script executes standard reports for conversions troubleshooting and provides context for the Assistant to troubleshoot your issues.
&lt;/p&gt;
&lt;p&gt;
The command is most useful after the Assistant has analyzed your conversion problem and attempted to solve it. If it cannot, and you need to contact support, this command will analyze your customer settings, conversion actions, and upload summaries to generate a structured diagnostic report based on the analysis already performed. It even identifies &quot;unhealthy&quot; states and high failure rates automatically, saving you hours of log diving. It saves the results to a text file that you can include with a support request should you need to file one.
&lt;/p&gt;
&lt;h3&gt;3. Built for the latest API (v23)&lt;/h3&gt;


&lt;p&gt;
Version 2.0 fully supports &lt;strong&gt;Google Ads API v23&lt;/strong&gt;. All our interactive examples have been updated, and the Assistant&#39;s internal context is now optimized for the latest resources and fields, ensuring the code you generate is production-ready.
&lt;/p&gt;
&lt;h3&gt;4. Seamless Automation with Session Hooks&lt;/h3&gt;


&lt;p&gt;
We’ve added &lt;strong&gt;SessionStart and SessionEnd hooks&lt;/strong&gt; to make your workflow truly frictionless.
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;Automatic Configuration:&lt;/strong&gt; The Assistant can now automatically locate your configuration file in your &lt;code&gt;$HOME&lt;/code&gt; directory at the start of a session. It copies it to the sub-directory config in your project directory. Python is Gemini’s preferred language to query the API. So, if you are using another language, it reads your configuration file and creates a temporary google-ads.yaml in config for its queries, but continues to respond in the code of your preferred language.
&lt;li&gt;&lt;strong&gt;Auto-Cleanup:&lt;/strong&gt; Temporary configurations are securely wiped when you exit, keeping your workspace clean and your credentials safe.&lt;/li&gt;&lt;/ul&gt;

&lt;h3&gt;5. Smarter GAQL validation&lt;/h3&gt;


&lt;p&gt;
Building complex GAQL queries is easier than ever. We&#39;ve updated &lt;code&gt;GEMINI.md&lt;/code&gt; and &lt;code&gt;conversions/GEMINI.md&lt;/code&gt; with rigorous validation rules for the latest API edge cases, including improved handling of date segments and finite range requirements. The Assistant now catches logic errors &lt;em&gt;before&lt;/em&gt; you execute the query.
&lt;/p&gt;
&lt;h3&gt;
6. Skills
&lt;/h3&gt;
&lt;p&gt;
Think of a Skill as a mini-plugin or a &quot;behavior blueprint.&quot; While the general context (like your &lt;code&gt;GEMINI.md&lt;/code&gt; file) provides background info, a Skill is only &quot;loaded&quot; into the AI&#39;s brain when it specifically needs to perform a complex, procedural task like obtaining the current version of this extension. You don’t execute the Skill directly. Gemini decides when it needs it.
&lt;/p&gt;
&lt;p&gt;
Although still an experimental feature, we have included one with this release to compliment our use of hooks for session initialization and cleanup.
&lt;/p&gt;


&lt;h2&gt;Why Should You Upgrade?&lt;/h2&gt;


&lt;p&gt;
The leap from v1.6.0 to v2.0.0 is about more than just new features; it’s about &lt;strong&gt;reliability&lt;/strong&gt;. By integrating deep API knowledge with automated diagnostic tools, v2.0 reduces the &quot;trial and error&quot; loop that often slows down API integration.
&lt;/p&gt;
&lt;p&gt;
Whether you&#39;re debugging conversion uploads or building complex reporting pipelines, v2.0 gives you the tools to work faster and with more confidence.
&lt;/p&gt;

&lt;h2&gt;&lt;a href=&quot;https://github.com/googleads/google-ads-api-developer-assistant/blob/main/README.md#setup&quot;&gt;Getting Started&lt;/a&gt;&lt;/h2&gt;


&lt;p&gt;
&lt;strong&gt;First installation&lt;/strong&gt;
&lt;/p&gt;&lt;ul&gt;

  &lt;li&gt;&lt;code&gt;git clone &lt;a href=&quot;https://github.com/googleads/google-ads-api-developer-assistant.git&quot;&gt;https://github.com/googleads/google-ads-api-developer-assistant.git&lt;/a&gt;&lt;/code&gt;
&lt;li&gt;In the project directory, run install.sh or install.ps1 to install the extension and client libraries.&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
&lt;strong&gt;Upgrading from a previous version&lt;/strong&gt;
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;Copy any custom code from &lt;code&gt;saved_code/&lt;/code&gt; and &lt;code&gt;saved_csv/&lt;/code&gt; to a secure location.
&lt;li&gt;Delete your local clone of the Google Ads API Developer Assistant by deleting your project directory and all sub-directories and files.
&lt;li&gt;&lt;code&gt;git clone &lt;a href=&quot;https://github.com/googleads/google-ads-api-developer-assistant.git&quot;&gt;https://github.com/googleads/google-ads-api-developer-assistant.git&lt;/a&gt;&lt;/code&gt;
&lt;li&gt;In the project directory, run install.sh or &lt;code&gt;install.ps1&lt;/code&gt; to install the extension and client libraries.&lt;/li&gt;&lt;/ul&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/1626545970069058219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/1626545970069058219'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/02/introducing-google-ads-api-developer.html' title='Introducing Google Ads API Developer Assistant v2.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-3963278006587367835</id><published>2026-02-26T09:14:00.000-08:00</published><updated>2026-02-26T09:14:10.030-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="campaign_management"/><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_scripts"/><title type='text'>Additional changes for supporting European Union Political Ads Regulation in Google Ads API and Google Ads scripts</title><content type='html'>
&lt;p&gt;
&lt;strong&gt;What’s changing?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
In 2025, Google &lt;a href=&quot;https://ads-developers.googleblog.com/2025/08/eu-par-google-ads-api-scripts.html&quot;&gt;rolled out changes to support&lt;/a&gt; the EU Political Ads Regulation in the &lt;a href=&quot;https://developers.google.com/google-ads/api/docs/start&quot;&gt;Google Ads API&lt;/a&gt; and &lt;a href=&quot;https://developers.google.com/google-ads/scripts/docs/start&quot;&gt;Google Ads scripts&lt;/a&gt;. On &lt;strong&gt;April 1, 2026&lt;/strong&gt;, we will change account-level API restrictions. If you use either of these products to create or manage campaigns, you may need to update your application before &lt;strong&gt;April 1, 2026 &lt;/strong&gt;to handle these enforcements&lt;strong&gt;. &lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;API validation and enforcement changes&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
On &lt;strong&gt;April 1, 2026&lt;/strong&gt;, Google Ads API and Google Ads scripts will implement the following changes in versions v20, v21, v22 and v23 of the API. 
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;If a Google Ads account has one or more undeclared campaigns, all mutate calls related to campaign management will fail with a &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/latest/MutateErrorEnum.MutateError#eu_political_advertising_declaration_required&quot;&gt;MutateError.EU_POLITICAL_ADVERTISING_DECLARATION_REQUIRED&lt;/a&gt;&lt;/code&gt; error. 
&lt;li&gt;You can determine if a campaign is undeclared by examining the Campaign’s &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/latest/Campaign#missing_eu_political_advertising_declaration&quot;&gt;missing_eu_political_advertising_declaration&lt;/a&gt;&lt;/code&gt; field.
&lt;li&gt;All other calls – such as reporting, account management or keyword planner – will continue to work unaffected. See the &lt;a href=&quot;https://developers.google.com/google-ads/api/docs/api-policy/eu-par#list-of-methods&quot;&gt;full list of methods&lt;/a&gt;.
&lt;li&gt;To declare currently undeclared campaigns, retrieve the list of eligible campaigns, and set their &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/latest/Campaign#contains_eu_political_advertising&quot;&gt;contains_eu_political_advertising&lt;/a&gt;&lt;/code&gt; declaration using the &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/latest/CampaignService#mutatecampaigns&quot;&gt;CampaignService.MutateCampaigns&lt;/a&gt;&lt;/code&gt; method, &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/latest/GoogleAdsService/Mutate&quot;&gt;GoogleAdsService.Mutate&lt;/a&gt;&lt;/code&gt; method, or using the &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/docs/batch-processing/overview&quot;&gt;BatchJobService&lt;/a&gt;&lt;/code&gt;. These methods won’t fail with a &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/latest/MutateErrorEnum.MutateError#eu_political_advertising_declaration_required&quot;&gt;MutateError.EU_POLITICAL_ADVERTISING_DECLARATION_REQUIRED&lt;/a&gt;&lt;/code&gt; error as long as you only update the campaign&#39;s &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/latest/Campaign#contains_eu_political_advertising&quot;&gt;contains_eu_political_advertising&lt;/a&gt;&lt;/code&gt; field. You can retrieve the list of undeclared campaigns by running the following GAQL query using either the &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/latest/GoogleAdsService#search&quot;&gt;Search&lt;/a&gt;&lt;/code&gt; or &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/latest/GoogleAdsService#searchstream&quot;&gt;SearchStream&lt;/a&gt;&lt;/code&gt; methods of the &lt;code&gt;GoogleAdsService&lt;/code&gt;.&lt;/li&gt;&lt;/ul&gt;




&lt;pre class=&quot;prettyprint&quot;&gt;    select campaign.id
      from
        campaign
      where 
        campaign.missing_eu_political_advertising_declaration = true
&lt;/pre&gt;


&lt;p&gt;
&lt;strong&gt;How will this affect my campaign serving?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Any campaign that has declared EU political ads by setting &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/latest/Campaign#contains_eu_political_advertising&quot;&gt;contains_eu_political_advertising&lt;/a&gt;&lt;/code&gt; to&lt;code&gt; &lt;strong&gt;true&lt;/strong&gt;&lt;/code&gt; will stop serving ads in the EU&lt;code&gt;.&lt;/code&gt; Refer to the &lt;a href=&quot;https://support.google.com/adspolicy/answer/6014595&quot;&gt;Help Center&lt;/a&gt; to learn more.

&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 either the Google Ads API or Google Ads scripts to create or manage campaigns, make sure to update your application to handle these enforcements before &lt;strong&gt;April 1, 2026.&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;How do I get help?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Reach out to the &lt;a href=&quot;https://developers.google.com/google-ads/api/support&quot;&gt;Google Ads API support&lt;/a&gt; or &lt;a href=&quot;https://developers.google.com/google-ads/scripts/docs/support/contact&quot;&gt;Google Ads scripts support&lt;/a&gt; channels if you have more questions about this change.
&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;byline-author&quot;&gt;&lt;a 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 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/3963278006587367835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/3963278006587367835'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/02/additional-changes-for-supporting.html' title='Additional changes for supporting European Union Political Ads Regulation in Google Ads API and Google Ads scripts'/><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><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-9062683570193036101</id><published>2026-02-25T15:21:00.000-08:00</published><updated>2026-02-25T15:21:48.854-08: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 v23.1 of the Google Ads API</title><content type='html'>&lt;p&gt;
Today, we’re announcing the v23.1 release of the &lt;a href=&quot;https://developers.google.com/google-ads/api&quot;&gt;Google Ads API&lt;/a&gt;. To use the new v23.1 features, you must upgrade your &lt;a href=&quot;https://developers.google.com/google-ads/api/docs/client-libs&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 v20.2, v21.1 and v22.1 of the Google Ads API to add additional support for the EU Political Ads Regulation.
&lt;/p&gt;
&lt;p&gt;
Here are some of the key features in this release:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;Added additional fields to &lt;a href=&quot;https://ads-developers.googleblog.com/2025/08/eu-par-google-ads-api-scripts.html&quot;&gt;support&lt;/a&gt; the EU Political Ads Regulation in the &lt;a href=&quot;https://developers.google.com/google-ads/api/docs/start&quot;&gt;Google Ads API&lt;/a&gt;. The &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/Campaign#missing_eu_political_advertising_declaration&quot;&gt;Campaign.missing_eu_political_advertising_declaration&lt;/a&gt;&lt;/code&gt; field supports querying and filtering campaigns that are missing declarations about whether they contain political advertising targeted towards the EU. The &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/Customer#contains_eu_political_advertising&quot;&gt;Customer.contains_eu_political_advertising&lt;/a&gt;&lt;/code&gt; field retrieves the account level declaration status of whether they contain political advertising targeted towards the EU.
&lt;li&gt;Added the &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/YouTubeVideoUploadService&quot;&gt;YouTubeVideoUploadService&lt;/a&gt;&lt;/code&gt; to support uploading and managing videos on YouTube, and the &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/YouTubeVideoUpload&quot;&gt;YouTubeVideoUpload&lt;/a&gt;&lt;/code&gt; resource to support fetching upload status and metadata.
&lt;li&gt;Added support for &lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/Campaign#text_guidelines&quot;&gt;text guidelines&lt;/a&gt; to the &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/Campaign&quot;&gt;Campaign&lt;/a&gt;&lt;/code&gt; resource, which can be used with Performance Max and Search campaigns to programmatically control AI-generated text assets.
&lt;li&gt;Added new metrics that report how many users saw your ad at least two, three, four, five or ten times:
  &lt;a href=&quot;https://developers.google.com/google-ads/api/fields/v23/metrics#metrics.unique_users_two_plus&quot;&gt;&lt;code&gt;unique_users_two_plus&lt;/code&gt;&lt;/a&gt;, &lt;a href=&quot;https://developers.google.com/google-ads/api/fields/v23/metrics#metrics.unique_users_three_plus&quot;&gt;&lt;code&gt;unique_users_three_plus&lt;/code&gt;&lt;/a&gt;, &lt;a href=&quot;https://developers.google.com/google-ads/api/fields/v23/metrics#metrics.unique_users_four_plus&quot;&gt;&lt;code&gt;unique_users_four_plus&lt;/code&gt;&lt;/a&gt;, &lt;a href=&quot;https://developers.google.com/google-ads/api/fields/v23/metrics#metrics.unique_users_five_plus&quot;&gt;&lt;code&gt;unique_users_five_plus&lt;/code&gt;&lt;/a&gt;, and &lt;a href=&quot;https://developers.google.com/google-ads/api/fields/v23/metrics#metrics.unique_users_ten_plus&quot;&gt;&lt;code&gt;unique_users_ten_plus&lt;/code&gt;&lt;/a&gt;.
&lt;li&gt;Added &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/ConversionActionCategoryEnum.ConversionActionCategory#youtube_follow_on_views&quot;&gt;ConversionActionCategory.YOUTUBE_FOLLOW_ON_VIEWS&lt;/a&gt;&lt;/code&gt; to support tracking users who watch an ad and later watch a video from the same channel.&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
&lt;strong&gt;Where can I learn more?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
The following resources can help you get started:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/docs/release-notes&quot;&gt;Release Notes&lt;/a&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/docs/upgrade&quot;&gt;Upgrade from a previous version&lt;/a&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/docs&quot;&gt;Guides&lt;/a&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/&quot;&gt;Reference&lt;/a&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/docs/upgrade#v23-v23_1&quot;&gt;Diff between v23 and v23.1&lt;/a&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/docs/diff&quot;&gt;Diff between v23 and v22&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
Come join us for a live walkthrough of this release in our &lt;a href=&quot;https://discord.gg/X5Cgy7um?event=1474358331505246321&quot;&gt;&quot;Google Ads API Release Highlights&quot; event on Discord&lt;/a&gt; or on our &lt;a href=&quot;https://www.youtube.com/watch?v=AKVBhjrKwAc&quot;&gt;Ads Developers YouTube Live&lt;/a&gt; tomorrow (February 26th 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 #ads-api channel on Discord.
&lt;/p&gt;
&lt;p&gt;
For technical support issues, reach out to &lt;a href=&quot;https://support.google.com/google-ads/gethelp&quot;&gt;https://support.google.com/google-ads/gethelp&lt;/a&gt; 
&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;byline-author&quot;&gt;&lt;a 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 href=&quot;https://g.dev/anash&quot; rel=&quot;author&quot;&gt;Anash P. Oommen&lt;/a&gt;, on behalf of the 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/9062683570193036101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/9062683570193036101'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/02/announcing-v231-of-google-ads-api.html' title='Announcing v23.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-1758861915450773408</id><published>2026-02-19T09:07:00.000-08:00</published><updated>2026-02-19T09:07:33.446-08: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="android"/><category scheme="http://www.blogger.com/atom/ns#" term="mobile_ads_sdk"/><category scheme="http://www.blogger.com/atom/ns#" term="release"/><title type='text'>Announcing Android Google Mobile Ads SDK 25.0.0</title><content type='html'>&lt;p&gt;
Version 25.0.0 of the Android Google Mobile Ads SDK is now available. We recommend upgrading as soon as possible to take advantage of the latest features, performance improvements, and API updates. This is a major version update that includes several breaking changes, new functionality for optimizing banner ad sizes, and important dependency updates. 
&lt;/p&gt;
&lt;h3&gt;New Large Anchored Adaptive Banner Size APIs&lt;/h3&gt;

&lt;p&gt;
Unlock better performance with new banner ad sizes:
&lt;/p&gt;
&lt;p&gt;
To better align with modern mobile devices, we are introducing the Large Adaptive Anchor API (e.g. &lt;a href=&quot;https://developers.google.com/admob/android/reference/com/google/android/gms/ads/AdSize#getLargeAnchoredAdaptiveBannerAdSize(android.content.Context,int)&quot;&gt;AdSize.getLargeAnchoredAdaptiveBannerAdSize()&lt;/a&gt;). This update focuses solely on the sizing logic within adaptive anchor banners. While individual results may vary, larger ads are designed to increase engagement and revenue potential for publishers. The previous anchored adaptive APIs (e.g. &lt;a href=&quot;https://developers.google.com/admob/android/reference/com/google/android/gms/ads/AdSize#getCurrentOrientationAnchoredAdaptiveBannerAdSize(android.content.Context,int)&quot;&gt;AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize()&lt;/a&gt;) are now deprecated in favor of the new large anchored adaptive banner approach.
&lt;/p&gt;
&lt;p&gt;
Old usage (Kotlin):
&lt;/p&gt;



&lt;pre class=&quot;prettyprint&quot;&gt;adView.setAdSize(AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, 360))
&lt;/pre&gt;


&lt;p&gt;
New usage (Kotlin):
&lt;/p&gt;



&lt;pre class=&quot;prettyprint&quot;&gt;adView.setAdSize(AdSize.getLargeAnchoredAdaptiveBannerAdSize(this, 360))
&lt;/pre&gt;


&lt;h3&gt;Breaking Changes and Removals&lt;/h3&gt;


&lt;p&gt;
Version 25.0.0 is a major version with breaking changes that primarily impact mediation adapters and custom events.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;API Removals:&lt;/strong&gt;
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;The &lt;code&gt;VersionInfo&lt;/code&gt; class in the &lt;code&gt;com.google.android.gms.ads.mediation&lt;/code&gt; package has been removed. Use &lt;code&gt;com.google.android.gms.ads.VersionInfo&lt;/code&gt; instead.
&lt;li&gt;The deprecated &lt;code&gt;getConfiguration()&lt;/code&gt; method in the &lt;code&gt;RtbSignalData&lt;/code&gt; class has been removed. Developers should migrate to using &lt;code&gt;getConfigurations()&lt;/code&gt; instead.
&lt;li&gt;The deprecated &lt;code&gt;onFailure(String)&lt;/code&gt; and &lt;code&gt;onAdFailedToShow(String)&lt;/code&gt; methods have been removed from the following callback classes: &lt;ul&gt;

 &lt;li&gt;&lt;code&gt;SignalCallbacks&lt;/code&gt;
 &lt;li&gt;&lt;code&gt;MediationAdLoadCallback&lt;/code&gt;
 &lt;li&gt;&lt;code&gt;MediationInterstitialAdCallback&lt;/code&gt;
 &lt;li&gt;&lt;code&gt;MediationRewardedAdCallback&lt;br&gt;&lt;/code&gt;The replacement methods are &lt;code&gt;onFailure(AdError)&lt;/code&gt; and &lt;code&gt;onAdFailedToShow(AdError)&lt;/code&gt;.
&lt;li&gt;The &lt;code&gt;NativeAdViewHolder&lt;/code&gt; class has been removed from the &lt;code&gt;com.google.android.gms.ads.nativead&lt;/code&gt; package.&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
For the full list of changes, please refer to the &lt;a href=&quot;https://developers.google.com/admob/android/rel-notes&quot;&gt;release notes&lt;/a&gt;. We strongly encourage you to review our &lt;a href=&quot;https://developers.devsite.corp.google.com/admob/android/migration#migrate-to-v25&quot;&gt;migration guide&lt;/a&gt; to ensure your mobile apps are ready to upgrade.
&lt;/p&gt;
&lt;h2&gt;SDK Deprecation Reminder&lt;/h2&gt;


&lt;p&gt;
Per the &lt;a href=&quot;https://developers.google.com/admob/android/deprecation&quot;&gt;deprecation schedule&lt;/a&gt;, the release of version 25.0.0 means that:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;Android Google Mobile Ads SDK versions 23.0.0 - 23.6.0 are officially deprecated.
&lt;li&gt;Android versions 22.0.0 - 22.6.0 will &lt;a href=&quot;https://developers.google.com/admob/android/deprecation#differences&quot;&gt;sunset&lt;/a&gt; on June 30, 2026.&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
We strongly recommend updating to a supported SDK version to avoid any disruption in ad serving and to benefit from the latest SDK features and fixes.
&lt;/p&gt;
&lt;p&gt;
To comment on this blog post or engage with fellow developers, join the &lt;a href=&quot;goo.gle/google-admob-discord&quot;&gt;Google Mobile Ads SDK Discord channel&lt;/a&gt; and share your thoughts.
&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-/ALV-UjWRA3ehmapl8dFDwnkr5yRMRLRVm9jhg3MDKNWtBst8iTKvLi8=s128-p-k-rw-no&quot; style=&quot;vertical-align:middle; border:none;&quot;&gt;&amp;nbsp;-&amp;nbsp;Jason Chiu, 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/1758861915450773408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/1758861915450773408'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/02/announcing-android-google-mobile-ads.html' title='Announcing Android Google Mobile Ads SDK 25.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><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh3.googleusercontent.com/a-/ALV-UjWRA3ehmapl8dFDwnkr5yRMRLRVm9jhg3MDKNWtBst8iTKvLi8=s72-c-p-k-rw-no" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-5039289073373018001</id><published>2026-02-17T14:00:00.000-08:00</published><updated>2026-02-17T14:00:31.899-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="audiences"/><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="dv360_api"/><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><title type='text'>Announcing user list management and enhanced audience ingestion for the Data Manager API</title><content type='html'>&lt;p&gt;
We&#39;re excited to announce the &lt;a href=&quot;https://developers.google.com/data-manager/api/reference#2026-02-17_v15&quot;&gt;release of v1.5 of the Data Manager API&lt;/a&gt;, delivering a more comprehensive platform for data management. This update introduces powerful new capabilities for managing user lists alongside expanded options for audience member ingestion.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;End to end user list management&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
The &lt;a href=&quot;https://developers.google.com/data-manager/api/reference/rpc/google.ads.datamanager.v1#userlistservice&quot;&gt;UserListService&lt;/a&gt; now allows you to oversee the lifecycle of your user lists entirely through the Data Manager API. It provides core resource management operations such as create, retrieve, update, and delete methods for &lt;a href=&quot;https://developers.google.com/data-manager/api/reference/rpc/google.ads.datamanager.v1#userlist&quot;&gt;UserLists&lt;/a&gt;, enabling full control over your audience management workflows.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Partner links&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
The introduction of the &lt;a href=&quot;https://developers.google.com/data-manager/api/reference/rpc/google.ads.datamanager.v1#partnerlinkservice&quot;&gt;PartnerLinkService&lt;/a&gt; provides a secure way to manage connections between advertiser and data partner accounts across Google Ads and Display &amp; Video 360.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Expanded audience member identifiers&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
The Data Manager API now supports additional user identifiers for audience ingestion. You can now upload &lt;a href=&quot;https://developers.google.com/data-manager/api/reference/rest/v1/AudienceMember#useriddata&quot;&gt;User IDs&lt;/a&gt;, which can be used for &lt;a href=&quot;https://developers.google.com/data-manager/api/devguides/audiences/google-ads/customer-match&quot;&gt;Customer Match&lt;/a&gt; in Google Ads. 
&lt;/p&gt;
&lt;p&gt;
We’ve also integrated status reporting specific to User ID when you &lt;a href=&quot;https://developers.google.com/data-manager/api/devguides/diagnostics&quot;&gt;retrieve diagnostics&lt;/a&gt; for your ingestion requests. These updates make it easier to monitor User ID ingestion and quickly identify any issues.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Get started&lt;/strong&gt;
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;Check out these Customer Match guides for a step-by-step walkthrough on how to create, populate, and verify audiences using the Data Manager API: 
  &lt;ul&gt;

   &lt;li&gt;&lt;a href=&quot;https://developers.google.com/data-manager/api/devguides/audiences/google-ads/customer-match&quot;&gt;Google Ads API Customer Match&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;&lt;a href=&quot;https://developers.google.com/data-manager/api/devguides/audiences/display-video/customer-match&quot;&gt;Display &amp; Video 360 API Customer Match&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;/li&gt;
&lt;li&gt;Use the following guides to upgrade your existing Customer Match 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/audiences/google-ads/customer-match/upgrade&quot;&gt;Upgrade from the Google Ads API&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href=&quot;https://developers.google.com/data-manager/api/devguides/audiences/display-video/customer-match/upgrade&quot;&gt;Upgrade from the Display &amp; Video 360 API&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;/li&gt;
&lt;li&gt;Learn how to manage connections with data partners using the &lt;a href=&quot;https://developers.google.com/data-manager/api/devguides/accounts/partner-links&quot;&gt;Partner links guides&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
If you have questions or need help, contact us through the &lt;a href=&quot;https://developers.google.com/data-manager/api/support/contact&quot;&gt;support page&lt;/a&gt;. 
&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&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/5039289073373018001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/5039289073373018001'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/02/announcing-user-list-management-and.html' title='Announcing user list management and enhanced audience ingestion for the Data Manager 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-712718262054969306</id><published>2026-02-06T15:22:00.000-08:00</published><updated>2026-02-06T15:22:31.349-08: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="iOS"/><category scheme="http://www.blogger.com/atom/ns#" term="mobile_ads_sdk"/><category scheme="http://www.blogger.com/atom/ns#" term="release"/><title type='text'>Announcing iOS Google Mobile Ads SDK Version 13.0.0</title><content type='html'>&lt;p&gt;
Version 13.0.0 of the Google Mobile Ads SDK for iOS is now available. We recommend upgrading as soon as possible to take advantage of the latest features, performance improvements, and API updates.
&lt;/p&gt;
&lt;h3&gt;Updates in Version 13.0.0&lt;/h3&gt;

&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;Increased minimum deployment target:&lt;/strong&gt; The minimum supported iOS deployment target has been raised to iOS 13.
&lt;li&gt;&lt;strong&gt;Unlock better performance with new banner ad sizes:&lt;/strong&gt; To better align with modern mobile devices, we are introducing the Large Adaptive Anchor API (e.g. &lt;a href=&quot;https://developers.google.com/admob/ios/api/reference/Functions#gadlargeanchoredadaptivebanneradsizewithwidth&quot;&gt;largeAnchoredAdaptiveBanner&lt;/a&gt;). This update focuses solely on the sizing logic within adaptive anchor banners. While individual results may vary, larger ads are designed to increase engagement and revenue potential for publishers. The previous anchored adaptive APIs (e.g. &lt;a href=&quot;https://developers.google.com/admob/ios/api/reference/Functions#gadcurrentorientationanchoredadaptivebanneradsizewithwidth&quot;&gt;currentOrientationAnchoredAdaptiveBanner&lt;/a&gt;) are now deprecated in favor of the new large anchored adaptive banner approach. For more API details, see the migration guide.

  &lt;p&gt;
    &lt;em&gt;Old usage (Swift):&lt;/em&gt;
  &lt;/p&gt;

  &lt;pre class=&quot;prettyprint&quot;&gt;bannerView.adSize =
    currentOrientationAnchoredAdaptiveBanner(width: 375)&lt;/pre&gt;

  &lt;p&gt;
    &lt;em&gt;New usage (Swift):&lt;/em&gt;
  &lt;/p&gt;

  &lt;pre class=&quot;prettyprint&quot;&gt;bannerView.adSize = largeAnchoredAdaptiveBanner(width: 375)&lt;/pre&gt;
&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Swift 6 concurrency support:&lt;/strong&gt; This release continues to enhance support for Swift 6 strict concurrency, such as updating our delegate methods to only be accessed on the main thread.
&lt;li&gt;&lt;strong&gt;Stricter type enforcement:&lt;/strong&gt; The SDK will now raise an exception if any object that is not a &lt;code&gt;String&lt;/code&gt; type is detected in the &lt;code&gt;neighboringContentURLStrings&lt;/code&gt; array, ensuring better type safety.&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
For the full list of changes, please refer to the&lt;a href=&quot;https://developers.google.com/admob/ios/rel-notes&quot;&gt; release notes&lt;/a&gt;. We strongly encourage you to review our &lt;a href=&quot;https://developers.google.com/admob/ios/migration#migrate-to-sdk-v13&quot;&gt;migration guide&lt;/a&gt; to ensure your mobile apps are ready to upgrade.
&lt;/p&gt;
&lt;h3&gt;SDK Deprecation Reminder&lt;/h3&gt;


&lt;p&gt;
Per the&lt;a href=&quot;https://developers.google.com/admob/ios/deprecation&quot;&gt; deprecation schedule&lt;/a&gt;, the release of version 13.0.0 means that:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;iOS Google Mobile Ads SDK versions 11.x.x are now officially deprecated.
&lt;li&gt;Version 10.x.x will &lt;a href=&quot;https://developers.google.com/admob/ios/deprecation#differences&quot;&gt;sunset&lt;/a&gt; on June 30, 2026.&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
We strongly recommend updating to a supported SDK version to avoid any disruption in ad serving and to benefit from the latest SDK features and fixes.
&lt;/p&gt;
&lt;p&gt;
To comment on this blog post or engage with fellow developers, join the &lt;a href=&quot;https://discord.com/invite/gwAPc7QqgE&quot;&gt;Google Mobile Ads SDK Discord channel&lt;/a&gt; and share your thoughts. 
&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/712718262054969306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/712718262054969306'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/02/announcing-ios-google-mobile-ads-sdk.html' title='Announcing iOS Google Mobile Ads SDK Version 13.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><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-1983166420152016045</id><published>2026-02-06T13:15:00.000-08:00</published><updated>2026-02-06T13:15:26.663-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google_ads_api"/><title type='text'>An update on Google Ads API developer token access applications</title><content type='html'>&lt;p&gt;
With the recent release of &lt;a href=&quot;https://ads-developers.googleblog.com/2025/10/explorer-access-is-now-available-for.html&quot;&gt;Explorer Access for the Google Ads API&lt;/a&gt;, &lt;a href=&quot;https://developers.google.com/google-ads/api/docs/developer-toolkit/mcp-server&quot;&gt;Google Ads API MCP server&lt;/a&gt; and the &lt;a href=&quot;https://developers.google.com/google-ads/api/docs/developer-toolkit/ai-assistant&quot;&gt;Google Ads API Developer Assistant&lt;/a&gt;, we are seeing significant interest in the developer community for Google Ads API access, and are receiving an increase in developer token access applications. As a result, there is also an increased delay on reviews for these applications.
&lt;/p&gt;
&lt;p&gt;
We have heard from the developer community that the applications for developer token access levels are taking longer than usual. We are aware of this issue, and have added additional reviewers to process the applications and clear the backlog. We have fast-tracked some applications, so some of you should already start seeing your applications getting approved.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;If you have &lt;a href=&quot;https://developers.google.com/google-ads/api/docs/api-policy/access-levels#explorer-access&quot;&gt;Explorer Access&lt;/a&gt;&lt;/strong&gt;, continue to use it if it meets your needs, as it provides the same campaign management and reporting features as Basic and Standard levels.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Upgrade to Basic Access only if:&lt;/strong&gt;
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;You consistently exceed your daily quota.
&lt;li&gt;You are planning for growth and expect you will exceed quotas.
&lt;li&gt;You are blocked by features unavailable in your current Access Level (Test or Explorer). &lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
&lt;strong&gt;How can I support the progress of my application?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
If you have an ongoing Basic Access application, regardless of whether you currently have &lt;a href=&quot;https://developers.google.com/google-ads/api/docs/api-policy/access-levels#test-account-access&quot;&gt;Test Account Access&lt;/a&gt; or &lt;a href=&quot;https://developers.google.com/google-ads/api/docs/api-policy/access-levels#explorer-access&quot;&gt;Explorer Access&lt;/a&gt;, you can take the following actions to help us move your application forward with fewer requests for additional information:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;Ensure that the accounts you plan to manage are listed as children under the Google Ads Manager account from which you signed up for the developer token, when possible.
&lt;li&gt;Complete &lt;a href=&quot;https://support.google.com/adspolicy/answer/9703665&quot;&gt;advertiser verification&lt;/a&gt; for one or more accounts under the Google Ads Manager account from which you signed up for the developer token. If you already have verified accounts under a different Manager account, you may link those accounts under the API Manager account instead.
&lt;li&gt;If you are using other Google APIs and have completed the &lt;a href=&quot;https://support.google.com/cloud/answer/13463073&quot;&gt;OAuth App verification process&lt;/a&gt; for your Google Cloud project in the past, then update your Basic Access application to include the Google Cloud project number. If you have a new Google Cloud project, consider completing the &lt;a href=&quot;https://support.google.com/cloud/answer/13463073&quot;&gt;OAuth App verification process&lt;/a&gt; and sharing the project number with the review team. 
&lt;li&gt;Update your Basic Access application with clear, specific details of your use case, including why your current level of access doesn’t meet your needs. Your explanation should be a few sentences long, that helps us understand both your business, and your API use case. We will reject applications that are unclear.
&lt;/ul&gt;


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

&lt;p&gt;&lt;span class=&quot;byline-author&quot;&gt;&lt;a 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 href=&quot;https://g.dev/anash&quot; rel=&quot;author&quot;&gt;Anash P. Oommen&lt;/a&gt;, on behalf of the 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/1983166420152016045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/1983166420152016045'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/02/an-update-on-google-ads-api-developer.html' title='An update on Google Ads API developer token access applications'/><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-7500226621820953672</id><published>2026-01-29T15:41:00.000-08:00</published><updated>2026-01-29T15:41:23.954-08: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="android"/><category scheme="http://www.blogger.com/atom/ns#" term="gma_next_gen_sdk"/><category scheme="http://www.blogger.com/atom/ns#" term="mobile_ads_sdk"/><category scheme="http://www.blogger.com/atom/ns#" term="release"/><title type='text'>Announcing the Google Mobile Ads Next-Gen SDK for Android</title><content type='html'>&lt;p&gt;
We are announcing the Google Mobile Ads (GMA) Next-Gen SDK for Android, a significant rewrite of the Google Mobile Ads SDK that prioritizes speed, stability, and an improved developer experience. See the developer guides to get started today (&lt;a href=&quot;https://developers.google.com/admob/android/next-gen/quick-start&quot;&gt;AdMob&lt;/a&gt; | &lt;a href=&quot;https://developers.google.com/ad-manager/mobile-ads-sdk/android/next-gen/quick-start&quot;&gt;Ad Manager&lt;/a&gt;).
&lt;/p&gt;
&lt;p&gt;
Currently available in &lt;strong&gt;Open Beta&lt;/strong&gt;, the GMA Next-Gen SDK is scheduled for General Availability (GA) in July 2026. We encourage you to explore the new SDK and its potential benefits for your applications.
&lt;/p&gt;

&lt;h2&gt;Advantages of the GMA Next-Gen SDK&lt;/h2&gt;

&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;Improved Performance:&lt;/strong&gt; Benefit from notable reductions in ad request latency. The new Google Mobile Ads SDK offers up to &lt;strong&gt;27% faster ad request latency for banner ads&lt;/strong&gt; than our previous version&lt;sup&gt;1&lt;/sup&gt;. The new SDK also features background initialization to minimize impact on application startup times.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reduced Application Size:&lt;/strong&gt; The new Google Mobile Ads SDK file size is up to &lt;strong&gt;17% smaller&lt;/strong&gt; than our previous version&lt;sup&gt;2&lt;/sup&gt;. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Modern Language Support:&lt;/strong&gt; Developed in Kotlin, the SDK provides idiomatic APIs for developers working in both Kotlin and Java.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Faster Release Cycles:&lt;/strong&gt; The GMA Next-Gen SDK benefits from a more frequent and regular release schedule, providing quicker access to new features and bug fixes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Comprehensive Feature Support:&lt;/strong&gt; Continues to use all existing Google Mobile Ads formats and features within your applications.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Early adoption successes&lt;/h2&gt;
&lt;p&gt;
Publishers participating in the beta program have reported positive outcomes compared to the previous SDK:
&lt;/p&gt;&lt;ul&gt;

  &lt;li&gt;50% increase in Average Revenue Per User (ARPU).&lt;/li&gt;
&lt;li&gt;91.5% uplift in Average Revenue Per Daily Active User (ARPDAU).&lt;/li&gt;
&lt;li&gt;1/3 reduction in ANR rate and a 50% reduction in slow cold starts.&lt;/li&gt;
&lt;li&gt;16% increase in fill rate.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Further details on these outcomes can be found in the&lt;a href=&quot;https://support.google.com/admob/answer/16722481?hl=en&quot;&gt; GMA Next-Gen SDK success stories&lt;/a&gt;.
&lt;/p&gt;

&lt;h2&gt;Live events&lt;/h2&gt;

&lt;p&gt;
The following upcoming live events are encouraged for those interested in the GMA Next-Gen SDK:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;Introductory webinar&lt;/strong&gt;: An overview focused on the advantages of the GMA Next-Gen SDK and best practices for implementation. &lt;ul&gt;

 &lt;li&gt;&lt;strong&gt;EMEA/APAC session: &lt;/strong&gt;Live webinar broadcasted on&lt;strong&gt; February 19th&lt;/strong&gt;. (&lt;a href=&quot;https://publishersonair.withgoogle.com/events/en-gma-next-gen-sdk-2026-q1&quot;&gt;Register&lt;/a&gt;) 
 &lt;li&gt;&lt;strong&gt;AMER session&lt;/strong&gt;:&lt;strong&gt; &lt;/strong&gt;Live viewing of recording on &lt;strong&gt;February 24th&lt;/strong&gt;. (&lt;a href=&quot;https://publishersonair.withgoogle.com/events/en-gma-next-gen-sdk-2026-q1&quot;&gt;Register&lt;/a&gt;)
&lt;li&gt;&lt;strong&gt;February 26th - Discord technical overview session&lt;/strong&gt;: A technical introduction of the GMA Next-Gen SDK specifically for developers. Register (&lt;a href=&quot;https://discord.com/invite/dFqQbB7ETF?event=1466120275027431609&quot;&gt;Accept Invite&lt;/a&gt;)
&lt;li&gt;&lt;strong&gt;March 4th - Discord banner migration live coding session&lt;/strong&gt;: A practical demonstration of migrating banner ads from the previous SDK to the GMA Next-Gen SDK. Register (&lt;a href=&quot;https://discord.com/invite/dFqQbB7ETF?event=1466121296722268180&quot;&gt;Accept Invite&lt;/a&gt;)
&lt;li&gt;&lt;strong&gt;March 11th - Migration hackathon&lt;/strong&gt;: AI-Based migration to the GMA Next-Gen SDK with a dedicated MCP server and vibe coding. If interested, please reach out to your Google account manager.&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Implementation resources&lt;/h2&gt;
&lt;p&gt;
Get started with these Next-Gen SDK resources:
&lt;/p&gt;&lt;ol&gt;

&lt;li&gt;&lt;strong&gt;Integration guide:&lt;/strong&gt; The latest version and setup instructions are available in our GMA Next-Gen SDK Get Started guide (&lt;a href=&quot;https://developers.google.com/admob/android/next-gen/quick-start&quot;&gt;AdMob&lt;/a&gt; | &lt;a href=&quot;https://developers.google.com/ad-manager/mobile-ads-sdk/android/next-gen/quick-start&quot;&gt;Ad Manager&lt;/a&gt;).
&lt;li&gt;&lt;strong&gt;Migration guide: &lt;/strong&gt;Instructions to migrate to the GMA-Next Gen SDK (&lt;a href=&quot;https://developers.google.com/admob/android/next-gen/migration/benefits&quot;&gt;AdMob&lt;/a&gt; | &lt;a href=&quot;https://developers.google.com/ad-manager/mobile-ads-sdk/android/next-gen/migration/benefits&quot;&gt;Ad Manager&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Developer samples:&lt;/strong&gt; Example applications demonstrating SDK usage are available in our &lt;a href=&quot;https://github.com/googleads/gma-next-gen-sdk-android-examples&quot;&gt;GitHub&lt;/a&gt; repository.
&lt;li&gt;&lt;strong&gt;Introduction video:&lt;/strong&gt; For an overview of the SDK&#39;s benefits, please watch our &lt;a href=&quot;https://www.youtube.com/watch?v=giwn21KeYoQ&quot;&gt;introductory video&lt;/a&gt;.&lt;/li&gt;&lt;/ol&gt;

&lt;p&gt;
We invite you to integrate the Google Mobile Ads Next-Gen SDK and discover the performance and stability enhancements it can bring to your Android applications.
&lt;/p&gt;
&lt;p&gt;
If you have any questions or need additional help, please join the &lt;a href=&quot;https://discord.com/invite/gwAPc7QqgE&quot;&gt;GMA Next-Gen SDK&lt;/a&gt; channel to share your thoughts and get in contact with the team.
&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;

  &lt;p&gt;&lt;i&gt;&lt;sup&gt;1&lt;/sup&gt;
     Google Internal Data, Latency Measurement for Banner Ads, Google Mobile Ads SDK vs.
    New Google Mobile Ads SDK, August 21, 2025 to September 3, 2025.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;&lt;sup&gt;2&lt;/sup&gt;
    Google Internal Data, Increase to app file size when adding the SDK, Google Mobile
  Ads SDK vs. new Google Mobile Ads SDK, September 29, 2025.&lt;/i&gt;
&lt;/p&gt;

</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/7500226621820953672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/7500226621820953672'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/01/announcing-google-mobile-ads-next-gen.html' title='Announcing the Google Mobile Ads Next-Gen SDK for Android'/><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-5738268624211660199</id><published>2026-01-29T08:25:00.000-08:00</published><updated>2026-01-29T08:25:19.868-08: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="Performance Max"/><category scheme="http://www.blogger.com/atom/ns#" term="performance_max"/><category scheme="http://www.blogger.com/atom/ns#" term="PMax"/><title type='text'>Introducing Channel-Level Reporting for Performance Max campaigns</title><content type='html'>&lt;p&gt;
Following yesterday&#39;s launch of Google Ads API v23, we are excited to share more details about one of the most highly requested features: Channel-level reporting for Performance Max campaigns.
&lt;/p&gt;
&lt;p&gt;
This update provides developers and advertisers with unprecedented transparency into where their Performance Max ads are serving, allowing for deeper optimization and more granular performance insights.
&lt;/p&gt;
&lt;h1&gt;Greater transparency with channel breakdowns&lt;/h1&gt;


&lt;p&gt;
Starting with v23, you can now retrieve performance data broken down by channel—such as Google Search, Search Partners, GMail, YouTube, Display, Discover, and Maps. This functionality is available at the &lt;a href=&quot;https://developers.google.com/google-ads/api/fields/v23/campaign&quot;&gt;campaign&lt;/a&gt;, &lt;a href=&quot;https://developers.google.com/google-ads/api/fields/v23/asset_group&quot;&gt;asset group&lt;/a&gt; and &lt;a href=&quot;https://developers.google.com/google-ads/api/fields/v23/asset_group_asset&quot;&gt;asset&lt;/a&gt; level, allowing you to see how specific creative assets are performing across different environments. 
&lt;/p&gt;
&lt;p&gt;
In previous versions of the API, using the &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/AdNetworkTypeEnum.AdNetworkType&quot;&gt;ad_network_type&lt;/a&gt;&lt;/code&gt; segment for Performance Max campaigns typically returned a &lt;code&gt;MIXED&lt;/code&gt; enum value. With the release of v23, the API will now return the specific channel breakdowns.

&lt;p&gt;
&lt;strong&gt;Note for developers:&lt;/strong&gt; This is a significant change in behavior. When you upgrade your queries to v23, you will begin to see more detailed results than in previous versions. Please ensure your reporting systems are prepared to handle these specific enum values instead of the generic &lt;code&gt;MIXED&lt;/code&gt; result.
&lt;/p&gt;
&lt;h1&gt;Additional segments to consider&lt;/h1&gt;


&lt;p&gt;
While the channel breakdown is new to v23, it works in tandem with powerful segmentation fields introduced in v22: &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/fields/v23/segments#segments.ad_using_product_data&quot;&gt;ad_using_product_data&lt;/a&gt;&lt;/code&gt; and &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/fields/v23/segments#segments.ad_using_video&quot;&gt;ad_using_video&lt;/a&gt;&lt;/code&gt;.
&lt;ul&gt;

&lt;li&gt;&lt;code&gt;ad_using_product_data&lt;/code&gt;: Use this segment to distinguish performance between ads that utilize your Merchant Center product feed versus those that do not.
&lt;li&gt;&lt;code&gt;ad_using_video&lt;/code&gt;: This segment allows you to isolate performance data for ad impressions that included a video component.&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
By combining these segments with the new v23 channel reporting, you can now gain highly specific insights, such as understanding the conversion value of video-based ads specifically on the YouTube channel versus the Display Network. Or if you’re a retailer, use the ad_using_product_data segment to see data for Shopping ads for Search, Dynamic Remarketing ads for Display and video ads that showcase your products on YouTube.
&lt;/p&gt;
&lt;h1&gt;Implementation details&lt;/h1&gt;


&lt;p&gt;
To get started with these new reporting capabilities, you should update your client libraries to v23. You can find detailed technical documentation and example queries in our &lt;a href=&quot;https://developers.google.com/google-ads/api/performance-max/reporting&quot;&gt;PMax reporting guides&lt;/a&gt;.
&lt;/p&gt;
&lt;h3&gt;Important notes:&lt;/h3&gt;

&lt;ul&gt;

&lt;li&gt;Performance reports will only return channel-level data for dates on or after &lt;strong&gt;June 1, 2025&lt;/strong&gt;.
&lt;li&gt;While channel reporting is available at the campaign, asset group, and asset levels via the API, &lt;strong&gt;reporting at the asset group level is exclusive to the API&lt;/strong&gt; and will not be available in the Google Ads web interface.&lt;/li&gt;&lt;/ul&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&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;span class=&#39;byline-author&#39;&gt;&lt;img width=&quot;40&quot;  src=&quot;https://lh7-rt.googleusercontent.com/docsz/AD_4nXdDYS47mja8pe_IM-hrCgHsnVuaoyS4kL8iQ1iveLLFjSr9d8OZlC-_nhnArFhjrNnEJHdkDQ1JEhVjK--w5CuSJUQWsPVOGu_EN1Vt7mFIzUoLnCoEP9kdiy9GlKlVFbmH5DDxrw?key=XgMGBicd85cUz7m24hZMgg&quot; style=&quot;vertical-align: middle; border:none;&quot;/&gt;&amp;nbsp;-&amp;nbsp;Sarah Pollack, Google Ads API Team&lt;/span&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/5738268624211660199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/5738268624211660199'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/01/introducing-channel-level-reporting-for.html' title='Introducing Channel-Level Reporting for Performance Max campaigns'/><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://lh7-rt.googleusercontent.com/docsz/AD_4nXdDYS47mja8pe_IM-hrCgHsnVuaoyS4kL8iQ1iveLLFjSr9d8OZlC-_nhnArFhjrNnEJHdkDQ1JEhVjK--w5CuSJUQWsPVOGu_EN1Vt7mFIzUoLnCoEP9kdiy9GlKlVFbmH5DDxrw=s72-c?key=XgMGBicd85cUz7m24hZMgg" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-7815614485808579332.post-1840373351304553317</id><published>2026-01-28T15:21:00.000-08:00</published><updated>2026-01-28T15:21:07.771-08: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 v23 of the Google Ads API </title><content type='html'>
&lt;p&gt;
Today, we’re announcing the v23 release of the &lt;a href=&quot;https://developers.google.com/google-ads/api&quot;&gt;Google Ads API&lt;/a&gt;. This marks the first release of 2026 and the beginning of our move to a &lt;a href=&quot;https://ads-developers.googleblog.com/2025/09/more-frequent-releases-coming-for.html&quot;&gt;faster release cadence&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
To use some of the v23 features, you must upgrade your &lt;a href=&quot;https://developers.google.com/google-ads/api/docs/client-libs&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;
Here are some of the key features in this release:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;Enabled ad network type breakdown for Performance Max campaigns.
&lt;li&gt;&lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/InvoiceService#listinvoices&quot;&gt;InvoiceService.ListInvoices&lt;/a&gt;&lt;/code&gt; can now return more granular details in &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/Invoice&quot;&gt;Invoice&lt;/a&gt;&lt;/code&gt; including campaign-level cost breakdown, itemized regulatory costs, and adjustment information. To get these details, set &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/ListInvoicesRequest#include_granular_level_invoice_details&quot;&gt;include_granular_level_invoice_details&lt;/a&gt;&lt;/code&gt; in &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/ListInvoicesRequest&quot;&gt;ListInvoicesRequest&lt;/a&gt;&lt;/code&gt;.
&lt;li&gt;You can now specify start and end times for certain campaign types. The new fields &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/Campaign#start_date_time&quot;&gt;Campaign.start_date_time&lt;/a&gt;&lt;/code&gt; and &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/Campaign#end_date_time&quot;&gt;Campaign.end_date_time&lt;/a&gt;&lt;/code&gt; replace &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v22/Campaign#start_date&quot;&gt;Campaign.start_date&lt;/a&gt;&lt;/code&gt; and &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v22/Campaign#end_date&quot;&gt;Campaign.end_date&lt;/a&gt;&lt;/code&gt;, respectively.
&lt;li&gt;Store location details are now available in &lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/PerStoreView&quot;&gt;PerStoreView&lt;/a&gt;. You can retrieve the store location column shown in the Stores report via the API.
&lt;li&gt;Added a new &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/AudienceInsightsDimensionEnum.AudienceInsightsDimension#life_event_user_interest&quot;&gt;LIFE_EVENT_USER_INTEREST&lt;/a&gt;&lt;/code&gt; dimension. This allows users to build audiences using Life Events with &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/AudienceInsightsService#generateAudienceCompositionInsights&quot;&gt;AudienceInsightsService&lt;/a&gt;&lt;/code&gt; and &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v23/ContentCreatorInsightsService#generateCreatorInsights&quot;&gt;ContentCreatorInsightsService&lt;/a&gt;&lt;/code&gt;.
&lt;li&gt;The &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v22/ReachPlanService#generateconversionrates&quot;&gt;ReachPlanService.GenerateConversionRates&lt;/a&gt;&lt;/code&gt; response now includes surfaces, allowing for different conversion rate suggestions based on surface controls (for example, Gmail, Shorts). This is only supported for Demand Gen campaigns.
&lt;li&gt;Added a new &lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v22/AudienceInsightsService#generateAudienceDefinition&quot;&gt;AudienceInsightsService.GenerateAudienceDefinition&lt;/a&gt;&lt;/code&gt; method that lets you to translate a free text description of a target audience into matching audience attributes using generative AI.
&lt;li&gt;&lt;code&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v22/ShoppingPerformanceView&quot;&gt;ShoppingPerformanceView&lt;/a&gt;&lt;/code&gt; now supports new competitive metrics and conversion metrics segmented by conversion date.&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
&lt;strong&gt;Where can I learn more?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
The following resources can help you get started:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/docs/release-notes&quot;&gt;Release Notes&lt;/a&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/docs/upgrade&quot;&gt;Upgrade from a previous version&lt;/a&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/docs&quot;&gt;Guides&lt;/a&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/&quot;&gt;Reference&lt;/a&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/docs/diff&quot;&gt;Diff between v23 and v22&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
Come join us for a walkthrough of this release in our &lt;a href=&quot;https://discord.gg/8ZfJwf4M?event=1463213281895252101&quot;&gt;&quot;Google Ads API Release Highlights&quot; event on Discord&lt;/a&gt; on January 29th at 11am ET.  If you have any questions or want to discuss this post, reach out to us in the #ads-api channel there.
&lt;/p&gt;
&lt;p&gt;
For technical support issues, reach out to &lt;a href=&quot;https://support.google.com/google-ads/gethelp&quot;&gt;https://support.google.com/google-ads/gethelp&lt;/a&gt; 
&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;byline-author&quot;&gt;&lt;a 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 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/1840373351304553317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/1840373351304553317'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/01/announcing-v23-of-google-ads-api.html' title='Announcing v23 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-2415415877794236271</id><published>2026-01-26T07:59:00.000-08:00</published><updated>2026-01-26T07:59:31.359-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dfa_api"/><category scheme="http://www.blogger.com/atom/ns#" term="sunset"/><title type='text'>Campaign Manager 360 API v4 Sunset Reminder</title><content type='html'>
&lt;p&gt;
Campaign Manager 360 API v4 will be sunset on &lt;strong&gt;February 26, 2026&lt;/strong&gt;. Starting on this date, all v4 API requests will begin to fail. If you’re still using this version, we strongly encourage you to migrate to v5 as soon as possible to avoid service interruptions.
&lt;/p&gt;
&lt;p&gt;
See the &lt;a href=&quot;https://developers.google.com/doubleclick-advertisers/guides/migration&quot;&gt;migration guide&lt;/a&gt; for details on how to upgrade. In most cases, you will just need to upgrade to the latest version of your preferred &lt;a href=&quot;https://developers.google.com/doubleclick-advertisers/libraries&quot;&gt;client library&lt;/a&gt;. We also recommend reviewing the &lt;a href=&quot;https://developers.google.com/doubleclick-advertisers/rel_notes#version-5&quot;&gt;release notes&lt;/a&gt; for important changes that may affect your implementation.
&lt;/p&gt;
&lt;p&gt;
If you have questions, please contact &lt;a href=&quot;https://developers.google.com/doubleclick-advertisers/get-support&quot;&gt;Campaign Manager 360 API support&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 Campaign Manager 360 API Team&lt;/span&gt;

</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/2415415877794236271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/2415415877794236271'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/01/campaign-manager-360-api-v4-sunset.html' title='Campaign Manager 360 API v4 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><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-8404263659262399657</id><published>2026-01-21T10:14:00.000-08:00</published><updated>2026-01-21T10:14:56.491-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="deprecation"/><category scheme="http://www.blogger.com/atom/ns#" term="dv360_api"/><category scheme="http://www.blogger.com/atom/ns#" term="sdf"/><category scheme="http://www.blogger.com/atom/ns#" term="sunset"/><category scheme="http://www.blogger.com/atom/ns#" term="targeting"/><title type='text'>Campaign and Insertion Order targeting will sunset in Display &amp; Video 360 API and Structured Data Files on February 23, 2026</title><content type='html'>
&lt;p&gt;
In November, we &lt;a href=&quot;https://ads-developers.googleblog.com/2025/11/upcoming-changes-to-targeting-in.html&quot;&gt;announced the upcoming sunset of Campaign and Insertion Order targeting in the Display &amp; Video 360 API and Structured Data Files&lt;/a&gt;. This sunset will take place on &lt;strong&gt;February 23, 2026&lt;/strong&gt; to align with the removal of this targeting in the Display &amp; Video 360 UI.
&lt;/p&gt;
&lt;p&gt;
Starting February 23, 2026, you will see the following behavior when using the Display &amp; Video 360 API and Structured Data Files:
&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;API requests to methods that retrieve or manage &lt;code&gt;&lt;a href=&quot;https://developers.google.com/display-video/api/reference/rest/v4/advertisers.campaigns.targetingTypes.assignedTargetingOptions#AssignedTargetingOption&quot;&gt;AssignedTargetingOption&lt;/a&gt;&lt;/code&gt; resources directly under &lt;code&gt;&lt;a href=&quot;https://developers.google.com/display-video/api/reference/rest/current/advertisers.campaigns#Campaign&quot;&gt;Campaign&lt;/a&gt;&lt;/code&gt; or &lt;code&gt;&lt;a href=&quot;https://developers.google.com/display-video/api/reference/rest/current/advertisers.insertionOrders#InsertionOrder&quot;&gt;InsertionOrder&lt;/a&gt;&lt;/code&gt; resources will return a &lt;code&gt;404&lt;/code&gt; error.
&lt;li&gt;API requests to &lt;code&gt;&lt;a href=&quot;https://developers.google.com/display-video/api/reference/rest/current/advertisers.lineItems/generateDefault&quot;&gt;advertisers.lineItems.generateDefault&lt;/a&gt;&lt;/code&gt; will return a &lt;code&gt;404&lt;/code&gt; error.
&lt;li&gt;All targeting columns in &lt;a href=&quot;https://developers.google.com/display-video/api/structured-data-file/v9-2/Campaign&quot;&gt;Campaign&lt;/a&gt; and &lt;a href=&quot;https://developers.google.com/display-video/api/structured-data-file/v9-2/InsertionOrder&quot;&gt;Insertion Order&lt;/a&gt; SDFs will be empty upon file download and must be empty upon file upload. &lt;a href=&quot;https://developers.google.com/display-video/api/structured-data-file/v9-2/Campaign&quot;&gt;Campaign&lt;/a&gt; or &lt;a href=&quot;https://developers.google.com/display-video/api/structured-data-file/v9-2/InsertionOrder&quot;&gt;Insertion Order&lt;/a&gt; file entries with populated targeting columns will fail on upload. &lt;strong&gt;See our documentation for a &lt;a href=&quot;https://developers.google.com/display-video/api/deprecations#features.io_campaign_targeting&quot;&gt;full list of impacted columns&lt;/a&gt;.&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
Full details on these changes can be found on our &lt;a href=&quot;https://developers.google.com/display-video/api/deprecations#features.io_campaign_targeting&quot;&gt;Display &amp; Video 360 API deprecation announcements&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
If you need help with these new features, please contact us using our &lt;a href=&quot;https://developers.google.com/display-video/api/support/contact&quot;&gt;Display &amp; Video 360 API Technical support contact form&lt;/a&gt;.
&lt;/p&gt;

&lt;span class=&quot;byline-author&quot;&gt;&lt;img height=&quot;40&quot; src=&quot;https://lh7-us.googleusercontent.com/hO-Azjoudtcsd8tuH9II5w9-foNYaUm5GxpVcKXiVt8dBx9vKmyGE0HvnhTLKDpzlFtDCZlTs9J4jVODoI3bsaP79Ei6DWj3ipds6n4tK6TIylaHqP-qa9frGM4FeUa2RA4vQzLaGaTyjZG_vsBvb7g4rHBsK80pv72YUznZdyHmpP9ttSOimkv-0XS-ADQ&quot; style=&quot;border: none; vertical-align: middle;&quot; width=&quot;40&quot; /&gt; - Trevor Mulchay, Display &amp;amp; Video 360 API Team&lt;/span&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/8404263659262399657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/8404263659262399657'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/01/campaign-and-insertion-order-targeting.html' title='Campaign and Insertion Order targeting will sunset in Display &amp; Video 360 API and Structured Data Files on February 23, 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-4545440789912225285</id><published>2026-01-07T08:31:00.000-08:00</published><updated>2026-01-07T08:31:54.235-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="conversion"/><category scheme="http://www.blogger.com/atom/ns#" term="conversions"/><category scheme="http://www.blogger.com/atom/ns#" term="data_manager_api"/><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 IP Address and Session Attribute Support in the Google Ads API</title><content type='html'>&lt;p&gt;
Starting on February 2, 2026, the Google Ads API will no longer accept new adopters of &lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v22/ClickConversion#session_attributes&quot;&gt;session attributes&lt;/a&gt; or &lt;a href=&quot;https://developers.google.com/google-ads/api/reference/rpc/v22/ClickConversion#user_ip_address&quot;&gt;IP address&lt;/a&gt; data as part of &lt;a href=&quot;https://developers.google.com/google-ads/api/docs/conversions/upload-offline&quot;&gt;conversion imports&lt;/a&gt;. To ensure a more robust and scalable experience for handling complex data, we recommend that Google Ads API developers transition to the &lt;a href=&quot;https://developers.google.com/data-manager/api&quot;&gt;Data Manager API&lt;/a&gt; - where &lt;a href=&quot;https://developers.google.com/data-manager/api/devguides/events/send-events#session_attributes&quot;&gt;session attributes&lt;/a&gt; and IP address &lt;em&gt;are&lt;/em&gt; accepted - as their primary conversion and user data import API.
&lt;/p&gt;
&lt;p&gt;
Developers who have already adopted session attributes or IP addresses in their click conversion imports can continue importing that data using the Google Ads API until they’ve moved their conversion imports over to 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 href=&quot;https://developers.google.com/google-ads/api/docs/get-started/make-first-call#developer-token&quot;&gt;developer token&lt;/a&gt;.&lt;/li&gt;

&lt;li&gt;Once this change is rolled out, you may notice the error &lt;code&gt;CUSTOMER_NOT_ALLOWLISTED_FOR_THIS_FEATURE&lt;/code&gt; in the &lt;code&gt;partial_failure&lt;/code&gt; responses of your conversion import requests. This error indicates that the associated conversion was rejected due to the presence of session attributes and/or IP address.&lt;/li&gt;

&lt;li&gt;Resolve this error with these steps:
&lt;ul&gt;
 
&lt;li&gt;Temporarily remove session attributes and IP address from conversion import requests and continue importing conversions to the Google Ads API.&lt;/li&gt;
 
&lt;li&gt;Update your code to &lt;a href=&quot;https://developers.google.com/data-manager/api/devguides/events/send-events&quot;&gt;use the Data Manager API&lt;/a&gt; with session attributes and IP address.&lt;/li&gt;
 
&lt;li&gt;Discontinue conversion imports to the Google Ads API once you’re successfully making imports to the Data Manager API.&lt;/li&gt; 
&lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Reach out to the &lt;a href=&quot;https://developers.google.com/google-ads/api/support&quot;&gt;Google Ads API support&lt;/a&gt; or &lt;a href=&quot;https://developers.google.com/data-manager/api/support&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 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/4545440789912225285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/4545440789912225285'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2026/01/changes-to-ip-address-and-session.html' title='Changes to IP Address and Session Attribute 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-86967522934246461</id><published>2025-12-15T10:28:00.000-08:00</published><updated>2025-12-15T10:28:38.594-08: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 v19 sunset reminder</title><content type='html'>&lt;p&gt;Google Ads API v19 will &lt;a href=&quot;https://developers.google.com/google-ads/api/docs/sunset-dates&quot;&gt;sunset&lt;/a&gt; on February 11, 2026. Starting on this date, all v19 API requests will begin to fail. Migrate to a &lt;a href=&quot;https://developers.google.com/google-ads/api/docs/release-notes&quot;&gt;newer version&lt;/a&gt; prior to February 11, 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&quot;&gt;Upgrade to the newest version&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.google.com/google-ads/api/docs/release-notes&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/&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;
&lt;li&gt;Click &lt;strong&gt;Google Ads API&lt;/strong&gt; in the table.&lt;/li&gt;
&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;code&gt;
  google.ads.googleads.v19.services.GoogleAdsService.Mutate&lt;/code&gt;.
&lt;li&gt;(Optional) Choose the timeframe you want to view for your requests.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you have questions while you&#39;re upgrading, reach out to us at &lt;a href=&quot;mailto:googleadsapi-support@google.com&quot;&gt;googleadsapi-support@google.com&lt;/a&gt;. You can also discuss this post in our &lt;a href=&quot;https://goo.gle/ads-and-measurement-discord&quot;&gt;Google Advertising and Measurement Community&lt;/a&gt; Discord server.&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/86967522934246461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/86967522934246461'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2025/12/google-ads-api-v19-sunset-reminder.html' title='Google Ads API v19 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-2611124866747221624</id><published>2025-12-10T14:19:00.000-08:00</published><updated>2025-12-10T14:19:13.055-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ima_sdk"/><category scheme="http://www.blogger.com/atom/ns#" term="pal"/><title type='text'>Update your PAL integration for new limited ads behavior</title><content type='html'>&lt;p&gt;The Programmatic Access Library (PAL) is updating user privacy and data usage settings, and requires implementation updates as these changes go live. This update introduces the following changes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PAL reads Transparency &amp; Consent Framework (TCF) data from the device to determine user consent for local storage.&lt;/li&gt;
&lt;li&gt;Adds an optional &lt;code&gt;forceLimitedAds&lt;/code&gt; property to manually enable &lt;a href=&quot;https://support.google.com/admanager/answer/9882911&quot;&gt;limited ads&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Removes the functionality of the existing &lt;code&gt;allowStorage&lt;/code&gt; property.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The following diagram shows the new behavior:&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/AVvXsEi8qBs4ksT3hXMhFLmf5Y0hTF7mLA4m18WHFW_W3UfohB7r71KtVgpNL2r5Rhr_F0hYyuhyNIQXArJJaJn3JplkTxUdc-xRM3LY80xQq8a0F2eCYPZgbq8_g2ZcGXW4rogtkLxsqbTiX5xVvPxYJ7G3RGwrq45uEogq_KM4tE_OtzznTADcNHhXZE4drHc/s1130/pal-phase-1.png&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;1022&quot; data-original-width=&quot;1130&quot; style=&quot;margin: 0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8qBs4ksT3hXMhFLmf5Y0hTF7mLA4m18WHFW_W3UfohB7r71KtVgpNL2r5Rhr_F0hYyuhyNIQXArJJaJn3JplkTxUdc-xRM3LY80xQq8a0F2eCYPZgbq8_g2ZcGXW4rogtkLxsqbTiX5xVvPxYJ7G3RGwrq45uEogq_KM4tE_OtzznTADcNHhXZE4drHc/s600/pal-phase-1.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;

&lt;p&gt;PAL is changing to this behavior in the following releases:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTML5 v1.90.0, behavior change targeting &lt;strong&gt;March 10th, 2026&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Android v23.0.0&lt;/li&gt;
&lt;li&gt;iOS v3.0.0&lt;/li&gt;
&lt;li&gt;tvOS v3.0.0&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Starting in these versions, PAL uses Transparency &amp; Consent Framework (TCF) data from the device to determine user consent for local storage. If the automatic TCF based determination is insufficient, your app can directly set the &lt;code&gt;forceLimitedAds&lt;/code&gt; property. Setting the &lt;code&gt;forceLimitedAds&lt;/code&gt; property to a &lt;code&gt;true&lt;/code&gt; value enables limited ads.&lt;/p&gt;

&lt;p&gt;To keep the current behavior in your app, you might need to update your implementation. For details about the code changes, see the Limited ads and first party identifier settings guide for &lt;a href=&quot;https://developers.google.com/ad-manager/pal/html5/limited-ads-first-party-identifier-settings&quot;&gt;HTML5&lt;/a&gt;, &lt;a href=&quot;https://developers.google.com/ad-manager/pal/android/limited-ads-first-party-identifier-settings&quot;&gt;Android&lt;/a&gt;, &lt;a href=&quot;https://developers.google.com/ad-manager/pal/ios/limited-ads-first-party-identifier-settings&quot;&gt;iOS&lt;/a&gt;, or &lt;a href=&quot;https://developers.google.com/ad-manager/pal/tvos/limited-ads-first-party-identifier-settings&quot;&gt;tvOS&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Follow the PAL HTML5 migration plan&lt;/h3&gt;
&lt;p&gt;To prevent runtime errors, the HTML5 PAL SDK keeps the &lt;code&gt;allowStorage&lt;/code&gt; property. The &lt;code&gt;allowStorage&lt;/code&gt; property will be supported until &lt;strong&gt;March 10th, 2026&lt;/strong&gt;. The PAL HTML5 SDK observes the following behavior:&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/AVvXsEilf8Ak2KsjXP60OC-vYFhgl5eAL-B9duXfvMI-AhxU_SrGXtCGx6wPcyQffZOK_mWiQiFwc4aZey8zO5kexJX6onIlJq48LNQ6hG12V-5o1TfWZWFmxVUnfQvIdWig19W8EDdq1uhkr7s0D-IeS8fdDcD_xURZcdp03b6isCkpfNbgOLSkuvoFLgaweJI/s1570/pal-limitedads-march10.png&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;1222&quot; data-original-width=&quot;1570&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilf8Ak2KsjXP60OC-vYFhgl5eAL-B9duXfvMI-AhxU_SrGXtCGx6wPcyQffZOK_mWiQiFwc4aZey8zO5kexJX6onIlJq48LNQ6hG12V-5o1TfWZWFmxVUnfQvIdWig19W8EDdq1uhkr7s0D-IeS8fdDcD_xURZcdp03b6isCkpfNbgOLSkuvoFLgaweJI/s600/pal-limitedads-march10.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;

&lt;b&gt;What is changing?&lt;/b&gt;
&lt;p&gt;On &lt;strong&gt;March 10th, 2026&lt;/strong&gt;, PAL SDK ignores the &lt;code&gt;allowStorage&lt;/code&gt; property, and its value no longer influences limited ads behavior.&lt;/p&gt;

&lt;p&gt;To avoid breaking changes, do the following before &lt;strong&gt;March 10th, 2026&lt;/strong&gt;: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Always &lt;/strong&gt;set the &lt;code&gt;allowStorage&lt;/code&gt; property to a &lt;code&gt;true&lt;/code&gt; value.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Optionally&lt;/strong&gt;, you can force limited ads regardless of the TCF determination by setting the &lt;code&gt;forceLimitedAds&lt;/code&gt; property to a &lt;code&gt;true&lt;/code&gt; value.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For more details about the code changes you need to make for PAL HTML5, see &lt;a href=&quot;https://developers.google.com/ad-manager/pal/html5/limited-ads-first-party-identifier-settings&quot;&gt;Limited ads and first party identifier settings&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Give us your feedback&lt;/h3&gt;
&lt;p&gt;We intend these changes to provide transparency on user consent and privacy preferences. If you have questions about this update, please reach out to us via the &lt;a href=&quot;https://discord.gg/yjMeQd46gF&quot;&gt;Google Advertising and Measurement Community Discord Server&lt;/a&gt; in the &lt;strong&gt;#developers&lt;/strong&gt; channel under &lt;strong&gt;Google Ad Manager&lt;/strong&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://lh3.googleusercontent.com/a-/AAuE7mCuOE0ipL96v9WF_TDUZ-jVGrtltQwnw7C4-TyT=s120-p-rw-no?sz=40&quot; style=&quot;vertical-align:middle; border:none;&quot;&gt;&amp;nbsp;-&amp;nbsp;Jackson Sui, Interactive Media 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/2611124866747221624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7815614485808579332/posts/default/2611124866747221624'/><link rel='alternate' type='text/html' href='http://ads-developers.googleblog.com/2025/12/update-your-pal-integration-for-new.html' title='Update your PAL integration for new limited ads behavior'/><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/AVvXsEi8qBs4ksT3hXMhFLmf5Y0hTF7mLA4m18WHFW_W3UfohB7r71KtVgpNL2r5Rhr_F0hYyuhyNIQXArJJaJn3JplkTxUdc-xRM3LY80xQq8a0F2eCYPZgbq8_g2ZcGXW4rogtkLxsqbTiX5xVvPxYJ7G3RGwrq45uEogq_KM4tE_OtzznTADcNHhXZE4drHc/s72-c/pal-phase-1.png" height="72" width="72"/></entry></feed>