Skip to main content
Glama

Metadata MCP Connector

Set Campaign UTMs

set_campaign_utms
Destructive

Set or clear the UTM parameters for one channel of a wizard campaign, merging the supplied changes into the existing mapping. Returns the updated tracking settings or an error. Clearing a stored mapping restores inheritance from the account or platform defaults; it does not disable tracking. Account-level defaults remain unchanged. A saved mapping applies to incoming server-resolved leads immediately; publishing ad click URLs follows a separate timeline.

TRACKING TIMING AND TOKEN MEANING: Leads using server-resolved campaign UTMs use the current saved mapping when the platform processes them, without waiting for an ad republish. Captured URL or caller-supplied values can follow a different ingestion path, so do not generalize this timing to every new lead. Native click-time macros retain values captured from the lead's click URL. Ad click URLs have a separate publication timeline: a draft uses the saved mapping at launch, and launched ads use it on their next campaign publish. Saving a launched Microsoft Ads campaign triggers a live UTM push. AD_NAME is a dynamic token, not necessarily an individual ad name: standard experiments use their ad group name when present, otherwise their creative name; native ad structures use the native ad's own name. CAMPAIGN_NAME uses the wizard campaign name. Saving a launched campaign can also queue an asynchronous existing-lead UTM refresh. Do not assume historical rows are immutable or that all old rows have already refreshed. Verify the saved mapping with get_campaign_utms and actual lead values and ingestion timing separately from live ad click URLs; a supplied or backfilled lead creation date alone does not prove when its UTMs were resolved.

Input Schema

NameRequiredDescriptionDefault
utmsYesUTM key to value, e.g. {"UTM_SOURCE": "Linkedin", "UTM_MEDIUM": "paid-social", "UTM_CAMPAIGN": "DG_Touch-3_TAG", "UTM_CONTENT": "AD_NAME"}. Empty string clears a key.
channelYesThe enabled channel whose UTM mapping to edit.
campaign_idYesWizard campaign id (the `id` from list_wizard_campaigns).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations mark it destructive/non-readonly, and the description adds substantial context: clearing restores inheritance rather than disabling tracking, account defaults are untouched, saved mappings apply immediately to server-resolved leads, ad click URLs follow a separate publish timeline, and a launched Microsoft Ads save triggers a live push plus async existing-lead refresh. This is exactly the extra context annotations cannot carry.

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

Conciseness3/5

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

The core action is front-loaded well, but the body is long and repetitive with multiple restated cautions about timing ('do not generalize this timing,' 'do not assume historical rows are immutable'). Some warnings could be consolidated without losing meaning.

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?

For a 3-parameter mutation tool with no output schema and destructive annotations, the description covers timing, inheritance, and verification well. It stops short of stating permission/auth requirements or the concrete error conditions it returns, which leaves a small gap.

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 coverage is 100%, so the baseline is 3, but the description adds real value beyond the schema by defining what AD_NAME and CAMPAIGN_NAME tokens resolve to in different ad structures. It doesn't add much beyond the schema's own 'empty string clears a key' and merge notes, hence not a 5.

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?

Specific verb (set/clear) plus resource (UTM parameters for one channel of a wizard campaign) and scope, plus merge semantics are stated in the first sentence. It effectively distinguishes itself from the read counterpart by naming get_campaign_utms for verification and from account-level tools by noting account defaults remain unchanged.

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?

Clearly implies when to use it (editing one channel's UTM mapping with partial merge) and points to get_campaign_utms to verify results. It explains what clearing does (restores inheritance) but doesn't explicitly contrast with sibling setters like set_search_channel_final_url_suffix or get_account_utm_defaults.

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