Fullstory
CarGo UX Report
Usability Analysis — April 2026
Fullstory
UX & Purchase Funnel Report

Where CarGo
Loses Customers

Thirty days of behavioral data across 12,600 users in the purchase funnel reveals two structural failures that together collapse conversion to near zero. This report covers the full digital experience — from discovery through booking completion and the host onboarding flow — with session-level evidence for the highest-impact issues.

89.6% hit cart error 69% payment API failure ~1.2% funnel pass-through Fullstory MCP · 30d window

Two walls are shutting down the purchase funnel

Of 12,600 users who entered the purchase funnel, 89.6% hit a hard stop at the car detail page before ever reaching checkout. The "car is not available" error surfaces immediately on every attempt to book specific vehicles — but the inventory system offers no explanation, no alternative cars, and no path forward. Users rage click, then leave.

For the roughly 1.2% who make it through to checkout review, a second wall appears: the /v2/payments/approveFunds endpoint fails for 69% of them. Two of three session recordings show the failure is completely silent — no error state rendered, leaving users clicking a non-responsive submit button until they abandon.

Beyond the purchase funnel, frustration signals appear at every stage: rage clicks on non-interactive elements, city inventory API failures across 10+ markets, a 404 routing issue hitting 19,511 users, and broken UI patterns in checkout navigation.

Full Funnel Overview

Top friction signals at each stage of the CarGo digital experience, from first visit through host onboarding. Dot color indicates severity: critical, high, or medium.

Stage 01
Discovery & Search
City inventory API failures on 10+ markets (300–357 users/city) ~3,500+
Rage clicks on Pickup Location field — unresponsive or confusing UX 1,343
Search page refreshes — users retrying after no results 1,494
"No Cars Found" modal after location search — no alternatives shown 31
Stage 02
Car Selection (Search Results)
Rage clicks on Car Title Link — navigation not working as expected 2,097
Rage clicks on Car Image — click target or navigation broken 1,616
Rage clicks on Car Price / Total Price — no pricing detail available 684–1,322
Stage 03
Car Detail Page (PDP)
"Can't add to Cart — car not available" — instant hard stop 7,113
Rage clicks on Change Dates — workaround attempt, also fails 150
Share button dead clicks — SVG line element intercepting clicks 1,188
iOS: Add to Cart button error clicks in SwiftUI CarSelectionView ~50
Stage 04
Checkout Flow
/v2/payments/approveFunds network failure at payment confirm 49 (69%)
Transaction Denied console errors — payment processing failure 34 (54.8%)
Rage clicks on checkout step labels (Billing, Payment) — not navigable 441–464
Rage clicks on Edit Ride / Edit Billing in review — unresponsive 289–320
Error clicks on Confirm & Submit — booking fails at final step 60–68
Insufficient Funds errors surfacing during payment 15
Stage 05
Host Experience
Error clicks on "Finalize Lineup" — host-side booking action fails 581 (7.3%)
Error clicks on "Purchase Complete" — post-booking confirmation fails 70
Host Profile Page refreshes — load failures or unexpected state 11
Cross-Cutting
Platform-Wide Issues
404 page hit by 19,511 users — 87% immediately refresh (broken routing) 19,511
503 errors on /api/collect during cart attempts 977
JSON syntax error (HTML returned instead of JSON) on cart add 229
Usetiful in-app guide load failures — onboarding tool broken 1,405
The Two Walls

The purchase funnel collapses in two distinct places. Understanding each failure separately is critical — they require different fixes and affect different teams.

Funnel Math: 12,600 users entered the purchase funnel in the last 30 days. ~154 reached checkout review (~1.2% pass-through). The car availability failure alone accounts for the vast majority of this dropout.
12,600
users
11,290
blocked
~154
1.2%
~106
blocked
<50
EntryFunnel Start
Wall 1Cart Error
Survivors~1.2%
Wall 2Payment API
Converted<1%
Funnel Entrants
30d
12,600
users entered
Cart Error Rate
Wall 1
89.6%
hit "car not available"
Pass-Through
Survivors
~1.2%
reach checkout review
Payment Failure
Wall 2
69%
approveFunds fails
Converted
<1%
<50
bookings completed

Wall 1 — Car Availability Failure

🚗

7,113 users blocked (89.6% of funnel)

