Skip to main content
Glama

ADM Google Ads

Draft a new Search campaign with AI (async)

draft_campaign
Read-only

Starts an AI draft of a NEW Search campaign and returns draft_id at once; it changes nothing in Google Ads. ADM reads the landing page, explores keywords or uses the ones you pass, groups them and writes one or more responsive search ads per group. Poll get_campaign_draft every poll_after_seconds (usually done in 1-3 minutes). When done, pass campaign verbatim to create_search_campaign (preview first). If keywords is omitted, ADM explores keywords from the landing page. If keywords is set, those keywords are used as-is unless explore_keywords is true, in which case they are seeds and ADM adds more. daily_budget may be omitted: the draft then lists it in missing_fields and you ask the user before create_search_campaign. Needs a read_write key and a paid plan. Each call runs several AI calls: do not repeat it for the same input while a draft is pending or running.

Input Schema

NameRequiredDescriptionDefault
biddingNoOptional bidding. Default MAXIMIZE_CONVERSIONS. Same shape as create_search_campaign: type, and target_cpa / target_roas / max_cpc when that type needs them.
keywordsNoOptional, 0-200 keywords in Google notation: broad (text), "phrase", [exact]. Omit to let ADM explore keywords from the landing page.
languageNoAd language code, e.g. en, de, ja. Default en. Also added as the language tag of each ad group name.
customer_idYesGoogle Ads customer ID from get_accounts, e.g. 123-456-7890.
country_codeNoISO country code for the campaign location, e.g. US, DE, GB. Default US.
daily_budgetNoOptional daily budget in the account currency (major units, e.g. 10.00). Omit it to leave the field empty; get_campaign_draft then lists campaign.daily_budget in missing_fields.
ads_per_groupNoResponsive search ads per ad group, 1-3. Default 1.
business_goalNoOptional business goal that only guides keyword exploration: SALES (default), LEADS or TRAFFIC. Not sent to Google Ads.
campaign_nameNoOptional campaign name, max 255 characters. Omit it to use the name ADM's keyword plan suggests.
explore_keywordsNoWhen keywords is set: false (default) uses only those keywords; true treats them as seeds and explores more. Ignored when keywords is omitted (exploration is always on).
landing_page_urlYesLanding page URL (absolute http/https). Its content drives keyword exploration, grouping and ad text; it is also the ads' final_url.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint=true, destructiveHint=false, idempotentHint=false), the description discloses async behavior, typical 1-3 minute completion, cost in AI calls, the read_write key + paid plan requirement, and the anti-duplication rule that aligns with idempotentHint=false. This is rich context an agent needs before invoking.

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

Conciseness4/5

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

It is a dense single paragraph but front-loads the core action and return value, and every sentence carries operational information (polling, handoff, preconditions, dedup warning). It is slightly information-packed for one paragraph, but no filler.

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 async tool with 11 parameters and no output schema, the description covers the entire lifecycle: initiation, async polling, completion handoff, budget-gap handling, and prerequisites. Nothing essential to correct invocation is missing.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds cross-parameter flow meaning: the keywords/explore_keywords interaction, the daily_budget → missing_fields handoff before create_search_campaign, and business_goal only guiding exploration, giving the agent sequencing context beyond raw field docs.

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 ('Starts an AI draft of a NEW Search campaign'), names the immediate return value (draft_id), and explicitly clarifies it is non-mutating ('changes nothing in Google Ads'). It effectively distinguishes itself from create_search_campaign and the get_campaign_draft polling sibling.

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 spells out the full workflow: poll get_campaign_draft every poll_after_seconds, then pass the draft verbatim to create_search_campaign (preview first). It also states when NOT to call it ('do not repeat it for the same input while a draft is pending or running') and its key/plan preconditions.

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