Skip to main content
Glama
konkomaji

Google Marketing MCP

by konkomaji

ads_create_campaign

Create a new Google Ads campaign with a set daily budget, starting PAUSED to prevent unintended spend. Supports multiple channel types and bidding strategies with optional confirm for validation.

Instructions

Create a new campaign with its own daily budget. Created PAUSED by default so it never spends until you explicitly enable it.

Args: customer_id: 10-digit account id. name: campaign name (must be unique). daily_budget: daily budget in account currency (e.g. 25.00). channel_type: SEARCH | DISPLAY | SHOPPING | VIDEO | PERFORMANCE_MAX. NOTE: Google blocks VIDEO campaign creation via the API (MUTATE_NOT_ALLOWED, trigger=VIDEO) — the campaign shell must be made in the Google Ads UI. The video tools (create_video_ad_group / create_video_ad) still work to populate an existing video campaign. channel_sub_type: optional VIDEO sub type. Leave None for a plain video views / TrueView (skippable in-stream, CPV) campaign. Set VIDEO_ACTION for conversion video, VIDEO_NON_SKIPPABLE for CPM reach, VIDEO_SEQUENCE, or VIDEO_REACH_TARGET_FREQUENCY. bidding_strategy: MAXIMIZE_CONVERSIONS | MAXIMIZE_CONVERSION_VALUE | TARGET_SPEND | MANUAL_CPC | TARGET_CPM | TARGET_CPV. Skippable in-stream CPV = TARGET_CPV (per-view bid set on the ad group via create_video_ad_group; manual CPV is retired by Google). target_cpa: optional target CPA (currency) for MAXIMIZE_CONVERSIONS. target_roas: optional target ROAS (e.g. 4.0 = 400%) for value strategies. status: ENABLED | PAUSED (default PAUSED). start_paused: force PAUSED regardless of status (safety, default True). confirm: must be true to actually apply (else dry-run validate only).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNo
statusNoPAUSED
confirmNo
target_cpaNo
customer_idNo
target_roasNo
channel_typeNoSEARCH
daily_budgetNo
start_pausedNo
bidding_strategyNoMAXIMIZE_CONVERSIONS
channel_sub_typeNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.8/5.0
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 and exceeds expectations. It disclose several critical behaviors: created PAUSED to prevent spending, the confirm flag enables a dry-run mode, start_paused forces safety, and the VIDEO channel-type restriction. These are all non-obvious behaviors an agent must know to avoid unintended outcomes.

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 long but tightly organized with a clear 'Args:' listing, each line providing necessary detail without redundancy. The safety default and dry-run mechanism are front-loaded, and every statement adds value. No fluff or irrelevant content.

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 complex creation tool with 11 parameters, the description is comprehensive: it covers all inputs, default behaviors, safety mechanisms, and a critical platform limitation (VIDEO blocking). Although the return format is not described, the agent has enough to call it correctly and understand the implications. Everything else is adequately addressed.

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

Parameters5/5

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

Schema description coverage is 0%, so the description is the only source of parameter guidance. It covers all 11 parameters with explicit explanations, including enum values, defaults, and nuanced notes (e.g., TARGET_CPV for skippable in-stream, manual CPV retired). The description fully compensates for the schema's lack of detail.

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 opens with a clear, specific action: 'Create a new campaign with its own daily budget.' It names the resource (campaign) and the key constraint (daily budget), and immediately distinguishes itself by stating the campaign is created PAUSED by default. This is unambiguous and differentiates it from campaign management tools.

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?

The description provides contextual guidance by noting that Google blocks VIDEO campaign creation via API and directs the agent to use the UI for the shell, while mentioning video tools exist to populate it. This implies when to use this tool and when not to, though it does not explicitly reference sibling tools like ads_set_campaign_status for enabling. It gives clear context but lacks explicit exclusions or alternative routes for non-video cases.

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