The inventory system surfaces cars that are not actually bookable. When a user clicks Add to Cart, the API returns an availability error immediately — there's no loading state, no partial success, just an instant failure message.

📍

10+ city markets also returning network errors

The /v2/cars/getAllCarsInOrgInCity endpoint is failing for Oklahoma City, Indianapolis, Charlotte, Austin, New York, Madison, Albuquerque, Savannah, St. Louis, Lansing, and others — 300–357 users per city.

🤷

Zero recovery UX at the failure point

The error gives no reason (date conflict? car condition? already booked?), no alternative car suggestions, no "check back" guidance. Users have nothing to do except leave.

Wall 2 — Payment Processing Failure

💳

69% payment API failure at final confirm

POST /v2/payments/approveFunds fails at the network level for 49 of ~71 users who reach checkout review. This is not a user payment method issue — it's an API reliability problem.

🔇

Silent failures are the norm

Session recordings show that 2 of 3 sampled payment failures produced no visible error state. The submit button appears to do nothing. Users rage click, wait, then abandon — with no idea what went wrong or how to fix it.

🔁

No retry or recovery path offered

Not one recorded session shows a user successfully editing their payment method or retrying with a different card after failure. There is no prompt to do so — the UI offers no guidance after the API fails.

Additional checkout friction: Even among users who don't hit the payment API failure, checkout has structural UX problems — checkout progress step labels (Billing, Payment) look interactive but aren't clickable, rage-clicked by 441–464 users. The Edit Ride and Edit Billing buttons in the review step are also rage-clicked by 289–320 users, suggesting the edit flow is not working reliably.
Session Evidence

Five session recordings sampled from the two failure groups. These are real user sessions — each shows what a person saw and did at the moment of failure.

Methodology: Sessions retrieved via Fullstory MCP using the ConsoleErrorsByText and NetworkErrorByPath signal groups from the 30-day purchase funnel scope. 5 of 5 sampled sessions ended in abandonment.
# Cart Availability Failures
2024 Toyota Camry
Car Detail Page · Selected dates · Attempted Add to Cart
Abandoned
User set rental dates and clicked Add to Cart.
Error appeared instantaneously — no loading state, no latency. Synchronous failure.
Rage clicked Add to Cart 3 additional times in rapid succession.
Scrolled back up the listing — searching for availability explanation. Found none.
Navigated back to search results. Did not click another car.
Session ends. No workaround attempted. Full abandonment.
↗ View in Fullstory
2023 Tesla Model 3
Car Detail Page · Selected dates · Attempted Add to Cart
Hard Abandoned
User browsed to Tesla Model 3 detail page. Viewed photos and specs.
Clicked Add to Cart. Error fired within ~1–2 seconds.
Rage clicked Add to Cart 3 more times.
No navigation to search results. No help or support click.
Hard abandoned on the detail page — did not navigate anywhere after the rage clicks. Session ends on the error state.
No "try similar cars" prompt surfaced. No date adjustment attempted.
↗ View in Fullstory
# Payment Processing Failures
Checkout Review → Payment Submit
Completed all checkout steps · Clicked Confirm & Pay
Error Shown
User navigated through trip details, driver info, and billing successfully.
Reached checkout review. Clicked the final Confirm & Pay button.
POST /v2/payments/approveFunds failed at network level.
Generic payment failure message appeared on screen.
Rage clicked submit button multiple times in rapid succession.
Did not navigate to edit payment details. No card change attempted.
Session ends in abandonment. Booking not completed.
↗ View in Fullstory
Checkout Review → Payment Submit
Completed all checkout steps · Clicked Confirm & Pay
Silent Failure
User completed full checkout form. Card details pre-populated.
Clicked submit. Payment API request failed at network level (not HTTP 4xx/5xx — connection failure).
No visible error state rendered. UI appeared to stall. User received zero feedback.
Rage clicked submit button at least twice more — believed app was unresponsive.
No edit of payment info. No retry with different method.
Session ends. No confirmation page reached. Booking lost.
↗ View in Fullstory
Checkout Review → Payment Submit
Completed all checkout steps · Clicked Confirm & Pay
Silent Failure
User reached final payment step. Tapped submit/confirm.
POST /v2/payments/approveFunds network error on first submit attempt.
No error state shown to user — UI did not surface failure. Button appeared to do nothing.
Rage clicks on submit button. User clearly frustrated by non-response.
No navigation to edit payment screen. No card change.
Session ends without order confirmation. Booking not completed.
↗ View in Fullstory
Issue Priority Matrix

