Manage Google Ads keywords (adsap_google_manage_keywords)
Platform: Google Ads · Read or write: Write · Plan: All plans · Consumes a task: Yes · Preview supported: Yes
What it does
Manages Search keywords after a campaign exists. It adds up to 100 keywords or ad group negatives in one batch, adds campaign-level negative keywords, replaces one keyword’s text or match type, or removes a keyword. Ask for a preview first.
Parameters
Descriptions are shortened from the tool schema. Your assistant sees the full text.
| Name | Type | Required | Description |
|---|---|---|---|
op | one of add, add_negative, replace, remove | Yes | |
ad_account_id | string | Yes | Bare 10-digit Google Ads customer ID (from adsap_google_list_ad_accounts). No dashes, no act_ prefix. |
ad_group_id | string | No | op ‘add’ only: the EXISTING ad group to add keywords/negatives to. |
campaign_id | string | No | op ‘add_negative’ only: the campaign to add campaign-level negatives to. |
keywords | array of object | No | ops ‘add’ / ‘add_negative’: the keywords to create. For add_negative, cpc_bid/negative are not allowed (campaign keywords are negative by definition). |
keywords[].text | string | Yes | Keyword text, 80 chars max (Google limit). |
keywords[].match_type | one of EXACT, PHRASE, BROAD | Yes | |
keywords[].cpc_bid | number | No | Optional per-keyword max CPC in the ACCOUNT CURRENCY (e.g. 1.25). Only used when the campaign bids Manual CPC: automated strategies ignore it. Not allowed on negatives. |
keywords[].negative | boolean | No | true = ad-group-level NEGATIVE (blocks matching queries in this ad group). op ‘add’ only. |
keyword_id | string | No | ops ‘replace’ / ‘remove’: the ad-group keyword as “<ad_group_id>:<criterion_id>”. |
campaign_negative_id | string | No | op ‘remove’ only: a campaign-level negative as “<campaign_id>:<criterion_id>” (ids returned by op ‘add_negative’). |
replace_with | object | No | op ‘replace’ only: the replacement keyword. |
replace_with.text | string | No | New keyword text. Omit to keep the current text (match-type-only change). |
replace_with.match_type | one of EXACT, PHRASE, BROAD | Yes | |
replace_with.cpc_bid | number | No | New max CPC in account currency. Omit to carry the current bid over. |
dry_run | boolean | No | Preview only: the request is validated and the resolved payload returned, nothing is created or changed. |
Example prompts
- “Add these 20 keywords as phrase match to the Trail Shoes ad group.”
- “Add ‘free’ and ‘jobs’ as negative keywords across my whole Search campaign.”
- “Change the keyword ‘running shoe’ from broad to exact match.”
- “Remove the keyword ‘cheap sneakers’ from the Trail Shoes ad group.”
Notes
Google keyword text and match type cannot be edited. A replace is a remove plus a re-add, so the keyword gets a new ID and its performance history restarts.
Related tools
adsap_google_keyword_ideas: Get keyword suggestions with search volume from Google Keyword Planner for a Google Search campaign.adsap_google_manage_targeting: Manage a Google Ads campaign or ad group’s targeting AFTER creation: GEO, LANGUAGE and AUDIENCES.adsap_google_search_geo_targets: Find Google Ads geo target constants by location name (city, region, country, postal area) for Search campaign location targeting.adsap_google_search_terms: Search terms report for a Google Ads account: the REAL user queries that triggered Search (and Shopping) ads, with…
Guide
Read Keywords for the workflow around this tool, and the Tool reference for every tool.
Last updated on