Skip to main content
Card class: Non-HeroCategory: Website Performance

At a glance

Per-URL ranking of pages with the worst Interaction to Next Paint, sorted descending. Surfaces individual URLs with their INP value, traffic share, and the dominant slow interaction (filter widget, sort dropdown, cart-drawer mount, etc.). Completes the per-URL CWV trio alongside psi_slowest_lcp_urls and psi_worst_cls_urls. INP is the most JavaScript-driven of the three CWVs, so per-URL ranking surfaces interactive widgets that need engineering attention.
What it countsList of audited URLs with their p75 INP value, traffic share, the worst interaction type captured during audit (or via field-data CrUX URL-level), and recommended fix. Sorted descending by INP.
Sample typeMixed: Lab Total Blocking Time (lab approximation of INP) for synthetic measurement, plus field INP from CrUX URL-level dataset where available.
Why per-URL matters for INPINP is interaction-driven; specific widgets on specific URLs fail it. Collection pages with filter widgets fail differently than PDPs with cart-drawer mounts. Per-URL ranking lets the merchant target specific widget refactors rather than treating INP as site-wide.
INP × traffic rankingSame logic as LCP and CLS cards: commercial impact = INP × traffic share. The card surfaces both dimensions.
Common dominant slow interactions(1) Collection page: filter checkbox click → faceted-search re-fetch + grid re-render. (2) PDP: “Add to cart” button → cart-drawer mount + analytics fire. (3) Currency switcher: page-wide price recalculation. (4) Search overlay: modal mount + product-search fetch. (5) Sort dropdown: change handler + grid re-render. (6) Mobile menu: drawer animation + JS state management.
Currencyn/a, list with millisecond annotations.
Time windowT (current state) for lab; 28D for field measurements where available.
Alert triggertop URL > 500ms INP (any single URL in the poor band).
Sentiment keynull
Rolesowner, operations

Calculation

Calculated automatically from your Website Performance (PageSpeed + CrUX) data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.

Worked example

A US-based BigCommerce home goods store, 30-URL audit, mobile, Wednesday 15 May 26.
RankURLp75 INPTraffic shareDominant slow interactionINP × traffic
1/collections/lighting720ms8.4%Filter checkbox click (612ms) + sort dropdown (484ms)60.5
2/collections/furniture680ms6.8%Same filter widget pattern46.2
3/collections/all-products612ms5.4%Same filter widget pattern33.0
4/ (homepage)380ms22.0%Currency switcher (720ms when used)83.6
5/collections/sale540ms7.8%Filter widget42.1
6/products/dining-table-large420ms4.2%Cart-drawer mount (cart-add interaction)17.6
7/collections/decor480ms5.6%Filter widget26.9
8/products/floor-lamp-modern380ms3.8%Cart-drawer mount14.4
9/search460ms2.4%Search-result render after type11.0
10/cart220ms12.0%Quantity update interaction26.4
What the per-URL view is telling us:
  1. The homepage at INP 380ms ranks #4 by absolute but #1 by INP × traffic (83.6 weighted score). Despite faster absolute INP than collection pages, the 22 percent traffic share dominates. The currency switcher is the slow interaction, page-wide price recalculation triggered when users switch from USD to GBP/EUR/CAD. The homepage currency switcher is the highest-leverage INP fix.
  2. Collection pages cluster at INP 480-720ms with the same dominant interaction: the filter checkbox click. The faceted-search filter widget re-fetches and re-renders the product grid synchronously. One template-level fix (debounce + virtualise + defer analytics) improves all 12 collection pages simultaneously. Estimated post-fix: collection p75 INP drops to 200-280ms.
  3. PDPs (ranks 6, 8) have INP 380-420ms with cart-drawer mount as the dominant interaction. The drawer mount triggers a JS-heavy component that causes a long task before paint. Refactor cart-drawer to use CSS-driven slide animation with progressive enhancement; estimated post-fix: PDP p75 INP drops to 150-200ms.
  4. The cart page at INP 220ms is healthy but high-traffic (12 percent share), making it #4 by INP × traffic ranking. Don’t optimise; monitor for regression.
  5. Search page (rank 9) has INP 460ms, search-result rendering is the slow interaction. Lower priority due to low traffic share but worth a refactor when bandwidth allows.
  6. The recommended fix sequence by INP × traffic:
    • Week 1: Homepage currency switcher refactor. Single biggest weighted impact.
    • Week 2: Collection page filter widget refactor. Affects 12 pages simultaneously.
    • Week 3: PDP cart-drawer mount refactor. Affects 78 PDPs simultaneously.
    • Week 4: Search-result rendering. Lower-priority polish.
  7. Cumulative impact estimation: completing the four refactors above drops site-wide weighted INP by 60-75 percent. Mobile origin p75 INP drops from 520ms (current per crux_inp_p75 earlier example) toward 220-280ms, moving from “poor” band into “good” band. CWV pass rate impact: INP portion lifts 6-10 percentage points toward all-three pass rate.
