Target URL
https://gympluscoffee.com/
STEPS
6 / 6
DURATION
37.1s
UX SCORE
30
PERFORMANCE
75
FRICTION
0
✓
✓
✓
✓
✓
✓
Request Health
Issues detected during the journey
45
404 Not Found
1
Other 4xx
2
Server Errors (5xx)
86
Network Failures
48
Console Errors
49
Warnings
7
Plugins Detected
🚩 Journey Friction Breakdown
Step-by-step analysis of where friction was felt and why
LOW
MEDIUM
HIGH
CRITICAL
1
Homepage
Friction
40/100
"Slow initial page load sets a negative first impression"
- Page speed is slow, affecting first impressions
- Navigation clarity is compromised by layout shifts
- Intrusive popups delay exploration
Visitors experience delays due to the slow loading speed (FCP: 320ms) and layout shifts. This friction causes frustration, potentially leading to quick abandonment and negatively impacting conversion rates.
2
Browse Products
Friction
70/100
"404 errors and failed requests disrupt product browsing"
- Frequent 404 errors inhibit finding desired products
- Slow product grid loading impacts user patience
- Unresponsive filters lead to inefficiency
The significant number of 404 errors (45) and failed requests (134) make it difficult for users to efficiently browse products. This high friction can significantly decrease page views and affect the overall shopping experience.
3
Product Detail
Friction
50/100
"Unclear product details hinder decision making"
- Slow image loading diminishes engagement
- Lack of detailed descriptions reduces clarity
- Poor CTA visibility affects buying intent
Users face friction with slow image loads and vague product descriptions. Clear images and concise details are crucial for decision-making; their absence can lead to uncertainty and reduced buying confidence, impacting sales.
4
Select Variant
Friction
20/100
"Adequate selection process but potential for confusion"
- Inadequate out-of-stock feedback
- Visual confusion with swatches
The variant selection process is mostly smooth, but minor issues with feedback on out-of-stock items and swatch visibility can cause confusion. Addressing these would enhance the user experience and improve purchase rates.
5
Add to Cart
Friction
45/100
"Cart animations and feedback create a suboptimal experience"
- Delayed button feedback disorients users
- Cart animations are not smooth, creating uncertainty
- Misleading or confusing upsell popups
Users experience friction with delayed feedback and choppy animations when adding items to the cart. This can lead to confusion about whether the action was successful, which can deter further interaction and affect conversion rates.
6
Checkout
Friction
75/100
"Complex checkout form and errors jeopardize completion"
- Lengthy forms discourage completion
- Poor autofill functionality increases manual entry
- Insufficient trust signals for confident purchasing
The extended and cumbersome checkout process, coupled with inadequate autofill options, causes frustration. A lack of trust signals may lead to higher cart abandonment rates, impacting overall sales severely.
📷 Journey Screenshots
6 captures — click to expand
Step 1
Step 2
Step 3
Step 4
Step 5
Step 6
🤖 AI UX Analysis
Generated by openai/gpt-4o • May 15, 2026 20:02
Executive Summary
The overall UX health of the Gym+Coffee ecommerce website is suboptimal, with a UX Score of 30.0/100, indicating significant usability issues that could deter potential customers. Despite a reasonable performance score of 75.0/100, the frictionless score of 0/100 highlights severe issues that could hinder the purchase journey. Three critical issues include over 134 failed requests, primarily 404 errors indicating broken product links, which directly affect product availability and can lead to significant revenue loss through missed sales opportunities. Also prominent is a critical plugin issue: Google Tag Manager significantly impacts load performance by being render-blocking, potentially leading to higher bounce rates. Moreover, the 503 error in the '/cart.js' endpoint could result in checkout failures, leading to direct cart abandonment and lost transactions.
UX Audit
Navigation on the Gym+Coffee website lacks clarity due to potential broken links, as indicated by numerous 404 errors, directly impacting product discoverability. Navigation issues can frustrate users trying to locate specific items, increasing exit rates. The cart and checkout experience faces a severe impairment with a 503 error during the cart retrieval process, which can cause checkout disruptions. Android mobile responsiveness signals appear unreliable due to missing core web vitals data, potentially hinting at overlooked mobile optimisation. Accessibility concerns are not directly addressed in the data provided; however, the high volume of errors suggests potential barriers for users with disabilities.
CRO Recommendations
1. **Fix Broken Product Links (404 errors):** Update or remove outdated product URLs to eliminate 404 errors, improving user trust and navigation flow. **Expected Impact:** +15% conversion rate by decreasing the exit rate during shopping.
2. **Resolve Cart Retrieval Error (503 error):** Resolve server-side issue with 'cart.js' to ensure seamless cart functionality. **Expected Impact:** +10% on checkout completion rate by reducing cart abandonment.
3. **Optimise Google Tag Manager Use:** Reconfigure or remove unnecessary tags to ensure GTM is non-blocking, improving site load times. **Expected Impact:** +8% reduction in bounce rate as users experience faster loading pages.
4. **Mobile Experience Enhancement:** Conduct a thorough mobile UX analysis, ensuring core web vital compliance, improving engagement for mobile users. **Expected Impact:** +5% conversion rate by enhancing mobile interaction.
5. **Improve Accessibility:** Conduct a comprehensive accessibility audit, particularly focusing on navigational keys for better keyboard navigation and alternative text for images. **Expected Impact:** +3% increase in conversions from accessibility-compliant improvements.
6. **Simplify Checkout Process:** Introduce guest checkout options to reduce barriers to purchase. **Expected Impact:** +4% increase in the conversion rate by simplifying the checkout process.
Performance Diagnostics
Key performance metrics indicate varied results: a First Contentful Paint (FCP) of 320ms is efficient; however, the Lack of Largest Contentful Paint (LCP) data is concerning, suggesting potential user-perceived delays in loading essential content. Time to First Byte (TTFB) recorded at 0.0ms is anomalous, likely due to data capture issues. The Google Tag Manager being render-blocking is a notable bottleneck, obstructing page load performance.
Conversion Risk Analysis
1. **Severity: Critical - Broken Links (404 errors):** Triggered by outdated product links, directly reducing product accessibility and causing potential lost sales.
2. **Severity: High - Cart Retrieval Issue (503 error):** Leading to incomplete transactions during checkout, results in direct revenue loss from abandoned carts.
3. **Severity: Medium - Plugin Impact (GTM):** Slow page load due to render-blocking slows user engagement, elevating bounce rates.
Plugin Impact Analysis
Google Tag Manager, detected as high impact, significantly affects website performance due to its render-blocking nature. Essential plugins include Shopify for core ecommerce functionality and Google Analytics for tracking user behavior. Non-essential plugins like extra script tags should be removed or deferred to non-critical sections.
Prioritised Action Plan
### This Week
1. Resolve all 404 error product links by updating URLs or removing dead links.
2. Fix the 503 error affecting 'cart.js' functionality.
### This Month
3. Review and adjust Google Tag Manager to minimize its impact on load performance.
4. Conduct a comprehensive mobile UX review to address potential issues affecting mobile interactions.
5. Address any basic accessibility concerns that can be quickly resolved (e.g., alt text).
### This Quarter
6. Implement a guest checkout process to reduce friction in the checkout flow.
7. Elevate the overall site accessibility by conducting a full accessibility audit.
8. Regular analysis and cleanup of all unnecessary plugins and scripts.
9. Establish a routine monitoring system for continuous detection and resolution of errors logged.
10. Commence bi-quarterly website speed tests to continually optimize identified performance bottlenecks.
🚫 Failed Requests (134)
All HTTP errors and network failures captured during the journey
45 × 404
2 × 5xx
⚡ Core Web Vitals
First Input Delay (FID)
FID: 4ms — Good
First Contentful Paint (FCP)
FCP: 320ms — Good
🤒 Detected Plugins (7)
Reviews
low
RB
E-Commerce Platform
low
RB
Email Marketing
low
RB
Analytics/Tag Manager
high
RB
JavaScript Library
low
RB
Analytics
low
RB
Fonts
low
RB
🔴 Console Issues (48 errors, 49 warnings)
No customer consent to load Swym Wishlist Plus
Ignoring Unsecure message event origin: null
No customer consent to load Swym Wishlist Plus
[Stylitics]: API response does not satisfy the min results parameter.
Ignoring Unsecure message event origin: null
No customer consent to load Swym Wishlist Plus
[Stylitics]: API response does not satisfy the min results parameter.
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
%c%s Error parsing consent cookie, using defaults: background:#368bca;color:#fff; Analyzify GTM Pixel -> SyntaxError: Unexpected end of JSON input
at JSON.parse (<anonymous>)
at GTM_consent_mo
%c%s Error parsing consent cookie, using defaults: background:#368bca;color:#fff; Analyzify GTM Pixel -> SyntaxError: Unexpected end of JSON input
at JSON.parse (<anonymous>)
at GTM_consent_mode (https://gympluscoffee.com/web-pixels@7a919571w0b784b64p16d009bem0237e62e/custom/web-pixel-205226314@3/sandbox/modern/products/gym-coffee-gift-card:219:29)
at async GTM_init (https://gympluscof
In a sandboxed environment, addEventListener may not behave as expected.
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
In a sandboxed environment, addEventListener may not behave as expected.
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Ignoring Unsecure message event origin: null
Deprecated API for given entry type.
Deprecated API for given entry type.
Failed to load resource: the server responded with a status of 503 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 404 ()
Failed to load resource: the server responded with a status of 403 ()
Failed to load resource: the server responded with a status of 503 ()
💬 Ask the AI
Ask a follow-up question about this journey's data