Documentation

Connect your marketing data to Claude, ChatGPT and other LLMs.

Landing Page Analyzer

AI-powered audit of any URL — measures conversion-readiness from an ad-traffic perspective. Available from the Google Ads Insights page when reviewing search terms, ads or keywords.

Where to access it

Go to /accounts/{id}/insights (the "Insights" button on any Google Ads account card) → tab Diffusion or any tab showing landing URLs:

  • Search terms / Keywords / Ads tables: each row with a final_url has an "Analyze landing" button (purple)
  • Click → modal opens → audit runs in 10-30 seconds
💡
The analyzer uses the URL the user actually lands on (the final_url from the ad), not the display URL. So if you're using tracking templates that redirect, it scores the real destination.

What gets scored (5 dimensions)

DimensionWhat's measuredWeight
Message matchDoes the H1 + above-the-fold content match the ad's headline / keyword intent?25
Trust signalsReviews, certifications, social proof, secure-checkout badges20
Call-to-actionCTA visibility, placement, copy clarity, urgency20
Speed (PageSpeed Insights)LCP, CLS, TBT mobile — direct from PSI API20
Form & frictionNumber of form fields, perceived effort, mobile usability15

Global score 0-100 + verdict (excellent / good / warning / critical) + per-dimension breakdown with specific recommendations.

What signals are collected before the AI runs

  • HTML fetch of the landing page (server-side, follows redirects)
  • PageSpeed Insights mobile (if Google API key configured by admin) — Core Web Vitals + score
  • Optional: Firecrawl scrape (if Firecrawl key configured) — JS-rendered content for SPAs
Without PageSpeed API key, the Speed dimension is skipped and weighted out of the global score (recomputed on the remaining 80 points). The audit still works but is less complete.

Output sections

  1. Global score card with verdict color (red/amber/green)
  2. Quick wins — 3-5 bullet points actionable in < 1 hour
  3. Per-dimension cards — score + 1-2 paragraphs analysis + specific fixes
  4. Raw signals expandable — fetched HTML structure, PSI metrics, etc. (debug)

History tab

All your past landing page audits archived (no auto-prune, kept indefinitely). Click any past run to reload the full report. Useful to:

  • Compare scores after a redesign / A-B test
  • Re-send the brief to a designer with the latest snapshot
  • Audit the same URL across different campaigns to spot intent mismatch

"Send brief to..." button

Generates a clean technical brief (markdown) and emails it. Use cases:

  • To your designer: actionable list of UX fixes with PSI metrics + screenshot suggestions
  • To your dev team: code-level recommendations (lazy-loading, image compression, JS deferral)
  • To the client: executive summary with score + top 3 priorities, no jargon

Format: subject line + intro message + the AI report attached as markdown body. Rate-limit: 10 briefs/day per user.

Limits & quotas

WhatLimit
Audits per day per user20
Briefs sent per day per user10
Max landing page HTML size fetched5 MB
Fetch timeout15 seconds
Tokens per audit (typical)3-8k input + 1-2k output
💡
The audit also counts against your global monthly token quota (visible at /admin/ai-usage if admin). A typical audit costs $0.005 - $0.02 depending on the model configured (defaults to the per-service model from /admin/general → Google Ads tab, falls back to global Insights model).

FAQ

Why is the score lower than my Lighthouse score?

Lighthouse measures technical performance only. The Landing Page Analyzer adds 4 conversion dimensions on top (message match, trust, CTA, friction) which are evaluated by AI on the actual content — not just Core Web Vitals. A blazing-fast page with no CTA can score 95 on Lighthouse but 40 here.

Can I analyze a competitor's landing page?

Yes — the analyzer takes any public URL. Useful for benchmarking. Just paste the URL manually if there's no entry point in the Ads tables (admin can expose a manual input field if needed).

The page returned a 403/Cloudflare challenge — what now?

Some hosts block server-side fetches without a real browser. If you have Firecrawl configured, the analyzer falls back to its rendering engine which handles most challenges. Otherwise the audit will fail with "Could not fetch page" and you'll need to test with a different URL.

Does the analyzer execute JavaScript?

Default fetch is server-side HTML only (no JS). For SPAs (React / Vue / Next.js client-rendered), enable Firecrawl in /admin/general → Integrations — it spins a headless Chromium and waits for the JS to render. Otherwise SPAs will look "empty" to the analyzer.

Need help? Ask Léa 💬
gadspilot assistant
Léa
AI assistant · gadspilot
Need a human? Contact support