Diagnostic flow:
  1. Sort by INP × traffic. The absolute-slowest URL may not be the highest commercial impact.
  2. Identify shared dominant interactions. When the same widget pattern (filter, sort, cart-drawer) appears across multiple URLs, a template-level refactor is more efficient.
  3. Profile the slow interaction in DevTools Performance tab. Capture a real interaction; identify the JS handler causing the long task.
  4. Apply optimisation patterns: yield to main thread, debounce, virtualise lists, defer non-critical work.
Rapid-response playbook:
Time horizonAction
First 1 hourIdentify top 3 by INP × traffic; identify dominant interaction per URL.
First 24 hoursProfile the worst interaction in DevTools; plan the refactor.
First 7 daysImplement and ship the highest-leverage refactor.
First 30 daysField INP fully reflects fix; re-rank.

Sibling cards merchants should reference together

CardWhy merchants reach for it
crux_inp_p75Origin-level INP; this card decomposes by URL.
psi_slowest_lcp_urlsPer-URL ranking for LCP.
psi_worst_cls_urlsPer-URL ranking for CLS.
psi_all_cwv_passPer-URL all-three CWV pass status.
psi_biggest_regressionURLs with biggest INP regression vs prior period.
psi_lab_tbtLab Total Blocking Time, the lab approximation of INP.
psi_unused_jsJS bundle size correlates with INP; reducing unused JS reduces interaction cost.
psi_third_party_costThird-party scripts often contribute to interaction slowness.
psi_js_executionTotal JS execution time.
crux_inp_distributionDistribution of INP values across users.
psi_perf_score_summaryComposite score; TBT (lab INP proxy) is 30 percent of the weight.

Reconciling against the vendor’s own dashboard

Where to look:
  • Web Vitals Chrome extension, measures INP per-interaction live; the most useful diagnostic tool.
  • Chrome DevTools → Performance tab, capture interactions; long tasks visible in Bottom-Up view.
  • Chrome DevTools → Performance Insights tab, surfaces INP for specific interactions during recording.
  • CrUX URL-level dataset, for high-traffic URLs, field INP per URL.
Why the Vortex IQ ranking may differ from real-user measurement:
ReasonDirectionWhat to do
Lab vs field. Lab uses TBT as a proxy for INP; field measures actual interactions.Different metric basisConfirm with field-data CrUX URL-level when available.
Interaction selection. The audit captures specific interactions; real users may interact with different elements.Either directionAdd manual interaction profiling for critical user paths.
Device profile. Lab uses mid-tier mobile; some users have faster or slower devices.Either directionThe mid-tier emulation represents the average; field shows the distribution.
Cross-connector reconciliation: primarily internal (with crux_inp_p75, psi_lab_tbt, psi_third_party_cost). Quick rule for support tickets: if a merchant says “my collection page feels fast but you say INP is 720ms”, the merchant is likely on a faster device than mid-tier emulation. Use Chrome DevTools’ CPU throttling (4x slowdown) to approximate the real-user experience.

Known limitations / merchant FAQs

My top INP URL is a high-traffic page but I can’t change the framework. What can I do? Most INP fixes don’t require framework changes. Common patterns: (1) Debounce rapid input (filter checkboxes, search-as-you-type); (2) Yield to the main thread between heavy work using setTimeout(fn, 0) or scheduler.postTask; (3) Defer analytics tracking to requestIdleCallback; (4) Virtualise long lists so re-render cost is bounded by viewport. None of these require switching frameworks. Why does the homepage have a 720ms INP when I rarely touch the currency switcher? INP is reported as the longest interaction during the session. If a single user happens to use the currency switcher, that 720ms gets reported even though most users never touch it. Field INP includes the worst case, not just typical. The fix: optimise the worst-case interaction even if it’s used by few users. Can Vortex IQ tell me exactly which JS function is slow? Indirectly. The card identifies the dominant interaction; profiling in DevTools Performance tab surfaces the specific function. Lighthouse’s audit JSON includes the script URL where the long task occurred but not the function name (without source maps). Should I refactor the filter widget or replace it entirely? Depends on engineering bandwidth. Refactor (1-2 weeks): debounce, virtualise, defer analytics. Typically saves 60-70 percent of the interaction cost. Replace (4-8 weeks): switch from JS-driven filter to URL-driven filter (each filter click is a new page navigation rather than client-side re-render). Slightly slower per-click but architecturally simpler and indexable. The right choice depends on the brand’s stage and engineering team. My BC site uses Catalyst not Stencil. Does this still apply? Yes, with different patterns. Catalyst sites typically have lower baseline INP (better state management, automatic code-splitting); the worst-INP URLs tend to be search results and complex PDPs with many configurable options. The card surfaces them; the fix patterns (yield to main thread, virtualise lists) apply equivalently. Can Vortex IQ refactor the widget for me? Read-only by design. Vortex IQ identifies issues; engineering implements.

Tracked live in Vortex IQ Nerve Centre

Worst INP URLs is one of hundreds of KPI pulses Vortex IQ tracks across Website Performance (PageSpeed + CrUX) and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English. Start for free or book a demo to see this metric running on your own data.