Skip to main content
Glama
gudlab

ads-mcp

by gudlab

Create Google Ads Search campaign (paused)

google_ads_create_search_campaign

Create a paused Google Search campaign with ad groups, keywords, responsive search ads, budget, and target locations. Set daily budget and geo targets to build the campaign structure in one operation.

Instructions

Create a new Search campaign with ad groups, keywords and RSAs. Always created PAUSED.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
languageNoGoogle language constant resource name, default EnglishlanguageConstants/1000
ad_groupsYes
locationsYesGoogle geo target constant resource names, e.g. 'geoTargetConstants/2826' for UK
customer_idNo
daily_budgetYesIn the account's native currency, e.g. 25 for $25/day
campaign_nameYes
negative_keywordsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already establish that this is a mutating but non-destructive operation. The description adds the meaningful behavioral fact 'Always created PAUSED,' which is not in the annotations. However, it does not disclose other behavioral traits such as validation behavior, duplicate handling, or what the created campaign/ad groups look like in return.

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?

Two short sentences carry all the content: the action, the components, and the paused-state behavior. There is no filler or repetition, and the most operationally important fact (paused) is emphasized separately.

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

Completeness3/5

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

The description is adequate for a create-style tool: it names the resource and the key behavioral guarantee. However, with no output schema and several self-explanatory but undocumented parameters, the description could better prepare an agent on expected inputs, especially given the nested ad_groups structure.

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

Parameters2/5

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

Schema description coverage is only 43%, and the description does not compensate for the undocumented parameters. It mentions 'ad groups, keywords and RSAs' at a high level, but does not clarify customer_id, campaign_name, negative_keywords, or the nested ad_group requirements beyond what the schema already shows.

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 verb and resource ('Create a new Search campaign') and enumerates the core contents ('ad groups, keywords and RSAs'). This clearly differentiates it from the sibling get/update/remove/list tools, all of which signal different operations.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus alternatives like google_ads_update_bid_strategy, google_ads_set_campaign_status, or google_ads_add_keywords. It also omits any prerequisites, such as needing a customer_id or existing account context.

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