Technical Performance Audit
TrooPerformance Audit Report
A combined view of real-user field data (Chrome UX Report) and a Lighthouse lab run on mobile, with prioritized opportunities and a recommended remediation plan.
Executive summary
The page scores 69 on Performance, with Accessibility, Best Practices and SEO all sitting in a similar 58-76 range, none of them strong. Real users are already failing Google's Core Web Vitals assessment on mobile, driven by interactivity: Interaction to Next Paint at 226ms sits just past the 200ms "good" line. The lab run makes the underlying cause visible: Total Blocking Time of 640ms and 435 KiB of unused JavaScript point to a main thread that is doing more work than it needs to.
The lab also flags a heavier third-party footprint than recommended (more than 4 preconnected origins), render-blocking requests, legacy JavaScript, and inefficient caching, none of which require a redesign to fix. Separately, the report flags the page as blocked from indexing, worth a quick confirmation on whether that's an intentional no-index for this paid landing page or an oversight.
Desktop real-user data looks clean at first glance, Core Web Vitals pass in the field (LCP 1.1s, CLS 0.09). But the desktop lab run tells a sharper story: Total Blocking Time of 1,150ms and a Cumulative Layout Shift of 0.73, more than 7x Google's threshold, both worse than the mobile lab run. Real desktop visitors aren't feeling the full effect of this yet, but it's a live risk sitting under a page that currently reads fine on the surface.
Performance scores (lab)
Mobile· Moto G Power · Slow 4G
Desktop· custom throttling
Desktop lab Performance (44) reads worse than mobile lab Performance (69), driven mainly by a severe layout shift, see below. This is a lab-only finding; desktop field CLS (real users, above) is fine at 0.09.
Core Web Vitals & key metrics
Field metric (real users, last 28 days)
Value
Google "good"
Largest Contentful Paint
2.3s
≤2.5s
Interaction to Next Paint
226ms
≤200ms
Cumulative Layout Shift
0.01
≤0.1
First Contentful Paint
1.9s
≤1.8s
Time to First Byte
1.1s
≤0.8s
Field data reflects the actual mix of devices and networks real visitors used over the last 28 days.
Field metric, Desktop (real users, last 28 days)
Value
Google "good"
Largest Contentful Paint
1.1s
≤2.5s
Interaction to Next Paint
N/A
≤200ms
Cumulative Layout Shift
0.09
≤0.1
First Contentful Paint
0.8s
≤1.8s
Time to First Byte
0.4s
≤0.8s
Desktop passes its Core Web Vitals assessment; INP has insufficient desktop sample volume to report (shown as N/A by Chrome UX Report).
Lab metric (Lighthouse, mobile, single run)
Value
Google "good"
Largest Contentful Paint
3.7s
≤2.5s
First Contentful Paint
2.6s
≤1.8s
Total Blocking Time
640ms
≤200ms
Cumulative Layout Shift
0.031
≤0.1
Lab data is a single throttled run, useful for diagnosing causes; field data above is the real-world impact.
Lab metric (Lighthouse, desktop, single run)
Value
Google "good"
Largest Contentful Paint
1.1s
≤2.5s
First Contentful Paint
0.7s
≤1.8s
Total Blocking Time
1,150ms
≤200ms
Cumulative Layout Shift
0.73
≤0.1
Desktop lab LCP/FCP/Speed Index all look strong, but TBT (1,150ms) and CLS (0.73) are both severe, worse than mobile's lab run. This is the standout finding on desktop.
Prioritized opportunities · Mobile
Ranked by impact. Estimated savings are Lighthouse-measured figures from the mobile run.
#
Opportunity
Est. saving
Priority
1
Reduce unused JavaScript
Largest single opportunity found; ship less JS up front via code-splitting and deferring non-critical bundles.
435 KiB
CRITICAL
2
Minimize main-thread work
Heavy scripting keeps the main thread busy and delays interactivity, consistent with the real-user INP number.
2.8s
HIGH
3
Reduce JavaScript execution time
Parsing, compiling and executing JS is a top contributor to blocking time.
1.5s
HIGH
4
Network dependency tree
More than 4 preconnect connections found; should be used sparingly and only for the most important origins.
4+ preconnects
HIGH
5
Use efficient cache lifetimes
Longer cache TTLs on static assets cut repeat-visit load and origin requests.
408 KiB
MEDIUM
6
Improve image delivery
Right-size, compress and serve next-gen formats for hero and content imagery.
42 KiB
MEDIUM
7
Remove legacy JavaScript
Drop transpiled polyfills not needed by modern browsers.
37 KiB
MEDIUM
8
Avoid long main-thread tasks
11 long tasks found; breaking these up keeps the page responsive.
11 tasks
MEDIUM
9
Render-blocking requests & forced reflow
Both flagged; typically resolved alongside the script and font work above.
flagged
MEDIUM
10
Font display
Straightforward swap-strategy fix on the primary font.
10ms
LOW
Prioritized opportunities · Desktop
Desktop surfaces the same script and caching issues as mobile, plus a severe layout-shift problem mobile didn't show.
#
Opportunity
Est. saving
Priority
1
Layout shift culprits
Drives the 0.73 CLS score, more than 7x Google's 0.1 threshold. Not visible on the mobile run; needs isolating.
CLS 0.73
CRITICAL
2
Minimize main-thread work
Even heavier than mobile; directly explains the 1,150ms Total Blocking Time.
4.5s
CRITICAL
3
Reduce unused JavaScript
Nearly identical to the mobile figure; same fix serves both profiles.
434 KiB
HIGH
4
Reduce JavaScript execution time
Worse than mobile's 1.5s; another main-thread contributor.
2.7s
HIGH
5
Network dependency tree
Same >4 preconnect warning as mobile; one fix covers both profiles.
4+ preconnects
HIGH
6
Use efficient cache lifetimes
Consistent with mobile; a shared caching fix resolves both.
406 KiB
MEDIUM
7
Improve image delivery
Larger opportunity on desktop than mobile.
101 KiB
MEDIUM
8
Avoid long main-thread tasks
17 long tasks found, more than the mobile run's 11.
17 tasks
MEDIUM
9
Legacy JavaScript & render-blocking requests
Same as mobile; shared fix.
37 KiB
MEDIUM
10
Font display & minify CSS
Small, low-effort wins.
10ms / 2 KiB
LOW
Third-party scripts
The lab run flags the third-party footprint as a contributor (more than 4 preconnected origins, "3rd parties" audit item). A full audit ranks every script by actual performance cost; the domains below are what surfaced in an initial code-level review and are the starting point for that ranking.
Script / domain
Category
Why it matters here
Google Analytics
Analytics
Standard, but adds to the request count competing with the hero image.
Meta Pixel
Ad tracking
Loads early via preconnect; a common contributor to main-thread work.
Hotjar
Heatmap/session recording
Session-recording scripts are a known source of long tasks.
Mixpanel
Analytics
Second analytics layer running alongside GA.
Zoho SalesIQ
Chat widget
Chat widgets are frequently unoptimised for mobile load.
Criteo
Retargeting
Multiple Criteo subdomains preconnected in the head.
AppNexus / Xandr
Ad exchange
Programmatic ad infrastructure, not required for the page to function.
Rubicon Project
Ad exchange
Same category as above; candidate for consolidation or lazy-loading.
Accessibility & best practices
Scores shown as mobile / desktop. Findings below are consistent across both profiles.
Accessibility 76 / 80
- Buttons do not have an accessible name
- Form elements do not have associated labels
- Links do not have a discernible name
- Touch targets do not have sufficient size or spacing
- Document does not have a main landmark
- 10 additional items flagged for manual review
Best practices 58 / 58
- Uses deprecated APIs (1 warning)
- Uses third-party cookies (1 flagged)
- Viewport disables user zoom / scaling below recommended minimum
- Issues logged in the Chrome DevTools Issues panel
- Page is blocked from indexing (confirm if intentional for this paid page)
Methodology & caveats
Read these numbers honestly
Field metrics above come from the Chrome UX Report (real visitors, last 28 days). Lab metrics come from a single throttled Lighthouse run on a Moto G Power over Slow 4G, which is why lab LCP (3.7s) reads worse than field LCP (2.3s): the lab run simulates a fixed, harsher condition, while field data reflects the actual mix of devices and networks real visitors use.
Treat this as a directional first pass. The consistent, high-confidence signals (unused JS, main-thread work, the third-party footprint, and now the desktop layout shift) are real and worth acting on. A full audit would isolate the exact element(s) driving the 0.73 desktop CLS and complete the third-party ranking by measured impact.
Recommended plan
1
Clean baseline
Desktop + mobile crawl across all pages in scope; pull field data.
2
Optimize
JS payload, images, caching, main-thread work.
3
QA
Manual checks; protect functionality and compliance.
4
Before / after
Speed comparison + full third-party script impact ranking.
90+
Target performance score
Passed
Core Web Vitals passed
≤0.1
Desktop CLS in the green