The funnel, frame by frame see their whole funnel without clicking through it. scored step by step measured Desktop 4 steps
⤢
01
Homepage / Lander
$14.99 +24 more · 50% OFF · subscription · 4 proof points
Sticky CTA Free gift Trust badges Free shipping Logo wall
⤢
02
Collections
$14.99 +24 more · 50% OFF · 4 proof points
Sticky CTA Free gift Trust badges Press Free shipping Logo wall
⤢
03
Products ▲ strongest
$14.99 +15 more · 50% OFF · 5 proof points
Sticky CTA Reviews Free gift Trust badges Press Free shipping Logo wall
⤢
04
Cart ▼ thinnest
$14.99 +22 more · 50% OFF · 4 proof points
Sticky CTA Free gift Trust badges Free shipping Logo wall
Offer how clearly they present the deal and its value measured
10/18 partial points earned
Anchor / strikethrough pricing $225.00 / $275.00 / $327.00 / $169.00 / 50% OFF $445.00 / $50.00 / $14.99 / 50% OFF $225.00 / 50% OFF 50% OFF Free shipping free shipping
Tactics we scan for but didn't detect
Add them to lift coverage, or tell us we missed one.
per-unit price anchor
we have this →
subscription / auto-ship
we have this →
Action the path to convert. CTA, sign-up, checkout measured
0/13 none points 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.
proof above the fold
we have this →
express wallets
we have this →
Trust proof, social proof, and credibility measured
14/17 high points earned
Proof at every step 4624 reviews 261 reviews 4625 Reviews 2364 reviews On-page review wall 4 review elements
Tactics we scan for but didn't detect
Add them to lift coverage, or tell us we missed one.
money-back guarantee
we have this →
Friction objections answered, barriers removed measured
4/15 low points earned
Free shipping free shipping
Tactics we scan for but didn't detect
Add them to lift coverage, or tell us we missed one.
FAQ / objection handling
we have this →
express wallets
we have this →
Value why it’s worth it. comparison and reinforcement measured
0/15 none points 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
we have this →
stacked free gifts
we have this →
per-unit price anchor
we have this →
Risk & Urgency risk reversal and reasons to act now measured
0/10 none points 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
we have this →
countdown / urgency timer
we have this →
UX signals measured UX quality. contrast · mobile · type · a11y · layout measured
Leaky
3 flags · 9 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.
GOOD Text contrast (WCAG AA)
100% of measurable text passes WCAG AA. 16% of text was unmeasurable (over images/gradients). not counted either way.
Mobile & tap targets Responsive viewport + touch-target sizes where it matters.
GOOD Mobile viewport
Responsive viewport meta is present.
Typography Body size, line-height, line length. is the pitch actually readable?
NEEDS WORK Body 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.
NEEDS WORK Line height
Body line-height is 1×. tight enough to hurt readability.
Set body line-height to ~1.4-1.6×.
NOTE Line length
8 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.
GOOD Language declared
html[lang] is set for screen readers.
NOTE Image alt text
35 of 301 content images (12%) have no alt attribute.
Add descriptive alt to content images; alt="" for purely decorative ones.
NEEDS WORK Named controls
11 buttons/links have no accessible name (icon-only, no aria-label).
Add aria-label to icon-only buttons and links.
NOTE Link text
1 link uses 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 live measured
full palette ordered by on-page usage %
accent
Body copy in their text role, on a surface card.
Primary CTA
the roles, doing their job
The quick brown fox48px
Jumps over the lazy dog40px
A subheading in their voice20px
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
Primary action
Hover (simulated)
Disabled
SIZE SCALE
12px Aa
14px Aa
16px Aa
18px Aa
20px Aa
40px Aa
48px Aa
WEIGHTS
FAMILIES
ValueSerif Bold · ValueSans
rendered in their own type system · webfont not loaded. system fallback if uninstalled
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
grove.co · 4/13 tactics · 5 proof templates · evidence-backed
Copy report →
# Agent Brief. build in the style of grove.co
> Machine-extracted from a live on-demand funnel teardown (2026-07-20). 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 → Collections → Products → Cart
## Palette (area-weighted from live CSS)
| Hex | Usage | Likely role |
|-----|------:|-------------|
| `#ffffff` | 45.2% | background |
| `#033b4c` | 8.4% | support |
| `#000000` | 5.2% | support |
| `#faf3dc` | 4% | background |
| `#3c8783` | 3.5% | support |
| `#d0dee9` | 3.5% | background |
| `#f4f2ee` | 3.5% | background |
| `#aaf2f3` | 3% | background |
Curated roles: `primary=#005943` · `accent=#005943` · `bg=#ffffff` · `surface=#faf3dc` · `text=#033b4c`
## Type
- Display: `ValueSerif Bold`
- Body: `ValueSans`
- Size scale (px): 12, 14, 16, 18, 20, 40, 48
- Radius (px): 4, 6, 16, 20, 50, 33554400
## Patterns detected (fact-based). 4/13
- **Proof at every step**. Social proof (reviews / ratings / counts) present across most funnel steps. _(home: 4624
reviews; p2: 261
reviews; p3: 4625 Reviews)_
- **Anchor / strikethrough pricing**. A struck-through original price or an "X% off" claim. _(home: $225.00 / $275.00 / $327.00 / $169.00 / 50% OFF; p2: $445.00 / $50.00 / $14.99 / 50% OFF; p3: $225.00 / 50% OFF)_
- **On-page review wall**. An embedded wall of customer reviews. _(p3: 4 review elements)_
- **Free shipping**. Free shipping / delivery surfaced in the funnel. _(home: free shipping; p2: free shipping; p3: free shipping)_
## Proof language (harvested strings → templates)
- `{N} reviews`. e.g. "4624 reviews", "261 reviews"
- `Free shipping`. e.g. "Free shipping"
- `limited time`. e.g. "limited time"
- `{N}% OFF`. e.g. "50% OFF"
- `{X} out of 5`. e.g. "4.7 out of 5"
## Funnel facts
- Depth reached: 4 step(s) (single-page MVP capture)
- Proof points: 8 across 4 step(s)
- Discount/anchor pricing: yes · Countdown: no · Subscription: yes
## 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.