New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Analyze the message match between your ads and landing pages

Ad to landing page auditor

by gooseworks-ai · MIT license · ★ 1,220 on GitHub · updated Sep 21

Ad to landing page auditor cover

Analyze the message match between your ads and landing pages. Checks if the promise in the ad copy carries through to the landing page headline, body, and CTA.

---
name: ad-to-landing-page-auditor
description: >
  Analyze the message match between your ads and landing pages. Checks if the promise
  in the ad copy carries through to the landing page headline, body, and CTA. Flags
  disconnects that kill conversion rates. Works with Google, Meta, and LinkedIn ads.
tags: [ads]
---

# 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?"

Overview

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.

Manual install (npx, ZIP)
Claude Codenpx skills add gooseworks-ai/goose-skills --skill ad-to-landing-page-auditor -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/gooseworks-ai/goose-skills/tar.gz/615c685f34f8 \ | tar -xz -C ~/.claude/skills --strip-components=4 goose-skills-615c685f34f8/skills/ads/composites/ad-to-landing-page-auditor
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/d46294ad175a5ef7cf9c/ad-to-landing-page-auditor.zip" -OutFile "$env:TEMP\ad-to-landing-page-auditor.zip"; Expand-Archive "$env:TEMP\ad-to-landing-page-auditor.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md6.7 KB
  • skill.meta.json411 B
Read the files here
gooseworks-ai/615c6852 files
SKILL.md
Show the full text216 lines

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 ID Platform Headline Body/Description CTA Landing Page URL Conv 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
Element Found? 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:

