
We’ve got a surprise Pixel Drop for you.

Google is deprecating the ad sharing functionality in Google Ads API.
This change will affect how ads are created and managed at scale, so it's crucial to understand the implications and prepare your systems accordingly. Let's break down what's happening, why it matters, and what you need to do.
In simple terms, "ad sharing" means creating one ad and using that exact same ad in multiple Ad Groups.
Instead of building identical ads over and over for each Ad Group, you build it once and link it everywhere you need it.
This change aligns with the movement to Asset-Based Ads. The future of Google Ads is centered around asset-based ad formats like Responsive Search Ads (RSAs) and Performance Max campaigns. In these formats, the "ad" is dynamically assembled from a pool of assets (headlines, descriptions, images), making the concept of a static, shareable ad object less efficient.
The timeline gives you ample time to adapt, but we strongly recommend starting the process now to avoid any disruption to your advertising operations. Follow these steps to ensure a smooth transition.
The first step is to determine if your application uses the ad sharing model.
Review your codebase, specifically any logic that interacts with the AdGroupAdService
. Look for any instances where you created an AdGroupAd
by pointing to an existing ad's resource name that is already in use in another ad group.
Your current, soon-to-be-deprecated logic might look something like this conceptually:
You must refactor your code to create a new, unique ad for every ad group. Instead of sharing an ad, your new workflow should be a loop that creates a distinct ad for each target ad group. You will no longer be able to create a standalone ad. Instead, you will specify the ad parameters as part of creating an AdGroup.
The new, compliant logic should look like this:
AdGroup_1
: ad for ad_group_1
.
AdGroup_2
: ad for ad_group_2
.Even if the ad copy is identical, the ads must be created as separate ad objects in the API.
If you still have legacy Expanded Text Ads (ETAs) serving that are shared, you must convert them to Responsive Search Ads and assign each shared instance to a single AdGroup.
When you stop sharing a single ad and start creating unique ads for each ad group, the performance history will be affected.
Important: Performance statistics (impressions, clicks, conversions) are tied to the unique ad. The new ads you create will start with zero performance history. The historical data from your old, shared ads will remain, but it will not be carried over to the new ads.
Be sure to communicate this to your team or clients. Plan to export and archive historical performance data before you make the switch to perform long-term, ad-level analysis.
First, you need a definitive list of all ads that are currently shared across more than one ad group.
SELECT ad_group_ad.ad.id, -- This is the unique ID of the 'Ad' itself ad_group.id, -- This is the unique ID of the 'AdGroup' ad_group_ad.status, ad_group_ad.ad.type, campaign.id, campaign.name, ad_group.name FROM ad_group_ad WHERE ad_group_ad.status IN ('ENABLED', 'PAUSED') ORDER BY ad_group_ad.ad.id, ad_group.id
If you find an ad_group_ad.ad.id
in your results whose associated collection of ad_group.ids
has more than one entry, it means that specific Ad (identified by ad_group_ad.ad.id
) is linked to multiple ad groups (each identified by a unique ad_group.id
in the collection).
If any ad_group.id
that is associated with more than one distinct ad_group.id
, then that Ad is considered "shared".
For each shared Ad you identified in Step 1, you need to retrieve two things:
For the core of the migration, loop through each ad group you identified in Step 2 and create a new ResponsiveSearchAd inside it.
Best Practice: If your shared ad is an Expanded Text Ad, don't just copy the 3 headlines and 2 descriptions. Use them as a starting point and add more assets. The power of ResponsiveSearchAds comes from having a deep pool of headlines and descriptions for Google to test. Aim for 5 short headlines, 1 long headline, and 5 descriptions.
Here is a quick summary of the ResponsiveSearchAds limits,
Asset Type | Maximum Allowed | Character Limit | Best Practices |
Short Headline | Up to 5 | 30 characters | Provide all 5 |
Long Headline | 1 | 90 characters | Always provide 1 |
Description | Up to 5 | 90 characters | Provide all 5 |
Here is a conceptual outline of the mutate
operation using AdGroupAdService
:
ad_group.resource_name
from your Step 2 results.
AdGroupAd
object.
ad_group
field to the current ad_group.resource_name
.
Ad
object within the AdGroupAd.
responsive_search_ad
field with your assets: AdTextAsset
objects for your headlines.
AdTextAsset
objects for your descriptions.
final_urls
, path1
, and path2
using the data from your old Ad.MutateAdGroupAds()
request.This process ensures that each ad group now has its own unique ResponsiveSearchAds, ready to be served.
Once your new ResponsiveSearchAds have been created and have passed the editorial review (status is ENABLED
), it's time to retire any shared ads.
We strongly encourage you to manually migrate your shared ads yourself
Phase 1: Starting 15 October 2025
Phase 2: Between 15 October 2025 and Q1 2026
Phase 3: In Q1 2026
We recommend consulting the official Google Ads API documentation and keeping an eye on the Google Ads Developer Blog for further details as the date approaches.
Start your audit today and share this post with your development team to ensure you are prepared for a seamless transition.
Automatic Process in Q1 2026
If you take no action, we will automatically separate your shared ads for you in the first quarter of 2026.
Here’s how our automated process will work:
If you have any questions, please contact us on the forum.
Google is deprecating the ad sharing functionality in Google Ads API.
This change will affect how ads are created and managed at scale, so it's crucial to understand the implications and prepare your systems accordingly. Let's break down what's happening, why it matters, and what you need to do.
In simple terms, "ad sharing" means creating one ad and using that exact same ad in multiple Ad Groups.
Instead of building identical ads over and over for each Ad Group, you build it once and link it everywhere you need it.
This change aligns with the movement to Asset-Based Ads. The future of Google Ads is centered around asset-based ad formats like Responsive Search Ads (RSAs) and Performance Max campaigns. In these formats, the "ad" is dynamically assembled from a pool of assets (headlines, descriptions, images), making the concept of a static, shareable ad object less efficient.
The timeline gives you ample time to adapt, but we strongly recommend starting the process now to avoid any disruption to your advertising operations. Follow these steps to ensure a smooth transition.
The first step is to determine if your application uses the ad sharing model.
Review your codebase, specifically any logic that interacts with the AdGroupAdService
. Look for any instances where you created an AdGroupAd
by pointing to an existing ad's resource name that is already in use in another ad group.
Your current, soon-to-be-deprecated logic might look something like this conceptually:
You must refactor your code to create a new, unique ad for every ad group. Instead of sharing an ad, your new workflow should be a loop that creates a distinct ad for each target ad group. You will no longer be able to create a standalone ad. Instead, you will specify the ad parameters as part of creating an AdGroup.
The new, compliant logic should look like this:
AdGroup_1
: ad for ad_group_1
.
AdGroup_2
: ad for ad_group_2
.Even if the ad copy is identical, the ads must be created as separate ad objects in the API.
If you still have legacy Expanded Text Ads (ETAs) serving that are shared, you must convert them to Responsive Search Ads and assign each shared instance to a single AdGroup.
When you stop sharing a single ad and start creating unique ads for each ad group, the performance history will be affected.
Important: Performance statistics (impressions, clicks, conversions) are tied to the unique ad. The new ads you create will start with zero performance history. The historical data from your old, shared ads will remain, but it will not be carried over to the new ads.
Be sure to communicate this to your team or clients. Plan to export and archive historical performance data before you make the switch to perform long-term, ad-level analysis.
First, you need a definitive list of all ads that are currently shared across more than one ad group.
SELECT ad_group_ad.ad.id, -- This is the unique ID of the 'Ad' itself ad_group.id, -- This is the unique ID of the 'AdGroup' ad_group_ad.status, ad_group_ad.ad.type, campaign.id, campaign.name, ad_group.name FROM ad_group_ad WHERE ad_group_ad.status IN ('ENABLED', 'PAUSED') ORDER BY ad_group_ad.ad.id, ad_group.id
If you find an ad_group_ad.ad.id
in your results whose associated collection of ad_group.ids
has more than one entry, it means that specific Ad (identified by ad_group_ad.ad.id
) is linked to multiple ad groups (each identified by a unique ad_group.id
in the collection).
If any ad_group.id
that is associated with more than one distinct ad_group.id
, then that Ad is considered "shared".
For each shared Ad you identified in Step 1, you need to retrieve two things:
For the core of the migration, loop through each ad group you identified in Step 2 and create a new ResponsiveSearchAd inside it.
Best Practice: If your shared ad is an Expanded Text Ad, don't just copy the 3 headlines and 2 descriptions. Use them as a starting point and add more assets. The power of ResponsiveSearchAds comes from having a deep pool of headlines and descriptions for Google to test. Aim for 5 short headlines, 1 long headline, and 5 descriptions.
Here is a quick summary of the ResponsiveSearchAds limits,
Asset Type | Maximum Allowed | Character Limit | Best Practices |
Short Headline | Up to 5 | 30 characters | Provide all 5 |
Long Headline | 1 | 90 characters | Always provide 1 |
Description | Up to 5 | 90 characters | Provide all 5 |
Here is a conceptual outline of the mutate
operation using AdGroupAdService
:
ad_group.resource_name
from your Step 2 results.
AdGroupAd
object.
ad_group
field to the current ad_group.resource_name
.
Ad
object within the AdGroupAd.
responsive_search_ad
field with your assets: AdTextAsset
objects for your headlines.
AdTextAsset
objects for your descriptions.
final_urls
, path1
, and path2
using the data from your old Ad.MutateAdGroupAds()
request.This process ensures that each ad group now has its own unique ResponsiveSearchAds, ready to be served.
Once your new ResponsiveSearchAds have been created and have passed the editorial review (status is ENABLED
), it's time to retire any shared ads.
We strongly encourage you to manually migrate your shared ads yourself
Phase 1: Starting 15 October 2025
Phase 2: Between 15 October 2025 and Q1 2026
Phase 3: In Q1 2026
We recommend consulting the official Google Ads API documentation and keeping an eye on the Google Ads Developer Blog for further details as the date approaches.
Start your audit today and share this post with your development team to ensure you are prepared for a seamless transition.
Automatic Process in Q1 2026
If you take no action, we will automatically separate your shared ads for you in the first quarter of 2026.
Here’s how our automated process will work:
If you have any questions, please contact us on the forum.
Hi everyone! We've just released Chrome Beta 139 (139.0.7258.30) for iOS; it'll become available on App Store in the next few days.
You can see a partial list of the changes in the Git log. If you find a new issue, please let us know by filing a bug.
Chrome Release Team
Google Chrome
Hi everyone! We've just released Chrome Beta 139 (139.0.7258.32) for Android. It's now available on Google Play.
You can see a partial list of the changes in the Git log. For details on new features, check out the Chromium blog, and for details on web platform updates, check here.
If you find a new issue, please let us know by filing a bug.
Chrome Release Team
Google Chrome