The Problem
Manual audits don't scale
Slow
One persona × one device takes 2–3 days. Full matrix is impossible.
Inconsistent
Different reviewers notice different things. No standard framework.
Not actionable
Findings sit in docs — not linked to experiments or backlog tickets.
Before
- Ad hoc, PM-dependent review
- Single device, single persona
- Freeform notes in a doc
- Issues found weeks after shipping
→
After
- Automated, structured, repeatable
- 3 personas × desktop + mobile
- Scored findings + hypotheses
- Runs on-demand or post-release
How It Works
6-stage audit pipeline
🎯
Journey Setup
query · channel · device
Automated
👤
Persona Select
intent · needs · context
Automated
🕵️
Funnel Walk
ad → landing → results → checkout
Automated
⚠️
Issue Detection
rules + AI pattern match
Rule + AI
📊
Severity Score
reach · impact · speed
Rule-based
💡
Hypotheses
experiment-ready output
AI
Live Example
End-to-end walkthrough with sample data
Audit run ·
🔍 "last minute hotel NYC tonight"
📱 Mobile (iOS)
💰 Google Paid Search
👤 Last-Minute Leisure Traveler
Stage 01
Journey Setup
Automated
Intake parameters
Query "last minute hotel NYC tonight"
Channel Google Paid Search
Device Mobile · iOS · 390px viewport
Scope Acquisition → Landing → Results → Detail → Checkout entry
Focus Trust signals, urgency cues, price consistency
Stage 02
Persona Select
Automated
Active persona definition
Name Last-Minute Leisure Traveler
Intent Book tonight — decision window < 2 hrs
Priority 1Availability confirmed for tonight
Priority 2Price anchor visible immediately
Priority 3Easy checkout — minimal friction
Red flags Price change mid-funnel · Hidden fees · Generic results
Stage 03
Funnel Walk
Automated
Surface-by-surface observations
📢 Ad copy
"Tonight's Best NYC Hotels — From $89/night. Book Now. Limited availability."
🏠 Landing page
First visible price: $129/night. No urgency message. Flexibility options below fold. Filter bar not visible on mobile.
📋 Results page
Generic sort: "Recommended." No scarcity signals. "Only 2 rooms left" hidden inside detail page. Filters collapsed behind tap.
🏨 Detail page
Cancellation policy visible. Price breakdown shown. CTA above fold. ✓ Clean.
Stage 04
Issue Detection
Rule + AI
Detected issues — rule-based checks first, then AI
RULE FAILPrice in ad ($89) ≠ first price on landing ($129) — 45% gap
RULE FAILFilter bar not visible on mobile without extra tap
RULE PASSCheckout CTA is above fold on detail page
RULE PASSQuery "NYC tonight" carried through to results page
AI FINDINGNo urgency signals for tonight availability — persona needs "2 rooms left" or "book before X PM" framing
AI FINDINGAd says "deals" — landing shows standard rate card. Trust gap: persona expecting a curated deal, not standard pricing
AI NOTEResults sort "Recommended" is ambiguous for last-minute intent — "Available Tonight" sort would be more relevant
Stage 05
Severity Score
Rule-based
Top 3 issues scored on reach · impact · fix speed
Price mismatch (ad → landing)
Score 14 / 15
No urgency signals on results
Score 10 / 15
Mobile filters hidden
Score 9 / 15
Stage 06
Hypotheses
AI
Experiment-ready output — backlog intake format
H1 (Priority 1) — We believe aligning the landing page price with the ad price (or explaining the difference inline) will reduce early bounce rate for mobile users arriving from paid search because the current 45% price gap creates an immediate trust break for last-minute, price-anchored travelers.
Suggested test: A/B · Landing price format · Primary metric: Scroll depth past first price · Secondary: Booking CVR
Suggested test: A/B · Landing price format · Primary metric: Scroll depth past first price · Secondary: Booking CVR
H2 (Priority 2) — We believe adding availability scarcity signals ("Only 3 rooms left for tonight") to results cards for same-day queries will increase click-through to detail pages for last-minute intent segments because urgency cues accelerate decisions for time-constrained travelers.
Suggested test: A/B · Results card variant · Primary metric: Detail page CTR for <12hr lead queries
Suggested test: A/B · Results card variant · Primary metric: Detail page CTR for <12hr lead queries
H3 (Priority 3) — We believe surfacing top 3 filters as persistent chips on the mobile results page will increase filter engagement and downstream booking rate because the current collapsed state adds unnecessary interaction cost for task-focused mobile users.
Suggested test: A/B · Mobile results layout · Primary metric: Filter engagement rate
Suggested test: A/B · Mobile results layout · Primary metric: Filter engagement rate
AI Role
What AI does — and doesn't
AI does this
Persona-lens evaluation
Assesses whether key decision signals are visible and accessible for the active persona (e.g. urgency cues for last-minute shoppers).
AI does this
Trust gap detection
Flags mismatches between what the acquisition ad promised and what the landing page delivers — a common conversion killer.
AI does this
Finding clustering
Groups related observations into themes across funnel stages rather than returning a flat list of issues.
AI does this
Hypothesis generation
Outputs "We believe [change] will [outcome] for [persona] because [rationale]" — ready for experiment intake.
⚡ Rule-based (not AI) — more reliable for these
Price consistency: ad → landing
Query continuity through funnel
CTA above fold on mobile
Funnel step reachability
Element presence checks
Sample Findings
What it surfaces
High
Acquisition promise ≠ landing page
Ad emphasized "flexible options." Landing page had zero flexibility messaging. Immediate trust gap for flexibility-seeking users.
💡 Surface flexibility above the fold on landing → improve conversion for flexibility-intent segments
High
Price inconsistency creates trust risk
Price shown in ad didn't match first price on landing (fee display difference). Price-sensitive users saw a mismatch before understanding why.
💡 Align fee format between ad and landing → reduce early bounce for price-sensitive segments
Medium
Mobile filters hidden behind extra tap
Top decision filters collapsed on mobile. Added interaction cost reduced filter engagement and degraded result quality.
💡 Persistent filter chips on mobile results → increase filter engagement and downstream conversion
Medium
No urgency signals for last-minute shoppers
Same-day searchers saw the same generic layout as users planning weeks out. No availability scarcity, no time-sensitive framing.
💡 Urgency-aware ranking + inline availability signals for short-lead queries → improve conversion for last-minute segment
Low
Business traveler signals buried below fold
Cancellation policy and flexibility tier were low in the card hierarchy — requiring scroll before business-oriented users could evaluate.
💡 Elevate policy signals in results cards for business segments → improve click-through to detail pages
Impact
What changed
| Dimension | Manual audit | Friction Finder |
|---|---|---|
| Speed | 2–3 days / persona | ↑ Full matrix in <2 hrs |
| Coverage | 1 persona, 1 device | ↑ 3 personas × desktop + mobile |
| Consistency | Varies by reviewer | ↑ Same checklist every run |
| Output format | Freeform notes | ↑ Scored findings + hypotheses |
| Backlog linkage | Manual translation | ↑ Direct experiment intake |
AI is most useful when it scales judgment — not replaces it.
PM takeaway · Friction Finder
🔒 Public-safe case study. Anonymized to protect confidential product and company information. Product thinking and AI workflow are genuine.