Ad to landing page auditor

01What is it?
The #1 reason ads get clicks but not conversions: the landing page doesn't deliver on the ad's promise. It stands out by giving conversion optimization a defined shape, so the agent asks for better context and returns a more usable result.
02Inputs
Context for conversion optimization: your goals, audience, constraints, and any source material the skill asks for.
03Output
A ready-to-use result for conversion optimization: the analysis, copy, or recommendations the agent produces.
Paste-ready

Install as a package

Installs this one skill package for your coding agent, including any supporting files that skill ships with — not every skill in the repository. Read the tutorial.

Terminal
$ npx skills add gooseworks-ai/goose-skills --skill ad-to-landing-page-auditor

Use in Profound

Copy this file into a new Profound Skill. That's it, nothing else to install.

Copy and create in Profound
SKILL.md

Ad-to-Landing Page Auditor

The #1 reason ads get clicks but not conversions: the landing page doesn't deliver on the ad's promise. This skill audits the full click path — from ad copy to landing page experience — and flags every disconnect.

Core principle: A great ad with a mismatched landing page is worse than a mediocre ad with a matched one. Message match is the single biggest conversion lever most startups ignore.

When to Use

  • "Why are my ads getting clicks but no conversions?"
  • "Audit my ad-to-landing page flow"
  • "Check message match on our campaigns"
  • "My conversion rate is low — help me figure out why"
  • "Review our landing pages for our ad campaigns"

Phase 0: Intake

  1. Ad copy — For each ad, provide:
    • Headline(s)
    • Body / description text
    • CTA text
    • Platform (Google Search / Meta / LinkedIn)
  2. Landing page URLs — The URL each ad points to
  3. Conversion goal — What should happen after someone clicks? (Demo / Trial / Purchase / Download)
  4. Known conversion rates? — Current click → conversion rate per ad/LP (if available)

If the user has a CSV export from their ad platform, parse that instead.

Phase 1: Ad Inventory

Parse the provided ads into:

Ad IDPlatformHeadlineBody/DescriptionCTALanding Page URLConv Rate (if known)

Phase 2: Landing Page Audit

For each unique landing page URL, fetch the page content:

fetch_webpage: [landing_page_url]

If fetch_webpage is not available, use curl to retrieve the page HTML.

Extract and score:

2A: Content Elements

ElementFound?Content
Hero headline[Y/N]"[Text]"
Subheadline[Y/N]"[Text]"
Primary CTA[Y/N]"[Button text]"
CTA above fold[Y/N]
Social proof[Y/N][Logos / testimonials / metrics]
Benefit list[Y/N][Key benefits listed]
Form / Sign-up[Y/N][Field count: N]
Video[Y/N]
Trust signals[Y/N][Security badges, guarantees]

2B: Message Match Scoring

For each ad → landing page pair, score on:

DimensionScore (1-10)Criteria
Promise continuity[X]Does the LP headline deliver on the ad's promise?
Language match[X]Does the LP use the same words/phrases as the ad?
Visual continuity[X]Does the LP feel like a continuation of the ad? (Not assessable for search)
CTA alignment[X]Does the LP's ask match what the ad implied?
Specificity match[X]If the ad was specific ("for sales teams"), is the LP specific too?
Emotional match[X]If the ad used fear/urgency, does the LP carry that forward?

Message Match Score: [Average/60]

Scoring Guide

ScoreRatingMeaning
50-60ExcellentStrong match — LP delivers on every ad promise
40-49GoodMinor disconnects but overall coherent
30-39Needs workNoticeable gaps — visitor has to hunt for relevance
20-29PoorAd and LP feel like different products
Below 20CriticalComplete mismatch — fix immediately

Phase 3: Conversion Friction Analysis

Beyond message match, assess landing page conversion friction:

Friction TypeCheckStatus
Load timeDoes the page feel heavy/slow? (Asset count proxy)[Fast/Slow/Unknown]
Form lengthHow many fields before conversion?[N fields] — [Appropriate/Too many]
CTA clarityIs there one clear CTA or competing actions?[Clear/Cluttered]
Above-fold conversionCan someone convert without scrolling?[Yes/No]
Social proof placementIs proof near the CTA?[Yes/No]
Navigation distractionDoes the LP have full site nav? (Should be minimal)[Minimal/Full nav]
Mobile experienceAny mobile-unfriendly elements?[Good/Issues]

Phase 4: Output Format

# Ad-to-Landing Page Audit — [Product/Client] — [DATE]

Ads audited: [N]
Unique landing pages: [N]
Platform(s): [Google / Meta / LinkedIn]
Overall message match: [Score/60] — [Rating]

---

## Executive Summary

[3-4 sentences: Overall finding, biggest disconnect, top recommendation, estimated conversion impact]

---

## Audit Results by Ad → Landing Page Pair

### Ad 1: "[Ad headline excerpt]"
**Platform:** [Google Search / Meta / LinkedIn]
**Ad copy:**
> Headline: "[text]"
> Body: "[text]"
> CTA: "[text]"

**Landing page:** [URL]
> LP headline: "[text]"
> LP subhead: "[text]"
> LP CTA: "[button text]"

**Message Match Score: [X/60] — [Rating]**

| Dimension | Score | Issue |
|-----------|-------|-------|
| Promise continuity | [X/10] | [Specific finding] |
| Language match | [X/10] | [Specific finding] |
| CTA alignment | [X/10] | [Specific finding] |
| Specificity match | [X/10] | [Specific finding] |
| Emotional match | [X/10] | [Specific finding] |

**Disconnect found:** [Specific description of mismatch]
**Recommended fix:** [Specific change to ad or LP]

### Ad 2: ...

---

## Landing Page Friction Report

### [Landing Page URL]
| Friction Point | Status | Impact | Fix |
|---------------|--------|--------|-----|
| [Friction] | [Red/Yellow/Green] | [High/Med/Low] | [Specific fix] |

---

## Priority Fixes

### Critical (Fix This Week)
1. **[Ad/LP pair]:** [Specific mismatch] → [Specific fix]
   - Est. conversion impact: [X% improvement]

### Important (Fix This Month)
2. **[Issue]:** [Fix]

### Nice-to-Have
3. **[Issue]:** [Fix]

---

## Rewrite Suggestions

### For [Ad or LP with worst match]:

**Current ad headline:** "[current]"
**Suggested ad headline:** "[rewrite that matches LP]"

OR

**Current LP headline:** "[current]"
**Suggested LP headline:** "[rewrite that matches ad]"

Save to ad-lp-audit-[YYYY-MM-DD].md in the current working directory (or user-specified path).

Cost

ComponentCost
Landing page fetchingFree
AnalysisFree (LLM reasoning)
TotalFree

Tools Required

  • fetch_webpage or curl — for landing page analysis
  • No API keys required

Trigger Phrases

  • "Audit my ad-to-landing page match"
  • "Why is my conversion rate so low?"
  • "Check message match on our campaigns"
  • "Do our landing pages match our ads?"
  • "Run a CRO audit on our ad funnels"

How do I install Ad to landing page auditor in Cursor, Claude Code, or Codex?

Run npx skills add gooseworks-ai/goose-skills --skill ad-to-landing-page-auditor in the project where you want it, then ask your agent for the skill by name. The --skill flag installs only Ad to landing page auditor, not every skill in the repository.

Where does Ad to landing page auditor come from and what license is it under?

Ad to landing page auditor comes from the gooseworks-ai/goose-skills repository on GitHub. That repository has 912 GitHub stars. The skill is published under the MIT license.

Prefer plain text? Read the Ad to landing page auditor guide as markdown.