Skip to main content
Glama

Google Ads: Set ad URL

ads_set_ad_url
DestructiveIdempotent

Change the page an existing ad sends people to, on any ad type Google allows, Demand Gen and Search included. The ad itself stays, with its history. Get ad_id from an ads_report query on the ad_group_ad resource. Previews unless confirm is true, and Google checks the change in the preview.

Input Schema

NameRequiredDescriptionDefault
ad_idYes
confirmNoLeave false to preview: nothing changes and the preview shows exactly what would happen. Set true only after the user has agreed to this exact change.
final_urlYesThe page this ad should send people to
customer_idYes
acknowledge_landingNoOnly after the preview's landing_check warned AND the person has seen the warnings and still wants this page.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already flag destructive=true, idempotent=true and openWorld=true, so the safety bar is lower. The description still adds real context beyond them: the default is a non-mutating preview, Google validates the change during preview, and the ad's history survives the update. It never calls out the acknowledge_landing escalation path, leaving that entirely to 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?

Three front-loaded sentences with no filler; purpose comes before mechanics. 'Previews unless confirm is true' largely restates the confirm parameter's schema description, a small redundancy in an otherwise tight definition.

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 destructive mutation with no output schema, the description covers the safety model (preview-by-default), the identifier's provenance, and the preservation of ad history. It leaves out what the preview surfaces (e.g. landing_check warnings) and any URL policy constraints, but the acknowledge_landing parameter is documented in the schema.

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 60%; ad_id and customer_id have no schema descriptions. The description compensates for ad_id by specifying where to source it, which is genuinely useful guidance absent from the schema. It partially duplicates the schema's confirm explanation and says nothing about customer_id.

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 states a precise verb and resource ('Change the page an existing ad sends people to') and scopes the ad types it covers. 'The ad itself stays, with its history' immediately separates it from ads_create_ad and ads_set_ad_status. An agent can pick this tool without opening the schema.

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?

It names a prerequisite source for ad_id ('from an ads_report query on the ad_group_ad resource') and explains the confirm-gated preview flow. It does not explicitly name alternatives such as ads_create_ad for new ads, but 'existing ad' implies the exclusion.

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.