Skip to main content
Glama

google_ads_landing_page_analyze

Fetch any public landing page and extract titles, headings, CTAs, prices, and structured data to compare ad copy against page content for message-match and keyword extraction.

Instructions

Fetch a landing page over HTTP(S) and extract structured content for ad-copy alignment. Returns title, meta_description, h1_texts, h2_texts, main_text (truncated to 1500 chars), cta_texts, features (list-item snippets, capped at 30), prices (JP yen patterns), brand_name, industry_hints, og_title, og_description, and structured_data (up to 5 JSON-LD blocks). On fetch or parse failure, returns the same shape with an error field set instead of raising. Side effect: issues one outbound HTTP GET to the URL with a 15s timeout, a 500KB body cap, up to 5 redirects, and a 'MarketingAgent/1.0' User-Agent; SSRF-protected against localhost, private / link-local / reserved IP ranges, and cloud metadata endpoints (redirect targets are re-validated). The Google Ads customer context is unused by the analysis itself — passing customer_id only scopes credential routing. Use this for ad-copy vs. LP message-match and keyword-extraction workflows. For Google's indexing/coverage view of the same URL use search_console_url_inspection_inspect; for a batched workflow that combines LP analysis with existing ads, search terms, and keyword suggestions use google_ads_creative_research.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesAbsolute landing page URL to fetch (http:// or https:// scheme only, e.g. 'https://example.com/lp/offer'). Private-range, loopback, and cloud-metadata hosts are rejected.
customer_idNoGoogle Ads customer ID as a 10-digit string without dashes (e.g. '1234567890'). Optional — falls back to GOOGLE_ADS_CUSTOMER_ID / GOOGLE_ADS_LOGIN_CUSTOMER_ID from the configured credentials when omitted.
Behavior5/5

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

No annotations are provided, so the description carries full burden. It thoroughly discloses the outbound HTTP GET, timeout, body cap, redirect limit, User-Agent, and SSRF protections. It also explains error handling (returns error field instead of raising) and that customer_id only affects credential routing, not analysis.

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 dense but every sentence earns its place: purpose, output fields, error handling, side effects, security, and usage. It is front-loaded with the core action and structured logically. Despite length, there is no filler or repetition.

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?

With no output schema, the description must enumerate return fields, which it does in detail. It also covers side effects, security constraints, error behavior, and use-case guidance. It is fully complete for a tool of this complexity.

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% for both parameters. The description adds meaningful context beyond the schema, notably that customer_id is "unused by the analysis itself" and only scopes credential routing. URL restrictions are also echoed in the schema, but the description's SSRF detail reinforces behavior.

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 and resource: "Fetch a landing page over HTTP(S) and extract structured content for ad-copy alignment." It clearly differentiates from siblings by naming alternatives (search_console_url_inspection_inspect, google_ads_creative_research) and distinct use cases.

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?

Explicit guidance is provided: "Use this for ad-copy vs. LP message-match and keyword-extraction workflows." It also names two alternatives with their distinct purposes, giving clear when-to-use vs. when-not-to-use direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/logly/mureo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server