When I query image assets from the shared library, I get all assets of type IMAGE, even those that have been removed.
I need a way to identify which of the returned assets are active and which ones have been removed.
This is the query I’m using:
However, asset.status cannot be used in the WHERE clause because it’s not filterable, and I can’t find another field that indicates the asset state.
Question:
How can I determine whether each asset returned by this query is removed or active?
Is there any alternative field or resource I should use to get only non-removed assets?
Hi,
Thank you for contacting the Google Ads API support team.
Please note that assets are generally immutable and cannot be programmatically removed via the API. To stop an asset from serving, you must remove its association from the entity utilizing it. The AssetService exclusively supports create operations; once an asset is uploaded to an advertiser's account, it cannot be altered or deleted programmatically. Management of associations between individual assets and ads requires ad-level operations.
Please find the answers to your questions below.
How can I determine whether each asset returned by this query is removed or active?
As informed above, you must use ad-level operations to manage associations between individual assets and ads.
For assets associated with an ad, you should query the ad_group_ad_asset_view resource. This resource links an Ad Group Ad to an Asset and includes the asset's attributes.
Particularly, you can utilize the ad_group_ad_asset_view.enabled. This field gives the status between the asset and the latest version of the ad. If true, the asset is linked to the latest version of the ad. If false, it means the link once existed but has been removed and is no longer present in the latest version of the ad.
Is there any alternative field or resource I should use to get only non-removed assets?
You can query one or more of the following resources, depending on where the images are used. Each of these resources has a filterable status field that indicates the activity of the link.
The resources are asset_group_asset, campaign_asset, customer_asset. These resources have the particular fields: asset_group_asset.status, campaign_asset.status and customer_asset.status.
By using these association resources, you are effectively filtering out the "removed" (getting only non-removed) assets by applying the “ENABLED” enum field.
I hope it helps. Kindly get back to us if you have any further questions or concerns related to the Google Ads API.
![]() |
Google Ads API Team |
[2025-10-09 22:06:58Z GMT] This message is in relation to case "ref:!00D1U01174p.!500Ht01u8lUk:ref" (ADR-00335081)