Update Google Ads entity (adsap_google_update_entity)
Platform: Google Ads · Read or write: Write · Plan: All plans · Consumes a task: Yes · Preview supported: Yes
What it does
Edits an existing Google Ads campaign, ad group, ad or keyword. It changes status, renames a campaign or ad group, sets a campaign daily budget, changes the bidding scheme or targets, edits asset automation, or sets a keyword max CPC. Only the fields you name change. A preview shows the diff before it applies.
When to use it
- Use it to change one existing campaign, ad group, ad or keyword. Put only the fields you want to change in
updates. - It supports a preview call. With
dry_runset totrue, you get current and new values, validated by Google, and nothing is applied. daily_budgetandbiddingwork on campaigns only.cpc_bidworks on keywords only. Ads cannot be renamed.- Money values such as
daily_budget,cpc_bidandtarget_cpaare plain amounts in the account currency, such as 12.50. - To pause or reactivate several entities at once, use
adsap_google_set_entity_status. To change keyword text or match type, useadsap_google_manage_keywords.
Worked example
You ask
“Preview raising the daily budget of campaign 21000000001 to 80 in Google Ads account 1234567890.”
The assistant calls adsap_google_update_entity
{
"ad_account_id": "1234567890",
"entity_type": "campaign",
"entity_id": "21000000001",
"updates": { "daily_budget": 80 },
"dry_run": true
}Adsap returns
The field names are the ones Adsap returns. The values are examples.
{
"ok": true,
"dry_run": true,
"platform": "google",
"entity_type": "campaign",
"entity_id": "21000000001",
"name": "Spring sale",
"current_status": "ENABLED",
"changes": [
{
"field": "daily_budget",
"current_value": 50,
"new_value": 80,
"will_change": true
}
],
"total_would_change": 1,
"google_validation": "passed",
"warnings": []
}How to read it
Each row in changes names a field with its current and new value. will_change is false when the new value equals the current one. total_would_change counts the rows that would change. Budget values are amounts in the account currency. current_status uses Google’s wording, so an active campaign reads ENABLED.
google_validation reads passed when Google accepts the change. Otherwise it carries Google’s error message. warnings gets an entry when the campaign uses a shared budget, because the new amount would apply to every campaign on that budget. The response also carries a human_readable_summary sentence, left out of this example. To apply the change, the assistant repeats the call with dry_run set to false.
Parameters
Descriptions are shortened from the tool schema. Your assistant sees the full text.
| Name | Type | Required | Description |
|---|---|---|---|
entity_type | one of campaign, ad_group, ad, keyword | Yes | Google Ads vocabulary: the middle level is ad_group (not adset). keyword targets one ad-group criterion. |
entity_id | string | Yes | |
ad_account_id | string | Yes | Bare 10-digit Google Ads customer ID (from adsap_google_list_ad_accounts). No dashes, no act_ prefix. |
updates | object | Yes | Only the fields you want to change. At least one is required. |
updates.name | string | No | New name. Campaigns and ad groups only: Google ads have no editable name. |
updates.status | one of PAUSED, ACTIVE | No | ACTIVE maps to Google’s ENABLED. |
updates.daily_budget | number | No | Daily budget in the ACCOUNT CURRENCY as a plain number (e.g. 12.50): NOT micros, NOT cents. Campaigns only: Google budgets live at campaign level (there is no ad-set/ad-group budget). Changing a shared budget affects every campaign using it (a warning is returned). |
updates.cpc_bid | number | No | Per-keyword max CPC in the ACCOUNT CURRENCY (e.g. 1.25). Keywords only. Only used when the campaign bids Manual CPC: automated strategies silently ignore it. |
updates.bidding | object | No | Campaigns only: change the bidding scheme and/or its target values. Portfolio-strategy campaigns are rejected (edit those in Google Ads directly). |
updates.asset_automation | object | No | Asset-automation toggles by key, true = opt in / false = opt out; untouched keys keep their current setting. CAMPAIGNS (PMax + Search only): text_asset_automation, final_url_expansion (both channels); generate_image_enhancement, generate_enhanced_youtube_videos, generate_image_extraction (PMax only). Google rejects turning text_asset_automation OFF while final_url_expansion stays ON: turn both off in the same call. |
dry_run | boolean | No | Preview only: the request is validated and the resolved payload returned, nothing is created or changed. |
Example prompts
- “Raise the daily budget on my Google campaign Summer Sale to 80.”
- “Switch my Search campaign to target CPA at 25 dollars.”
- “Rename the ad group Boots to Winter Boots.”
- “Set the max CPC on this keyword to 1.20.”
Notes
Keyword text cannot be changed here. Keyword bids only apply on Manual CPC campaigns. Portfolio bidding strategies are rejected.
Related tools
adsap_google_set_entity_status: Pause or reactivate one or more Google Ads campaigns, ad groups, ads, or keywords (max 20 per call).
Guide
Read Managing Google Ads in bulk for the workflow around this tool, and the Tool reference for every tool.
The Google Ads MCP server page shows how to connect Google Ads to Claude, ChatGPT or Perplexity.