Skip to main content
Glama

google_ads_budget_reallocation

Creates a budget reallocation plan by reducing inefficient campaigns up to 20% and evenly distributing freed funds to efficient campaigns. Read-only; outputs proposed changes.

Instructions

Propose a budget reallocation plan by cutting up to 20% from INEFFICIENT campaigns and distributing the freed amount equally across EFFICIENT campaigns. Returns the full google_ads_budget_efficiency payload plus {reallocation_plan:[{campaign_id, campaign_name, action ('DECREASE'|'INCREASE'), current_daily_budget, proposed_daily_budget, change_amount, reason}], total_freed, summary}. When the account has no campaigns with spend in the window, the response short-circuits to just {...efficiency payload, reallocation_plan:[], summary:'No campaigns with spend in period'} and the total_freed key is omitted — parse defensively. Reductions below 100 (currency units) are skipped. Current daily budgets are fetched via get_budget — failures fall back to 0. Read-only — emits a plan only, does not apply any budget changes. To actually apply a change use google_ads_budget_update; for the efficiency scoring alone use google_ads_budget_efficiency.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
periodNoReporting window for the metrics. Default 'LAST_30_DAYS'. Use a shorter window (LAST_7_DAYS / LAST_14_DAYS) when diagnosing recent changes; use LAST_90_DAYS for trend baselines.
customer_idNoGoogle Ads customer ID as a 10-digit string without dashes (e.g. '1234567890'). Optional — falls back to GOOGLE_ADS_CUSTOMER_ID / GOOGLE_ADS_LOGIN_CUSTOMER_ID from the configured credentials when omitted.
Behavior5/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It thoroughly covers edge cases: short-circuit response when no campaigns have spend (including omitted total_freed key), skipping reductions below 100 currency units, fallback to 0 on budget fetch failures, and the read-only nature. This is far beyond typical transparency and leaves little ambiguity.

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

Conciseness5/5

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

The description is moderately long but every sentence earns its place. It front-loads the core purpose, then covers return structure, edge cases, fallback behavior, read-only nature, and alternative tools. No fluff or redundancy; the density is justified by the complexity of the tool.

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?

Despite having no output schema, the description fully explains the return payload structure, including the shape of reallocation_plan items, the short-circuit variant, and the omitted total_freed key. It also explains internal dependencies (get_budget) and error fallback. For a complex tool with no structured output schema, this is exceptionally complete.

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

Parameters3/5

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

The input schema already provides 100% coverage with descriptions for both parameters, including detailed guidance on period selection and customer_id fallback. The main description does not add additional parameter-specific semantics beyond what the schema provides, so the baseline of 3 is appropriate. The few parameter mentions in the description are behavioral, not semantic.

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?

The description states a specific action ('Propose a budget reallocation plan') with a clear method (cutting up to 20% from INEFFICIENT campaigns and distributing across EFFICIENT campaigns). It also distinguishes itself from siblings by explicitly naming google_ads_budget_update and google_ads_budget_efficiency as alternatives. This is a clear, specific verb+resource+method.

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?

The description explicitly states when to use this tool vs alternatives: 'To actually apply a change use google_ads_budget_update; for the efficiency scoring alone use google_ads_budget_efficiency.' It also clarifies that the tool is read-only and only plans, which is strong when-to-use guidance. No exclusions are needed beyond the alternative references.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/logly/mureo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server