Remove a Search keyword
Removes a single keyword or negative keyword from a Google Search ad group.
Removes one keyword criterion (positive or negative) from its ad group (M.140).
Authorization
bearerAuth API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.
In: header
Path Parameters
Zernio keyword ID (id), or Google's native {adSetId}~{platformCriterionId} (the tail of resourceName, e.g. 1234567890~987654321). A bare criterion id is rejected because it is only unique within its ad group.
Response Body
application/json
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.removeAdKeyword({ path: { keywordId: 'keyword_abc123', },});console.log(data);{ "removed": true, "keywordId": "string", "platformCriterionId": "string", "resourceName": "string", "campaignId": "string", "adSetId": "string"}Pause or enable a Search keyword
Pauses or re-enables a single Google Search keyword. Changes `ad_group_criterion.status` for one keyword criterion (M.140). Negative keywords have no status on Google and cannot be paused or enabled.
List campaign-level negative keywords
Lists the negative keywords set on a whole Google campaign, separate from ad group negatives. Returns the campaign-level negative keywords (`campaign_criterion.negative`), distinct from the ad-group-level negatives under `GET /v1/ads/keywords`. Cached for the quota window (not synced to Postgres), and gated by the shared Google Ads operations budget like every other on-demand Google surface. The response carries `cachedAt` and `stale`, set when a quota-exhausted call falls back to the last-good copy instead of a live read. The platform is always discovered from the campaign itself; a non-Google campaign returns 501 rather than 404, whether or not `platform` was passed.