Above-the-fold capture of purple.com
their above-the-fold, as captured

UXXRAY · Teardown dossier ◉ scanned Jul 19, 2026

purple.com

ecommerce · desktop · Roentgen 1.4

Biggest quick win

Smallest body text is 12px (base ~12px). below the ~16px readable floor. Keep body copy ≥15-16px; reserve sub-13px for fine print only.

5 of 13 conversion signals detected

40 /100 coverage

Thin ★★☆☆☆ weighted for impact · 6 measured categories

UXXRAY scans for 13 conversion tactics with deterministic rules. Unconventional builds may not register, so this is detection coverage, not a verdict. Scored by Roentgen 1.4; detection improves, so rescan anytime.

Score breakdown

  • Offer clarity 10/18
  • Action path 6/13
  • Trust & proof 6/17
  • Friction reduction 15/15
  • Value reinforcement 0/15
  • Risk reversal & urgency 0/10

The funnel, frame by frame

see their whole funnel without clicking through it. scored step by stepmeasured
Homepage / Lander
01

Homepage / Lander

5 tactics

$100 +10 more  ·  2 proof points

Sticky CTAReviewsTrust badgesFree shippingLogo wall
Mattresses
02

Mattresses

5 tactics

$100 +9 more  ·  2 proof points

Sticky CTAReviewsFAQFree shippingLogo wall
Bed Frames
03

Bed Frames

5 tactics

$100 +7 more  ·  2 proof points

Sticky CTAReviewsFAQFree shippingLogo wall
Cart
04

Cart

5 tactics

$100 +7 more

Sticky CTATrust badgesFree shippingLogo wallExpress pay

Offer

how clearly they present the deal and its valuemeasured
10/18partialpoints earned
  • Anchor / strikethrough pricing$1299
  • Free shippingFree shipping

Tactics we scan for but didn't detect

Add them to lift coverage, or tell us we missed one.

  • per-unit price anchor
  • subscription / auto-ship

Action

the path to convert. CTA, sign-up, checkoutmeasured
6/13partialpoints earned
  • Express wallets

Tactics we scan for but didn't detect

Add them to lift coverage, or tell us we missed one.

  • proof above the fold

Trust

proof, social proof, and credibilitymeasured
6/17partialpoints earned
  • On-page review wall46 review elements6 review elements

Tactics we scan for but didn't detect

Add them to lift coverage, or tell us we missed one.

  • proof at every step
  • money-back guarantee

Friction

objections answered, barriers removedmeasured
15/15highpoints earned
  • FAQ / objection handling
  • Express wallets
  • Free shippingFree shipping

Value

why it’s worth it. comparison and reinforcementmeasured
0/15nonepoints earned

No signals detected for this category on the captured funnel.

Tactics we scan for but didn't detect

Add them to lift coverage, or tell us we missed one.

  • us-vs-them comparison
  • stacked free gifts
  • per-unit price anchor

Risk & Urgency

risk reversal and reasons to act nowmeasured
0/10nonepoints earned

No signals detected for this category on the captured funnel.

Tactics we scan for but didn't detect

Add them to lift coverage, or tell us we missed one.

  • money-back guarantee
  • countdown / urgency timer

UX signals

measured UX quality. contrast · mobile · type · a11y · layoutmeasured
Minor
2 flags · 8 checks

Measured UX quality. flags, not opinions. Deterministic, evidence-backed, and kept separate from the conversion score.

Readability & contrast

WCAG AA on measurable text. worst offenders quoted, never a fail we can’t compute.
GOODText contrast (WCAG AA)

100% of measurable text passes WCAG AA. 43% of text was unmeasurable (over images/gradients). not counted either way.

Mobile & tap targets

Responsive viewport + touch-target sizes where it matters.
GOODMobile viewport

Responsive viewport meta is present.

Typography

Body size, line-height, line length. is the pitch actually readable?
NEEDS WORKBody text size

Smallest body text is 12px (base ~12px). below the ~16px readable floor.

Keep body copy ≥15-16px; reserve sub-13px for fine print only.

NOTELine length

29 paragraphs run past ~95 characters per line.

Cap measure at ~60-75ch for comfortable reading.

Accessibility hygiene

Language, alt text, form labels, named controls, headings, link clarity.
GOODLanguage declared

html[lang] is set for screen readers.

GOODImage alt text

All 57 content images carry alt text.

NEEDS WORKNamed controls

3 buttons/links have no accessible name (icon-only, no aria-label).

Add aria-label to icon-only buttons and links.

NOTELink text

8 links use generic text (“click here” / “learn more”).

Make link text describe its destination out of context.

Next move

Now line it up against a competitor.

Paste any URL. We’ll run the same scan, the same rubric, and put the two funnels side by side. category by category, all measured.

Live scan · 15-25 sec · same rubric · nothing is guessed

Brand kit

palette by on-page usage · type rendered livemeasured
full palette ordered by on-page usage %
primary#181831
accent#181831
bg#f8f5ef
surface#ffffff
text#181831
accent

Body copy in their text role, on a surface card.

the roles, doing their job
The quick brown fox40px
Jumps over the lazy dog32px
A subheading in their voice28px

Body copy set at their measured paragraph size. This is how their product reads to a first-time visitor. same family, same scale, same weight.

  • List item one, at body scale
  • List item two
  • List item three

Teardown report. copy for your LLM

the full evidence-based read: what this funnel does well, where it is thin, and the on-page proof for each. paste into any agent to learn from
purple.com · 5/13 tactics · 3 proof templates · evidence-backed
# Agent Brief. build in the style of purple.com

> Machine-extracted from a live on-demand funnel teardown (2026-07-19). 100% facts —
> measured tokens, detected patterns, harvested proof strings. No LLM interpretation.
> Single-page capture (MVP): homepage/landing page only, no funnel walk.
> Tokens: `tokens.json` / `tailwind.css`.

**Category (label):** —
**Funnel:** Homepage / Lander → Mattresses → Bed Frames → Cart

## Palette (area-weighted from live CSS)
| Hex | Usage | Likely role |
|-----|------:|-------------|
| `#f8f5ef` | 67.1% | background |
| `#ffffff` | 28.9% | background |
| `#181831` | 3.5% | support |
| `#ca2b16` | 0.3% | accent/brand |
| `#f7f7f7` | 0.1% | background |

Curated roles: `primary=#181831` · `accent=#181831` · `bg=#f8f5ef` · `surface=#ffffff` · `text=#181831`

## Type
- Display: `Graphik`
- Body: `Graphik`
- Size scale (px): 8, 10, 12, 13, 14, 16, 18, 22, 24, 28, 32, 40
- Radius (px): 4, 8, 16, 48, 50

## Patterns detected (fact-based). 5/13
- **Anchor / strikethrough pricing**. A struck-through original price or an "X% off" claim. _(home: $1299; p2: $1299)_
- **On-page review wall**. An embedded wall of customer reviews. _(home: 46 review elements; p2: 6 review elements; p3: 6 review elements)_
- **Express wallets**. One-tap wallets (Shop Pay / PayPal / G Pay) offered. _(cart: express wallet button)_
- **Free shipping**. Free shipping / delivery surfaced in the funnel. _(home: Free shipping; p2: Free shipping; p3: Free shipping)_
- **FAQ / objection handling**. An accordion / FAQ block answering objections. _(p2: Frequently asked questions What is the difference between The Purple Mattress® and the Pur; p3: Frequently asked questions What's the difference between the Premium Smart Base, Premium P)_

## Proof language (harvested strings → templates)
- `Free shipping`. e.g. "Free shipping"
- `LIMITED TIME`. e.g. "LIMITED TIME"
- `{N} Reviews`. e.g. "666 Reviews", "143 Reviews"

## Funnel facts
- Depth reached: 4 step(s) (single-page MVP capture)
- Proof points: 4 across 3 step(s)
- Discount/anchor pricing: yes · Countdown: no · Subscription: no

## To replicate
Match the palette + type tokens above and deploy the detected patterns. This is a single-page capture. no cart/checkout tactics were evaluated.