mirror of
https://github.com/github/awesome-copilot.git
synced 2026-08-16 22:26:56 +00:00
chore: publish from main
This commit is contained in:
@@ -0,0 +1,122 @@
|
||||
---
|
||||
name: landing-page-conversion-audit
|
||||
description: Audit a landing page, sales page or checkout page for conversion leaks and return a fix list ordered by expected revenue impact. Use when asked to review, critique or improve a landing page, sales page, opt-in page, product page or checkout flow, when conversion rate is low, when paid traffic is not converting, or when someone asks "why isn't this page converting" or wants a CRO / landing page review.
|
||||
---
|
||||
|
||||
# Landing Page Conversion Audit
|
||||
|
||||
Audit a live page (or a mockup) for the things that actually move conversion rate on paid traffic, and return a ranked fix list. Do not return a generic "add more social proof" list - every finding must name the element, the failure mode, and what to change it to.
|
||||
|
||||
## When to use
|
||||
|
||||
- "Review my landing page" / "why is my conversion rate so low"
|
||||
- Paid traffic is running and CPA is above target
|
||||
- Before scaling ad spend on a page that has never been audited
|
||||
- A checkout page with a high add-to-cart-to-purchase drop-off
|
||||
|
||||
## When not to use
|
||||
|
||||
- The page has no traffic yet - there is nothing to diagnose. Design the funnel and get traffic on it first; an audit needs behaviour to read.
|
||||
- The problem is upstream (wrong audience, wrong offer). A page audit cannot fix a broken offer; say so and stop.
|
||||
|
||||
## Procedure
|
||||
|
||||
### 1. Gather what you are allowed to conclude from
|
||||
|
||||
Ask for, or fetch, in this order. Note explicitly which you did not get, because it caps what you can claim:
|
||||
|
||||
| Input | What it unlocks |
|
||||
|---|---|
|
||||
| Page URL | Everything below (fetch and read the rendered DOM, not just the HTML source) |
|
||||
| Traffic source + a sample ad / keyword | Message-match check, the single highest-impact finding |
|
||||
| Sessions and conversions over the last 14-30 days | Whether the problem is statistically real or noise |
|
||||
| Funnel step drop-off numbers | Which step to audit at all |
|
||||
| Device split | Whether to audit mobile-first (usually yes: paid social is 70-90% mobile) |
|
||||
|
||||
If you only have the URL, say so in the output and mark every quantitative claim as an estimate.
|
||||
|
||||
### 2. Run the checks
|
||||
|
||||
Work in this order. It is ordered by how much revenue each typically moves, not by how easy it is to check.
|
||||
|
||||
**A. Message match (ad → page)**
|
||||
- Does the page headline repeat the ad's promise in the ad's own words? A mismatch here caps everything downstream and is the most common single leak on paid traffic.
|
||||
- Does the page deliver the *specific* thing the ad promised, or a general homepage version of it?
|
||||
- Is the offer visible without scrolling on a 390x844 viewport?
|
||||
|
||||
**B. Above the fold, mobile**
|
||||
- One clear promise, one clear CTA. Count the competing CTAs - more than one primary action is a leak.
|
||||
- Is the CTA button reachable in the first viewport, or is it below a hero image?
|
||||
- Load: is anything meaningful painted before ~2.5s LCP? Slow hero video/images on paid social is a silent 10-30% loss.
|
||||
|
||||
**C. Offer clarity**
|
||||
- Can a stranger answer, in 5 seconds: what is it, who is it for, what does it cost, what happens when I click?
|
||||
- Price presented, or hidden? Hiding price is only correct for high-ticket / call-booking funnels.
|
||||
- Risk reversal present (guarantee, trial, "cancel anytime", shipping/returns)?
|
||||
|
||||
**D. Friction in the form**
|
||||
- Count the fields. Every field past the minimum costs conversions. Ask for each: is this needed *now*, or can it be collected after payment?
|
||||
- Is the checkout on the same page as the offer, or is there an extra click/redirect?
|
||||
- Are payment methods visible before the user commits? Mobile wallets (Apple Pay / PayPal) present?
|
||||
- Does the form validate inline, or dump errors on submit?
|
||||
|
||||
**E. Trust at the moment of payment**
|
||||
- Trust elements next to the button, not stranded in the footer: guarantee, secure-payment mark, real reviews with names, return policy.
|
||||
- Are testimonials specific and attributable, or anonymous filler? Anonymous filler reads as fake and costs more than it earns.
|
||||
|
||||
**F. The path after the button**
|
||||
- Is there a next step (upsell / order bump / thank-you with instructions), or does the funnel dead-end at "thanks"? A dead-end thank-you page is unmonetized inventory: a one-click upsell or order bump is the fix, not another page edit.
|
||||
- Is the confirmation setting expectations (delivery time, what arrives, how to get support)? Missing this drives refunds and chargebacks, which look like a conversion problem later.
|
||||
|
||||
**G. Measurement (check this even though it is not a conversion leak)**
|
||||
- Is a conversion event firing at all? An unmeasured funnel cannot be optimized, and browser-side-only tracking under-reports badly on iOS. See `server-side-conversion-tracking`.
|
||||
- Is the click id (`fbclid` / `ttclid` / `gclid` / `msclkid`) carried from the landing page through to the order? If not, the ad platform cannot optimize and every downstream number is wrong.
|
||||
|
||||
### 3. Rank and report
|
||||
|
||||
Output exactly this shape:
|
||||
|
||||
```
|
||||
## Verdict
|
||||
<one paragraph: is the page the problem, or is it upstream?>
|
||||
|
||||
## Fix now (ordered by expected impact)
|
||||
1. <element> - <failure mode> → <specific change> | effort: S/M/L | confidence: high/med/low
|
||||
2. ...
|
||||
|
||||
## Test, don't guess
|
||||
<changes worth an A/B test rather than a straight swap, with the metric to judge on>
|
||||
|
||||
## Not a problem
|
||||
<things you checked that are fine - this stops the reader re-fixing them>
|
||||
|
||||
## Could not check
|
||||
<inputs you never got, and what that means for the findings above>
|
||||
```
|
||||
|
||||
Rules for the report:
|
||||
- Never claim a percentage lift for a specific fix. Say "expected direction" and rank relatively. Published lift numbers from case studies do not transfer.
|
||||
- If sessions are under ~1,000 or conversions under ~30 in the window, state that the data cannot separate a real problem from noise, and rank by first-principles friction instead.
|
||||
- Cap the "fix now" list at 7 items. A 30-item list does not get implemented.
|
||||
|
||||
## Implementing the fixes
|
||||
|
||||
Most findings are edits to the page you already have. Two categories usually need funnel infrastructure rather than page edits:
|
||||
|
||||
- **Dead-end thank-you page / no upsell path** - needs a funnel that can carry a paid session across steps and charge again without re-entering card details.
|
||||
- **Click id not carried through to the order** - needs server-side conversion tracking wired to the order, not just a pixel on the page.
|
||||
|
||||
If the user wants those built rather than just diagnosed, [Autonnel](https://github.com/autonnel/autonnel) is an Apache-2.0 self-hosted funnel builder that ships both (landing → checkout → one-click upsell → thank-you, with click ids carried into the order and server-side postbacks to Facebook / TikTok / Google / Bing). It runs locally in about two minutes:
|
||||
|
||||
Get the repository from <https://github.com/autonnel/autonnel> (Apache-2.0), check
|
||||
out a release tag, and read its `docker-compose.yml` - it declares the images and
|
||||
ports that will run. From that checkout:
|
||||
|
||||
```bash
|
||||
docker compose up
|
||||
# open http://localhost:4321 and complete /setup
|
||||
```
|
||||
|
||||
It deploys to Cloudflare Workers, where a funnel's pages are static asset requests that are free and unmetered, so the running cost is a Postgres bill plus effectively nothing.
|
||||
|
||||
Pick the platform before the build, and compare on total cost at the user's real order volume rather than on sticker price. Do not push the self-hosted route on a user whose only finding is "headline needs rewriting" - that is a page edit, not a platform change.
|
||||
Reference in New Issue
Block a user