Skip to main content
Glama

Google: Manage Campaign Template (create / update / delete)

adsap_google_manage_ad_template

Create, update, or delete a saved Google campaign template (the wizard-saved setups adsap_google_list_ad_templates reads: budget, bidding, geo, languages, ad text, extensions, asset picks — per channel: search, pmax, demand_gen, shopping, app, display). Every write is validated against the exact wizard shape for the channel, so chat-written templates always load cleanly in the ADSAP web wizards. Update: pass payload_patch to merge top-level fields (null removes a field) and/or name to rename. Templates whose payload carries uploaded asset ids are account-bound and need customer_id; without asset ids they are portable across accounts. dry_run defaults TRUE: preview, confirm with the user, then call again with dry_run:false. Templates are launch presets only — deleting one never touches live campaigns.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoTemplate name. Required for create; optional rename on update.
actionYes"create" a new template, "update" an existing one (rename and/or patch its payload), or "delete" one permanently.
channelNoRequired for create. The campaign channel the template belongs to (a template never changes channel).
dry_runNoTRUE (default) = preview only: shows the validated payload / merged result that would be stored. Set false to apply.
payloadNoRequired for create: the full wizard-shaped payload for the channel (same camelCase fields adsap_google_list_ad_templates returns — read an existing template of that channel to see the shape). Validated against the wizard schema; invalid shapes are rejected with field detail.
customer_idNoRequired when the payload carries uploaded asset ids (slotAssets/imageAssets/videoAssets) — those only exist in one account, so the template gets bound to it. Omit for portable (no-asset) templates.
template_idNoRequired for update/delete. The template id from adsap_google_list_ad_templates.
payload_patchNoUpdate only: TOP-LEVEL merge into the stored payload. Only the keys you pass change; pass null as a value to REMOVE that key. The merged result is re-validated as a whole.

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?

With no annotations provided, the description carries the full burden of behavioral disclosure, and it does so thoroughly. It discloses the dry_run default TRUE and the required two-call confirm-then-apply flow, the null-removes-field merge semantics for payload_patch, the account-binding behavior for asset-bearing payloads, the validation against the exact wizard shape, and the non-destructive relationship to live campaigns. This is exactly the kind of behavioral context an agent needs beyond the schema.

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?

The description is dense but well-organized: the first sentence establishes the core purpose, the middle sentences cover update semantics and account-binding, and the final sentences cover the dry_run workflow and the safety guarantee. Every sentence earns its place, though the length is at the upper edge of what an agent can parse quickly. The structure front-loads the most important scoping information.

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 an 8-parameter mutation tool with no annotations and no output schema, the description is remarkably complete. It covers the create/update/delete modes, the channel constraint, the validation behavior, the dry_run workflow, the customer_id requirement, the merge semantics, and the safety boundary with live campaigns. An agent has everything needed to call this tool correctly and to know what will happen before and after the call.

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, and the description adds meaningful semantics on top: it explains the dry_run two-call workflow, the top-level merge semantics of payload_patch (null removes a field), the account-bound vs portable distinction for customer_id, and the fact that a template never changes channel. The only minor gap is that the description doesn't spell out that action is the sole required parameter, but the schema already does that clearly.

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 specific verb phrase — 'Create, update, or delete a saved Google campaign template' — and immediately distinguishes the resource from the sibling reader adsap_google_list_ad_templates. It enumerates the per-channel wizard content (budget, bidding, geo, languages, ad text, extensions, asset picks) and the six channels, so an agent can tell exactly what this tool manages and how it differs from nearby create-campaign tools.

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?

The description gives explicit when-to-use guidance: it names the sibling reader (adsap_google_list_ad_templates) as the source of template shapes and IDs, explains the dry_run default workflow ('preview, confirm with the user, then call again with dry_run:false'), and states the account-bound vs portable distinction that determines when customer_id is required. It also clarifies that templates are launch presets only and deleting one never touches live campaigns, which prevents a dangerous misuse.

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