Skip to main content
Glama

google_ads_create_campaign

[WRITE — changes your live account] Create a new SEARCH campaign (with its daily budget). Created PAUSED; won't spend until you activate it. Budget is in MICROS. Requires confirm:true.

Input Schema

NameRequiredDescriptionDefault
nameYesCampaign name
statusNoPAUSED (default) or ENABLED
confirmNoMust be true to actually apply this change to the live account. Omit/false to refuse (safety gate).
customer_idNoCustomer ID (digits, dashes ok) to operate on (optional; defaults to your connected account)
budget_microsYesDaily budget in MICROS, e.g. 5000000 = $5.00/day

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations: it flags this as a live-account WRITE, discloses the resulting state (PAUSED, no spend), and states the confirm:true safety gate. Annotations only say readOnly=false / destructive=false / openWorld=true, so the description carries the meaningful behavioral context itself.

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?

Four tight clauses, front-loaded with the highest-risk information ('WRITE — changes your live account') followed by what is created, its initial state, units, and the gate. No filler.

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

Completeness4/5

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

No output schema exists, and the description never says what comes back (e.g., a campaign id needed to create ad groups or ads under it), which is the main chaining gap. Everything else an agent needs to invoke it correctly — mutation risk, default paused state, unit convention, confirm gate — is present.

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?

Schema description coverage is 100%, so every parameter is already documented in the schema. The description repeats the MICROS unit for budget and the confirm gate but adds nothing about status, name, or customer_id defaults, so baseline 3 applies.

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 and resource ('Create a new SEARCH campaign') plus the bundled side artifact (its daily budget), which is the key differentiator from google_ads_update_campaign or google_ads_update_budget. The campaign type (SEARCH) is named explicitly, so an agent can tell exactly what kind of object this produces.

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

Usage Guidelines4/5

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

Gives clear usage context: the campaign is created PAUSED and won't spend until activated, so an agent knows this is a safe first step followed by google_ads_set_status. It does not explicitly name alternatives (update_campaign, create_ad_group, add_keywords) or state prerequisites like having a customer_id/account connected, so it falls short of 5.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources