UXXRAY · facts, not opinions
← all teardowns

vpn.com — funnel x-ray

custom · · 2026-07-07
#ffffff #2663eb #f8fafc #a855f7 #dcfce7
2steps deep
30/100Sparse
2proof points
68%top discount

Evidence coverage

the /100 — and the exact signals behind each category
30/100
Sparse evidence coverage
Offer clarity6/20
Anchor / strikethrough pricing
Action path7/20
Proof above the fold
Trust & proof3/20
Money-back guarantee
Friction reduction6/15
FAQ / objection handling
Value reinforcement0/15
no signals detected
Risk reversal & urgency7/10
Money-back guarantee

Evidence Coverage Score: deterministic points across a fixed 6-category conversion rubric (Offer 20 · Action 20 · Trust 20 · Friction 15 · Value 15 · Risk/Urgency 10 = 100), each capped so no single area dominates. Every point traces to an on-page evidence string. It measures coverage, not quality — no opinions, no predictions.

Palette

every color by on-page usage · the roles doing their job
full palette ordered by on-page usage %
primary#2663eb
accent#2663eb
bg#ffffff
surface#f8fafc
text#0f172a
accent

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

the roles, doing their job

Typography

their type system, rendered live
The quick brown fox72px
Jumps over the lazy dog40px
A subheading in their voice36px

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

Shape

the corner-radius scale, drawn
5px
6px
8px
10px
12px

Offer & pricing

rebuilt from extracted facts — nothing invented
RECONSTRUCTION — rebuilt from extracted facts
$1.9968% off
$3.39$3.49$1.78
One-timeSubscribe
source: step 2 · Best Vpn For Streaming — every value extracted, nothing invented

The funnel

2 steps walked · desktop + mobile

Desktop ↔ Mobile differences

what the site hides / shows by device — measured
Tactics detected🖥 4  ·  📱 4
Proof points🖥 2  ·  📱 2
Avg font size (px)🖥 18  ·  📱 16 (Δ 2)
Checkout fields🖥 0  ·  📱 0
Tactic paritysame tactics detected on both devices
Homepage / Lander
1Homepage / Lander
Best VPNs: Fast, Private & Affordable
no tactics detected on this step
“EN”“Security”“Streaming”
Best Vpn For Streaming
2Best Vpn For Streaming
Best VPN for Streaming: Access Content & Stream in 4K
2 proof points68% off% offsubscription4 components
“EN”
Nordvpn Coupon
3Nordvpn Couponstalled
Page Not Found — VPN.com
no tactics detected on this step

Tactics detected

applicable conversion tactics — click any for its evidence string
·Proof at every step
·Stacked free gifts
·Countdown / urgency timer
Anchor / strikethrough pricing
s2: 68% off
·Subscription / auto-ship
·Per-unit price anchor
·Us-vs-them comparison
·On-page review wall
·Express wallets
·Free shipping
Money-back guarantee
s2: 30-day money-back guarantee
FAQ / objection handling
s2: FAQ/accordion
Proof above the fold
s2: proof in first viewport
·Free trial / freemium
·Trusted-by logo wall
·Usage / adoption proof
·Pricing tiers
·Demo / docs entry

Proof & trust language

the social-proof strings, harvested
{N}-day money-back guarantee — 30-day money-back guarantee (1)
{N}% off — 68% off (1)

Build brief — copy for your agent

the whole teardown as one grounded spec: tokens · proof language · detected tactics · funnel facts
vpn.com · 4/18 tactics · 2 proof templates · tokens ✓
# Agent Brief — build in the style of vpn.com

> Machine-extracted from a live funnel teardown (2026-07-07). 100% facts — measured
> tokens, detected patterns, harvested proof strings. No LLM interpretation.
> Tokens: `tokens.json` / `tailwind.css`.

**Category (label):** —
**Funnel:** Homepage / Lander → Best Vpn For Streaming → Nordvpn Coupon

## Palette (area-weighted from live CSS)
| Hex | Usage | Likely role |
|-----|------:|-------------|
| `#ffffff` | 71.9% | background |
| `#2663eb` | 11.5% | accent/brand |
| `#f8fafc` | 9.5% | background |
| `#a855f7` | 4.8% | accent/brand |
| `#dcfce7` | 1.5% | background |
| `#0a0a0a` | 0.8% | support |

Curated roles: `primary=#2663eb` · `accent=#2663eb` · `bg=#ffffff` · `surface=#f8fafc` · `text=#0f172a`

## Type
- Display: `ui-serif`
- Body: `ui-sans-serif`
- Size scale (px): 11, 12, 14, 16, 18, 24, 36, 40, 72
- Radius (px): 5, 6, 8, 10, 12

## Patterns detected (fact-based) — 4/18
- **Anchor / strikethrough pricing** — A struck-through original price or an "X% off" claim. _(s2: 68% off)_
- **Money-back guarantee** — An N-day / money-back guarantee stated. _(s2: 30-day money-back guarantee)_
- **FAQ / objection handling** — An accordion / FAQ block answering objections. _(s2: FAQ/accordion)_
- **Proof above the fold** — Social proof rendered within the first viewport on at least one step. _(s2: proof in first viewport)_

## Proof language (harvested strings → templates)
- `{N}-day money-back guarantee` — e.g. "30-day money-back guarantee"
- `{N}% off` — e.g. "68% off"

## Funnel facts
- Depth reached: 2 steps
- Proof points: 2 across 1 steps
- Free-gift line items (max on a step): 0
- Discount/anchor pricing: yes · Countdown: no · Subscription: yes
- Price continuity lander→checkout: not detected

## To replicate
Match the palette + type tokens above, deploy the detected patterns at the same funnel positions, and reuse the proof-language templates with your own numbers.