All identified issues ranked by severity. Users affected reflects the 30-day window. Funnel impact is the estimated effect on booking conversion.

Issue Severity Users Affected Funnel Stage Conversion Impact
Critical — Direct Conversion Blockers
"Car not available" error on Add to Cart Critical 7,113 (89.6%) Car Detail Page Blocks 90% of funnel
/v2/payments/approveFunds network failure Critical 49 of ~71 (69%) Checkout Review Blocks final conversion
Silent payment failure — no error shown to user Critical 2 of 3 sessions Checkout Review Zero recovery possible
City inventory API failures (10+ markets) Critical ~3,500+ total Discovery / Search Dead-ends entire cities
High — Significant Friction & Drop-off
Rage clicks on Car Title Link (not navigating) High 2,097 (52%) Search Results Pre-funnel dropout
Rage clicks on Car Image (not navigating) High 1,616 (40%) Search Results Pre-funnel dropout
Rage clicks on Pickup Location field High 1,343 (33%) Search / PDP Discovery dropout
404 page with 87% refresh rate — routing broken High 19,511 Cross-cutting Lost entry traffic
Error clicks on "Finalize Lineup" (host) High 581 (7.3%) Host Experience Host-side booking fails
Error clicks on Confirm & Submit button High 60–68 Checkout Last-step conversion loss
503 errors on /api/collect during cart adds High 977 (13.7%) Cart Cart add failure
Medium — UX Friction Without Hard Block
Checkout step labels not clickable/navigable Medium 441–464 Checkout Increased abandonment
Edit Ride / Edit Billing buttons unresponsive Medium 289–320 Checkout Review Abandonment at review
Rage clicks on Total / Car Price (no breakdown) Medium 684–1,322 Search / PDP Trust / hesitation
Share button dead clicks (SVG element issue) Medium 1,188 Car Detail Page Referral loss
Usetiful guide loading failures Medium 1,405 Cross-cutting Onboarding/guidance loss
iOS Add to Cart error/dead clicks Medium ~50 iOS App Mobile conversion loss

Recommendations

Five prioritized fixes ordered by conversion impact. The first two address structural failures — everything downstream improves only after these are resolved.

P1 · Critical

Fix car availability — filter unbookable inventory from search results

The root cause is that the inventory system surfaces cars that fail the availability check. Either pre-filter results to only show bookable cars, or surface availability status inline on the search card so users never reach the PDP for an unavailable car. This single fix unblocks 89.6% of the purchase funnel. Also investigate and resolve the 10+ city markets returning API errors on /v2/cars/getAllCarsInOrgInCity.

P1 · Critical

Fix /v2/payments/approveFunds reliability and surface errors explicitly

The payment API is failing for 69% of users at the final step. Investigate and resolve the network-level failures. In parallel, ensure every failure path renders an explicit, actionable error state — "Your payment couldn't be processed. Please check your card details or try a different method." Session evidence shows the current implementation silently fails for the majority of users, leaving them with no information and no recovery path.

P2 · High

Add post-availability-error recovery UX on the car detail page

When a car is unavailable, show why (date conflict, already booked, condition) and surface 3–5 similar available vehicles inline. Session recordings show users scrolling back up the listing looking for an explanation — a recovery surface here would recapture a meaningful portion of these abandonments rather than sending them back to a cold search page.

P2 · High

Fix routing and resolve the 404 page refresh loop

19,511 users are landing on the 404 page with an 87% immediate refresh rate — indicating broken inbound links, expired deep links, or a routing regression. Audit inbound link sources, add redirect logic for common broken paths, and improve the 404 page itself with search and navigation options so users who do land there have a recovery path.

P3 · Medium

Fix checkout navigation UX and car image/title click targets

Make checkout progress step labels (Billing, Payment) clickable for backward navigation — 441–464 users are rage clicking these expecting navigation that doesn't exist. Fix the car image and title link click targets on search results — 52% of funnel users rage click these, indicating the navigation from search results to the car detail page has a hit-target or routing problem. Also fix the share button SVG element click interception on the PDP.