Remove campaign assets
Detaches assets from a Google campaign without deleting them, so they stay in the account and on anything else they are attached to.
Google assets cannot be deleted. Other attachments remain. assetResourceNames is retained for compatibility. Fields go in the query string. A JSON body with the same fields is also accepted and, when sent, the query string is ignored.
Authorization
bearerAuth API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.
In: header
Path Parameters
Numeric Google platform id.
^\d+$Query Parameters
Zernio Google Ads connection id.
^[a-fA-F0-9]{24}$Platform ad account ID (Google customer ID, digits only). Required when the connection has multiple customers.
^\d+$Alias of adAccountId, kept for existing callers
^\d+$Asset resource names, retained for compatibility. Repeat the parameter or pass a comma-separated list.
1 <= itemscampaign_asset resource names to remove, e.g. customers/1234567890/campaignAssets/456123CALLOUT. Repeat the parameter or pass a comma-separated list.
1 <= itemsResponse Body
application/json
application/json
application/json
application/json
application/json
import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.adcampaigns.removeCampaignAssets({ path: { campaignId: 'campaign_abc123', }, query: { accountId: 'account_abc123', assetResourceNames: [ 'Example', ], campaignAssetResourceNames: [ 'Example', ], },});console.log(data);{ "removed": true}Update campaign assets
Edits a Google campaign's existing assets, such as sitelinks or callouts, in place; the change applies everywhere that asset is used. Send updates with assetResourceName and the fields to change. An asset is shared: changes affect every attachment using it. Omitted fields stay unchanged. The operation consumes the Google operations budget and invalidates affected cached lists.
Read a Google campaign's device, location, excluded location, and language targeting
Shows a Google campaign's device, location, excluded location and language targeting so you can build an editor for it. Google Ads compliance requires geo, language, budget, and bidding targeting set at creation to stay editable afterwards; this reads the campaign state so an integrator can build an editor around it. Cached for the quota window (10 minutes fresh, up to 7 days last-good), not always a live read. Google only; every other platform returns 501. `devices` lists the device criteria the campaign carries, which depends on its channel: Search campaigns have MOBILE, DESKTOP and TABLET, Display campaigns also have CONNECTED_TV. `bidModifier` is Google's bid adjustment for that device, `null` when it has none, and `0` when the device is switched off; `included` is false for exactly that case. `excludedLocations` lists the campaign's negative location criteria (the places it never serves in). `locations` still lists every location criterion, each flagged with `negative`, so a client reading the targeted set filters `negative: false`.