Skip to main content
Glama
kLOsk

AdLoop: Google Ads, Reddit Ads & GA4

Draft ad group changes

update_ad_group

Draft Google Ads ad group name or manual CPC bid updates and get a preview with a plan_id before changes go live.

Instructions

Draft an ad group update for name and/or manual CPC bid — returns a PREVIEW.

A bid change applies only when the campaign uses MANUAL_CPC: automated bidding strategies ignore ad-group CPC bids, so such a change is refused (for Maximize Clicks the campaign cpc_bid_ceiling, set through update_campaign, is the active constraint). Bid increases above the configured safety.max_bid_increase_pct are refused. Returns a preview with a plan_id; nothing changes until confirm_and_apply applies it.

Google Ads API: https://developers.google.com/google-ads/api/docs/start

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
max_cpcNoNew maximum CPC bid in the account's currency (an amount, not micros). 0 leaves the bid unchanged; negative values are rejected. At least one of ad_group_name or max_cpc is required.
ad_group_idYesNumeric ID of the ad group to update.
customer_idNoGoogle Ads customer ID (digits, dashes optional). Defaults to the configured account.
ad_group_nameNoNew ad group name. Empty leaves the name unchanged.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv0.27.1
    • addedInput schema / properties / ad_group_id / description
      Added value: +"Numeric ID of the ad group to update."
    • addedInput schema / properties / ad_group_name / description
      Added value: +"New ad group name. Empty leaves the name unchanged."
    • addedInput schema / properties / customer_id / description
      Added value: +"Google Ads customer ID (digits, dashes optional). Defaults to\nthe configured account."
    • addedInput schema / properties / max_cpc / description
      Added value: +"New maximum CPC bid in the account's currency (an amount, not\nmicros). 0 leaves the bid unchanged; negative values are rejected.\nAt least one of ad_group_name or max_cpc is required."
  2. First observedv0.9.0

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=true); the description goes well beyond them by disclosing the preview/plan_id/confirm workflow, the MANUAL_CPC precondition, refusal of increases above safety.max_bid_increase_pct, and the Google Ads API reference. Nothing contradicts the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core action and the PREVIEW outcome in one sentence, then layers conditional rules compactly. The Maximize Clicks parenthetical is dense but earns its place by routing to update_campaign; the API URL is mildly superfluous.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a preview-then-confirm mutation with an output schema (plan_id) and full annotation coverage, the description supplies everything needed: preconditions, refusal cases, safety cap, and the follow-up confirm step. No material gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% so the schema already defines max_cpc, ad_group_id, customer_id and ad_group_name, making 3 the baseline. The description adds genuine meaning on top: the MANUAL_CPC-only applicability of max_cpc, the safety.max_bid_increase_pct refusal threshold, and the name/bid pairing — all absent from the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (draft an update), a specific resource (ad group), and the exact mutable fields (name and/or manual CPC bid), plus the key behavioral fact that it returns a preview rather than applying changes. It is clearly separable from draft_ad_group (creation) and update_campaign (which it explicitly names for the cpc_bid_ceiling case).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-not conditions: a bid change only applies under MANUAL_CPC, is refused under automated bidding, and the relevant alternative for Maximize Clicks is update_campaign's cpc_bid_ceiling. It also states the sequencing rule — nothing changes until confirm_and_apply applies the plan_id.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools