Skip to main content
Glama

google_ads_campaign_create

Create a Google Ads campaign. Defaults to channel_type=SEARCH, status=PAUSED (safe), bidding_strategy=MANUAL_CPC. Provide budget_id from google_ads_campaign_budget_create. Declares no EU political advertising by default (Reg 2024/900, required by Google). Only SEARCH, DISPLAY and SHOPPING can be created through the API: VIDEO (YouTube) is read-only on Google side, and PERFORMANCE_MAX must be created together with its asset group. Build those two in the Google Ads interface and use this MCP to report on them.

Bulk support: accepts budget_ids, merchant_ids, customer_ids for batched execution.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes
statusNo
accountNo
budget_idYes
budget_idsNo
feed_labelNo
customer_idNo
merchant_idNo
channel_typeNo
customer_idsNo
merchant_idsNo
eu_political_adNo
bidding_strategyNo
campaign_priorityNo

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed6 schema fields changed
    • changedInput schema / properties / bidding_strategy / enum
      Previous value: -[
      -  "MANUAL_CPC",
      -  "MANUAL_CPV",
      -  "MAXIMIZE_CONVERSIONS",
      -  "MAXIMIZE_CONVERSION_VALUE",
      -  "MAXIMIZE_CLICKS"
      -]New value: +[
      +  "MANUAL_CPC",
      +  "MAXIMIZE_CONVERSIONS",
      +  "MAXIMIZE_CONVERSION_VALUE",
      +  "MAXIMIZE_CLICKS"
      +]
    • addedInput schema / properties / campaign_priority
      Added value: +{
      +  "type": "number"
      +}
    • changedInput schema / properties / channel_type / enum
      Previous value: -[
      -  "SEARCH",
      -  "DISPLAY",
      -  "SHOPPING",
      -  "VIDEO",
      -  "PERFORMANCE_MAX"
      -]New value: +[
      +  "SEARCH",
      +  "DISPLAY",
      +  "SHOPPING"
      +]
    • addedInput schema / properties / feed_label
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / merchant_id
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / merchant_ids
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / bidding_strategy / enum
      Previous value: -[
      -  "MANUAL_CPC",
      -  "MAXIMIZE_CONVERSIONS",
      -  "MAXIMIZE_CONVERSION_VALUE",
      -  "MAXIMIZE_CLICKS"
      -]New value: +[
      +  "MANUAL_CPC",
      +  "MANUAL_CPV",
      +  "MAXIMIZE_CONVERSIONS",
      +  "MAXIMIZE_CONVERSION_VALUE",
      +  "MAXIMIZE_CLICKS"
      +]
  3. First observed

TDQS

A4.4/5.0
Behavior4/5

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

The description goes well beyond the coarse annotations by disclosing default status=PAUSED for safety, default bidding strategy, channel_type default, and the default EU political advertising declaration under Reg 2024/900. It also exposes API-side limitations such as VIDEO being read-only and PERFORMANCE_MAX needing a single combined delivery. No contradiction exists with annotations.

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?

Every sentence carries concrete decision-relevant information: creation purpose, defaults, required budget source, EU compliance default, API constraints, and bulk execution. It is front-loaded with the most actionable defaults before the edge cases.

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?

Strong enough for a ularian agent to invoke correctly: safe defaults, required budget dependency, unsupported channel types, compliance default, and bulk mode are all exposed. It still leaves the meaning of frew optional parameters such as feed_label and campaign_priority, as well as any return/response behavior, unstated, so not a perfect 5.

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 0%, so the description must compensate. It does clarify budget_id, bulk ids, defaults for channel_type, status, and bidding_strategy, and it names the required entity 'from google_ads_campaign_budget_create'. However, 14 parameters include name, feed_label, campaign_priority, eu_political_ad, merchant_id, customer_id, and customer_ids that are still underspecified or not explicitly connected to behavior.

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?

Description opens with a precise verb and resource ('Create a Google Ads campaign') and then clarifies scope with API limitations: 'Only SEARCH, DISPLAY and SHOPPING can be created through the API'. It clearly distinguishes creation from reporting/updating and tells the agent 'VIDEO is read-only on Google side' and 'PERFORMANCE_MAX must be created together with its asset group'.

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?

It says to provide budget_id from google_ads_campaign_budget_create and explains when not to use the tool: VIDEO and PERFORMANCE_MAX should be built in the Google Ads interface, with the tool used only to report on them. It also lays out default behavior so the agent knows what will happen without explicit overrides.

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.

TDQS

B3.1/5.0
Disambiguation2/5

Most google_ads_* tools map to distinct resource+action pairs, but the five keyword tools (keywords_keywords, keywords_diagnostics, keywords_raw, keywords_search_terms, keywords_status) share essentially the same description and action list, differing only by a flattened action label. google_ads_account, google_ads_status, google_ads_list_accounts, and connect/toolkit_info also overlap in account/status purposes.

Naming Consistency3/5

Domain tools mostly follow a google_ads_<resource>_<action> pattern, with plural nouns for list operations like google_ads_campaigns and google_ads_ads. This is muddied by redundant google_ads_keywords_keywords, metric-only names like google_ads_roas/google_ads_today, and six generic meta tools that break the prefix pattern.

Tool Count2/5

35 tools is too many for a coherent Google Ads surface. Five keyword tools are one logical action router split into separate endpoints, and several platform tools (authenticate, connect, marketplace, report_bug, show_version, toolkit_info) are unrelated to the Google Ads domain, inflating the count.

Completeness3/5

The server covers major workflows: accounts, campaigns, budgets, ad groups, ads, keywords, negative keywords, sitelinks, performance, and change history. However, there is no way to list existing ad groups, no negative keyword removal, and no creative update beyond pause/enable/remove, which are notable gaps for this domain.