Dimension Score (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
Score Rating Meaning
50-60 Excellent Strong match — LP delivers on every ad promise
40-49 Good Minor disconnects but overall coherent
30-39 Needs work Noticeable gaps — visitor has to hunt for relevance
20-29 Poor Ad and LP feel like different products
Below 20 Critical Complete mismatch — fix immediately

Phase 3: Conversion Friction Analysis

Beyond message match, assess landing page conversion friction:

Friction Type Check Status
Load time Does the page feel heavy/slow? (Asset count proxy) [Fast/Slow/Unknown]
Form length How many fields before conversion? [N fields] — [Appropriate/Too many]
CTA clarity Is there one clear CTA or competing actions? [Clear/Cluttered]
Above-fold conversion Can someone convert without scrolling? [Yes/No]
Social proof placement Is proof near the CTA? [Yes/No]
Navigation distraction Does the LP have full site nav? (Should be minimal) [Minimal/Full nav]
Mobile experience Any 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

Component Cost
Landing page fetching Free
Analysis Free (LLM reasoning)
Total Free

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"
1---
2name: ad-to-landing-page-auditor
3description: >
4 Analyze the message match between your ads and landing pages. Checks if the promise
5 in the ad copy carries through to the landing page headline, body, and CTA. Flags
6 disconnects that kill conversion rates. Works with Google, Meta, and LinkedIn ads.
7tags: [ads]
8---
9 
10# Ad-to-Landing Page Auditor
11 
12The #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.
13 
14**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.
15 
16## When to Use
17 
18- "Why are my ads getting clicks but no conversions?"
19- "Audit my ad-to-landing page flow"
20- "Check message match on our campaigns"
21- "My conversion rate is low — help me figure out why"
22- "Review our landing pages for our ad campaigns"
23 
24## Phase 0: Intake
25 
261. **Ad copy** — For each ad, provide:
27 - Headline(s)
28 - Body / description text
29 - CTA text
30 - Platform (Google Search / Meta / LinkedIn)
312. **Landing page URLs** — The URL each ad points to
323. **Conversion goal** — What should happen after someone clicks? (Demo / Trial / Purchase / Download)
334. **Known conversion rates?** — Current click → conversion rate per ad/LP (if available)
34 
35If the user has a CSV export from their ad platform, parse that instead.
36 
37## Phase 1: Ad Inventory
38 
39Parse the provided ads into:
40 
41| Ad ID | Platform | Headline | Body/Description | CTA | Landing Page URL | Conv Rate (if known) |
42|-------|----------|----------|-----------------|-----|-----------------|---------------------|
43 
44## Phase 2: Landing Page Audit
45 
46For each unique landing page URL, fetch the page content:
47 
48```
49fetch_webpage: [landing_page_url]
50```
51 
52If `fetch_webpage` is not available, use `curl` to retrieve the page HTML.
53 
54Extract and score:
55 
56### 2A: Content Elements
57 
58| Element | Found? | Content |
59|---------|--------|---------|
60| **Hero headline** | [Y/N] | "[Text]" |
61| **Subheadline** | [Y/N] | "[Text]" |
62| **Primary CTA** | [Y/N] | "[Button text]" |
63| **CTA above fold** | [Y/N] | — |
64| **Social proof** | [Y/N] | [Logos / testimonials / metrics] |
65| **Benefit list** | [Y/N] | [Key benefits listed] |
66| **Form / Sign-up** | [Y/N] | [Field count: N] |
67| **Video** | [Y/N] | — |
68| **Trust signals** | [Y/N] | [Security badges, guarantees] |
69 
70### 2B: Message Match Scoring
71 
72For each ad → landing page pair, score on:
73 
74| Dimension | Score (1-10) | Criteria |
75|-----------|-------------|----------|
76| **Promise continuity** | [X] | Does the LP headline deliver on the ad's promise? |
77| **Language match** | [X] | Does the LP use the same words/phrases as the ad? |
78| **Visual continuity** | [X] | Does the LP feel like a continuation of the ad? (Not assessable for search) |
79| **CTA alignment** | [X] | Does the LP's ask match what the ad implied? |
80| **Specificity match** | [X] | If the ad was specific ("for sales teams"), is the LP specific too? |
81| **Emotional match** | [X] | If the ad used fear/urgency, does the LP carry that forward? |
82 
83**Message Match Score: [Average/60]**
84 
85### Scoring Guide
86 
87| Score | Rating | Meaning |
88|-------|--------|---------|
89| 50-60 | Excellent | Strong match — LP delivers on every ad promise |
90| 40-49 | Good | Minor disconnects but overall coherent |
91| 30-39 | Needs work | Noticeable gaps — visitor has to hunt for relevance |
92| 20-29 | Poor | Ad and LP feel like different products |
93| Below 20 | Critical | Complete mismatch — fix immediately |
94 
95## Phase 3: Conversion Friction Analysis
96 
97Beyond message match, assess landing page conversion friction:
98 
99| Friction Type | Check | Status |
100|--------------|-------|--------|
101| **Load time** | Does the page feel heavy/slow? (Asset count proxy) | [Fast/Slow/Unknown] |
102| **Form length** | How many fields before conversion? | [N fields] — [Appropriate/Too many] |
103| **CTA clarity** | Is there one clear CTA or competing actions? | [Clear/Cluttered] |
104| **Above-fold conversion** | Can someone convert without scrolling? | [Yes/No] |
105| **Social proof placement** | Is proof near the CTA? | [Yes/No] |
106| **Navigation distraction** | Does the LP have full site nav? (Should be minimal) | [Minimal/Full nav] |
107| **Mobile experience** | Any mobile-unfriendly elements? | [Good/Issues] |
108 
109## Phase 4: Output Format
110 
111```markdown
112# Ad-to-Landing Page Audit — [Product/Client] — [DATE]
113 
114Ads audited: [N]
115Unique landing pages: [N]
116Platform(s): [Google / Meta / LinkedIn]
117Overall message match: [Score/60] — [Rating]
118 
119---
120 
121## Executive Summary
122 
123[3-4 sentences: Overall finding, biggest disconnect, top recommendation, estimated conversion impact]
124 
125---
126 
127## Audit Results by Ad → Landing Page Pair
128 
129### Ad 1: "[Ad headline excerpt]"
130**Platform:** [Google Search / Meta / LinkedIn]
131**Ad copy:**
132> Headline: "[text]"
133> Body: "[text]"
134> CTA: "[text]"
135 
136**Landing page:** [URL]
137> LP headline: "[text]"
138> LP subhead: "[text]"
139> LP CTA: "[button text]"
140 
141**Message Match Score: [X/60] — [Rating]**
142 
143| Dimension | Score | Issue |
144|-----------|-------|-------|
145| Promise continuity | [X/10] | [Specific finding] |
146| Language match | [X/10] | [Specific finding] |
147| CTA alignment | [X/10] | [Specific finding] |
148| Specificity match | [X/10] | [Specific finding] |
149| Emotional match | [X/10] | [Specific finding] |
150 
151**Disconnect found:** [Specific description of mismatch]
152**Recommended fix:** [Specific change to ad or LP]
153 
154### Ad 2: ...
155 
156---
157 
158## Landing Page Friction Report
159 
160### [Landing Page URL]
161| Friction Point | Status | Impact | Fix |
162|---------------|--------|--------|-----|
163| [Friction] | [Red/Yellow/Green] | [High/Med/Low] | [Specific fix] |
164 
165---
166 
167## Priority Fixes
168 
169### Critical (Fix This Week)
1701. **[Ad/LP pair]:** [Specific mismatch] → [Specific fix]
171 - Est. conversion impact: [X% improvement]
172 
173### Important (Fix This Month)
1742. **[Issue]:** [Fix]
175 
176### Nice-to-Have
1773. **[Issue]:** [Fix]
178 
179---
180 
181## Rewrite Suggestions
182 
183### For [Ad or LP with worst match]:
184 
185**Current ad headline:** "[current]"
186**Suggested ad headline:** "[rewrite that matches LP]"
187 
188OR
189 
190**Current LP headline:** "[current]"
191**Suggested LP headline:** "[rewrite that matches ad]"
192```
193 
194Save to `ad-lp-audit-[YYYY-MM-DD].md` in the current working directory (or user-specified path).
195 
196## Cost
197 
198| Component | Cost |
199|-----------|------|
200| Landing page fetching | Free |
201| Analysis | Free (LLM reasoning) |
202| **Total** | **Free** |
203 
204## Tools Required
205 
206- **fetch_webpage** or **curl** — for landing page analysis
207- No API keys required
208 
209## Trigger Phrases
210 
211- "Audit my ad-to-landing page match"
212- "Why is my conversion rate so low?"
213- "Check message match on our campaigns"
214- "Do our landing pages match our ads?"
215- "Run a CRO audit on our ad funnels"
216 
View all files on GitHub →

Details

Updated
Sep 21, 2026
License
MIT
Stars on the repo
★ 1,220
Checked
Source
gooseworks-ai/goose-skills ↗
Creator
gooseworks-ai · 206 listings
View creator

Made with ad-to-landing-page-auditor

Ad to landing page auditor — CleanShot 2026-07-13 at 20 16 54@2x (from the gooseworks-ai/goose-skills README)
Ad to landing page auditor — CleanShot 2026-07-13 at 20 16 54@2x (from the gooseworks-ai/goose-skills README)

by gooseworks-ai

Similar skills

See all →
SkillAnalyze active ads from Meta/Facebook, GoogleAd library teardownScrapeCreators/social-media-research-skills · by ScrapeCreatorsUse when the user wants to analyze active ads from Meta/Facebook, Google, or LinkedIn ad libraries; tear down a competitor's messaging; extract hooks, offers, CTAs, video transcripts, landing page claims, and test ideas from public ads.★ 2.6k GitHub starsSkillTurn product materials into listing visuals for Taobao, JDEcommerce visual copywritingfeichanggege/ecommerce-visual-copywriting-skill · by feichanggegeTurn product materials into listing visuals for Taobao, JD, Douyin, Amazon, Shopify and TikTok Shop: main-image and detail-page storyboards, in-image copy, image prompts, plus an evidence and ad-compliance check.★ 985 GitHub starsSkillTell us about your plans and pricesPricing Page (High‑Conversion) — Web Design Skillboraoztunc/skills · by Meng ToTell us about your plans and prices, and get back a ready-to-build pricing page: plan layout, what each tier includes, buttons, and answers to common buyer questions.★ 361 GitHub starsSkillWrites opening hooks and post titles for long-form articlesCopywriting hookssamber/cc-skills · by samberWrites opening hooks and post titles for long-form articles in EN or FR — blog posts, Substack/Medium/dev.to, LinkedIn long-form, newsletters, essays. Trigger whenever the user asks for a hook, opening, lede, intro, first sentence/paragraph, opener, accroche, attaque, phrase d'accroche, or première phrase — including punching up a flat intro or draft opening — or for a post title, titre d'article, or headline. Do NOT trigger for social posts (LinkedIn feed, Twitter/X, TikTok, Bluesky), READMEs, taglines, email subjects, ad copy, landing-page headlines, press releases, SEO meta, or body rewrites. Do NOT use for end-of-article CTAs — use samber/cc-skills@copywriting-cta instead.★ 222 GitHub starsSkillSomeone wants landing page ideas, conceptsEcom landing pageskgelster/awesome-ecom-skills · by kgelsterUse when someone wants landing page ideas, concepts, or angles for a store: give me landing page concepts", "LP ideas", "landing page angles", a campaign or ad landing page, pages for a new audience/segment, a seasonal/event/promo page, or a geo/local page. Also use when a chosen concept gets picked and needs building out into an actual page (section-by-section blueprint), or when auditing an existing landing page against best practice. The core insight: one product becomes dozens of pages by varying the ANGLE, not the product. Not for full-site information architecture, product detail pages, collection pages, or blog/SEO content (a landing page has ONE goal, no site chrome). Use an SEO/content skill. Not for the ad or email creative itself, though message match with the page matters.★ 49 GitHub starsSkillWrite sales pages, email sequencesEW Skill — Sales CopyDeupaxx/EveryDay-Writer · by DeupaxxWrite sales pages, email sequences, and direct-response copy that converts through clarity and specificity rather than manipulation. Use for launches, offers, and conversion-focused email. Enforces the EW anti-AI rules, proof standards, and the writer's voice profile.★ 32 GitHub stars

More from gooseworks-ai

SkillMine the highest-converting ad angles from customer reviewsAd angle minergooseworks-ai/goose-skills · by gooseworks-aiMine the highest-converting ad angles from customer reviews, Reddit complaints, support tickets, and competitor ads. Extracts actual pain language, competitor weaknesses, and outcome phrases that real buyers use. Outputs a ranked angle bank with proof quotes and recommended ad formats per angle.★ 1.2k GitHub starsSkillAnalyze ad campaign performance data to identify what'sAd campaign analyzergooseworks-ai/goose-skills · by gooseworks-aiAnalyze ad campaign performance data (Google, Meta, LinkedIn) to identify what's working, what's wasting budget, and specific cut/scale/test recommendations. Runs statistical analysis, funnel diagnostics, and multi-channel budget reallocation with specific dollar-amount shift recommendations and scenario modeling.★ 1.2k GitHub starsSkillFor paid lead-gen and participant-recruitment adsAd lead quality analyzergooseworks-ai/goose-skills · by gooseworks-aiFor paid lead-gen and participant-recruitment ads, replaces vanity CPA with true CAC per qualified lead by joining ad-platform data with downstream funnel events, surfaces tracking gaps, and classifies every creative into Scale / Keep / Investigate / Cut.★ 1.2k GitHub starsSkillCheck and improve your brand's visibility across AI searchAeogooseworks-ai/goose-skills · by gooseworks-aiCheck and improve your brand's visibility across AI search engines (ChatGPT, Perplexity, Gemini, Grok, Claude, DeepSeek). Set up tracking, run visibility analyses, audit your website for AI readability, and get actionable recommendations. Uses the npx goose-aeo@latest CLI.★ 1.2k GitHub starsSkillSearch Amazon products - find items, compare pricesAmazon Product Searchgooseworks-ai/goose-skills · by gooseworks-aiSearch Amazon products - find items, compare prices, read reviews★ 1.2k GitHub starsSkillFast, high-quality web search with intelligent rankingAndi Search - Intelligent Web Searchgooseworks-ai/goose-skills · by gooseworks-aiFast, high-quality web search with intelligent ranking and instant answers★ 1.2k GitHub stars