Skip to main content
Best Web Developer — web design, development and digital growth agency
Language and currency EN £ GBP

Language

    Currency

    Prices on this site are shown in the currency you choose.

    Insight

    Interaction to Next Paint (INP): Why It Matters and How to Fix It

    Interaction to Next Paint measures how fast your page reacts to taps. Learn the three phases, a seven-step diagnosis, nine proven fixes and typical SAR costs for Saudi sites.

    • 12 November 2026
    • 13 min read
    • Performance

    Last updated: September 2026 · Reading time: 13 min · By the Best Web Developer team

    Developer profiling Interaction to Next Paint on a mobile e-commerce page in Chrome DevTools
    INP measures the delay a visitor feels after tapping. Most fixes happen in JavaScript, not in images or servers.

    Quick answer

    Interaction to Next Paint (INP) is the Core Web Vital that measures how quickly a page visibly responds after a tap, click or key press. A good score is 200 milliseconds or less at the 75th percentile of real visits. You fix it by breaking up long JavaScript tasks, trimming third-party scripts, yielding to the main thread and keeping the DOM small.

    Key takeaways

    • INP replaced First Input Delay (FID) as a Core Web Vital in March 2024 and judges every interaction on the page, not just the first one.
    • Thresholds: 200 ms or less is good, 200–500 ms needs improvement, above 500 ms is poor.
    • Every interaction has three phases: input delay, processing time and presentation delay. Diagnose which one is slow before you change code.
    • Tag managers, chat widgets and ad pixels cause more poor INP scores in our audits than any first-party code.
    • For a typical Saudi e-commerce or corporate site, an INP remediation sprint costs SAR 12,000–45,000 and pays back through fewer abandoned taps on mobile.

    What Interaction to Next Paint measures and why Google switched to it

    Interaction to Next Paint tells you how long a visitor waits between acting on your page and seeing the page react. It matters because a slow response feels like a broken button, and people tap again, give up or leave.

    Interaction to Next Paint (INP) is a field metric that records the latency of clicks, taps and keyboard input across a whole page visit, then reports one of the slowest values. Scrolling and hovering are not counted. On pages with many interactions, the browser ignores the single worst outlier for every 50 interactions, so one freak delay does not define the score.

    The old metric, First Input Delay, only measured the wait before the browser started handling the first interaction. Most sites passed FID easily while still feeling sluggish. INP is stricter because it includes the time your event handlers run and the time the browser takes to paint the result. Google documents the thresholds on its INP reference page.

    For businesses in Saudi Arabia, the stakes are practical. Most traffic to retail, food delivery, real estate and clinic sites arrives on phones, often mid-range Android devices with less processing power than the laptops developers test on.

    Note: lab scores and field scores are different things

    Lighthouse cannot measure INP directly because nobody taps the page during a lab test. It reports Total Blocking Time as a rough proxy. Your real INP comes from field data: the Chrome User Experience Report (CrUX), Search Console, or your own real-user monitoring. Always confirm a fix against field data 28 days later.


    The three phases of every interaction

    Each interaction splits into input delay, processing duration and presentation delay, and the INP value is their sum. Knowing which phase is slow tells you exactly which fix to apply.

    Input delay: the main thread is busy

    Input delay is the time between the tap and the moment your event handler starts. It grows when something else is already running on the main thread, such as a tag manager firing ten pixels, a hydration step in React or a carousel script initialising. Any task longer than 50 ms is a long task, and a tap that lands during one must wait for it to finish.

    Processing duration: your handlers do too much

    Processing duration covers the event callbacks themselves. Common culprits are “add to cart” handlers that recalculate the whole basket, filter panels that re-render 200 product cards, and analytics calls that run synchronously before the UI updates. The fix is to do the visible work first and defer everything else.

    Presentation delay: the browser struggles to paint

    Presentation delay is the time from the end of your handlers to the next frame on screen. Large DOMs, expensive CSS selectors, forced layout recalculation and big client-side renders all push it up. Mega-menus and long bilingual product listings often show a slow presentation phase.

    PhaseTypical causeFirst fix to try
    Input delayThird-party scripts, hydration, timersDefer or remove tags; split long tasks
    Processing durationHeavy click handlers, synchronous trackingUpdate UI first, yield, then run the rest
    Presentation delayLarge DOM, layout thrashing, big re-rendersReduce DOM, use content-visibility, batch reads and writes

    How to diagnose a poor Interaction to Next Paint score

    Start with field data to find which pages and interactions are slow, then reproduce them in the lab on a throttled phone profile. Guessing wastes days; a 60-minute diagnosis usually points to two or three root causes.

    1. Check the Core Web Vitals report. In Google Search Console, open Core Web Vitals, select Mobile and group URLs flagged for INP. Templates matter more than single URLs: if all product pages fail, fix the product template.
    2. Confirm with PageSpeed Insights. The field section shows your 75th-percentile INP for the URL and the origin. Note the value so you can compare later.
    3. Add real-user monitoring. The open-source web-vitals JavaScript library can report INP with attribution: the element tapped, the event type and the time spent in each phase. Send it to your analytics as a custom event.
    4. Reproduce in Chrome DevTools. Open the Performance panel, set CPU throttling to 4x or 6x, record, and perform the slow interaction. Look for red-cornered long tasks around the tap.
    5. Read the call stack. Expand the long task and note which script owns the time. In our audits the top owner is a third-party tag roughly half the time.
    6. Use Long Animation Frames data. Chrome’s Long Animation Frames API attributes slow frames to specific scripts, which is useful when a tag manager hides many vendors behind one file.
    7. Write a ranked fix list. For each slow interaction, record phase, owner, estimated saving in milliseconds and effort in hours.
    Chrome DevTools performance trace showing a long task that delays Interaction to Next Paint
    A single 380 ms task from a chat widget can push a clean page into the poor range. The trace shows who owns the time.

    Pro tip

    Test the interactions people actually use, not the ones that are easy to click. On Saudi retail sites that usually means the language switcher, the size selector, “add to cart”, the Tabby or Tamara instalment widget and the mobile menu. Tag every tracked event with a UTM-style label using our UTM link builder conventions so your INP events and campaign data line up in the same reports.

    How to fix Interaction to Next Paint: nine techniques that work

    Most INP fixes fall into three groups: run less JavaScript, break the JavaScript you keep into smaller pieces, and make rendering cheaper. Apply them in that order, because removing code is always faster than optimising it.

    Run less JavaScript

    • Audit your tag manager. Remove pixels for campaigns that ended. Many Saudi sites run Meta, Snap, TikTok, Google Ads and two analytics tools at once. Each one you delete removes main-thread work on every page.
    • Load chat and review widgets on intent. Show a lightweight button and load the full widget only when someone taps it. This alone often saves 150–400 ms of input delay.
    • Drop unused libraries. Old jQuery plugins, sliders nobody swipes and polyfills for browsers you no longer support still execute on load.

    Break up the work you keep

    • Yield to the main thread. Split long handlers so the visual update runs first. Use scheduler.yield() where supported, with a setTimeout fallback, between the UI change and non-urgent work such as tracking.
    • Debounce input handlers. Search-as-you-type and price filters should wait 150–300 ms after the last keystroke before querying.
    • Move heavy computation off the main thread. Web Workers suit tasks such as filtering large JSON catalogues or formatting Arabic and English numbers in bulk.

    Make rendering cheaper

    • Shrink the DOM. Paginate or virtualise long lists and avoid rendering both Arabic and English menus and hiding one with CSS.
    • Use content-visibility: auto on below-the-fold sections so the browser skips their layout until needed.
    • Avoid layout thrashing. Read all measurements first, then write all style changes, rather than alternating reads and writes in a loop.

    Highlight: the “paint first, work later” pattern

    When someone taps “add to cart”, change the button state and update the basket count immediately, yield, then send the analytics event and recalculate shipping. The visitor sees a response in under 100 ms even if the remaining work takes 400 ms. This one pattern fixes more slow buttons in our projects than any other change.


    Key benefits of a good Interaction to Next Paint score

    A responsive page earns more taps that turn into actions, fewer rage clicks and a cleaner Core Web Vitals profile in Google Search. The gains are largest on mobile checkout, booking and lead forms.

    • Fewer abandoned actions: buttons that respond instantly stop double taps, duplicate orders and “nothing happened” exits.
    • Better page experience signals: Core Web Vitals are part of Google’s page experience assessment. They rarely beat relevance, but they help when competing pages are otherwise equal.
    • Lower ad waste: paid traffic from Google Ads or Snapchat lands on pages that react, so you pay for fewer bounced clicks.
    • Healthier codebase: the tag audit and script cleanup behind a good INP also cut page weight and security exposure.
    • Better accessibility: keyboard and screen-reader users benefit from fast focus and state changes, which supports WCAG 2.2 goals.
    “Visitors do not see your Lighthouse score. They feel the pause after they tap. INP is the first metric that measures that pause honestly.”
    — Best Web Developer performance team

    Where INP problems hit hardest for sites in Saudi Arabia

    Saudi sites face a particular mix: heavy social ad pixels, bilingual layouts, local payment widgets and sharp seasonal peaks. Each adds main-thread work that shows up as slow taps and a weak Interaction to Next Paint score.

    Salla, Zid and Shopify stores

    Hosted platforms give you less control over core code, but themes and apps are where most INP problems live. Every review, upsell, countdown and wishlist app adds scripts. Audit installed apps quarterly and remove anything that has not produced revenue in 90 days. During Ramadan and White Friday campaigns, avoid adding new pop-up apps without testing them on a mid-range Android phone first.

    Bilingual corporate and real estate sites

    Language switchers that reload heavy scripts, mega-menus with hundreds of links in two languages, and property galleries with large lightboxes are common slow interactions. Serving separate Arabic and English URLs with correct hreflang, instead of toggling languages in JavaScript, is usually faster and better for search. Our technical SEO service covers both the performance and the indexing side.

    Booking and lead forms

    Clinic, restaurant and car service bookings often use date pickers and phone-number validators that run on every keystroke. Validate on blur instead, and load the date picker only when the field gets focus.

    Illustrative case: a Riyadh fashion store fixes its “add to cart” delay

    Challenge: A bilingual fashion store with about 60,000 monthly mobile sessions had a field INP of 540 ms on product pages. The size selector and “add to cart” button were the slowest interactions, and the tag manager held 14 active tags.

    What we did: We removed six expired pixels, loaded the chat widget on tap, rewrote the add-to-cart handler to update the button first and yield before tracking, and virtualised the related-products carousel. The sprint took 11 working days and cost SAR 28,000.

    Result: After the 28-day CrUX window, product-page INP fell from 540 ms to 170 ms. Add-to-cart rate on mobile rose from 6.1% to 7.0%, and duplicate cart lines from double taps dropped by about two thirds.


    INP vs LCP vs CLS: how the Core Web Vitals compare

    LCP measures loading, CLS measures visual stability and INP measures responsiveness. A page needs all three in the good range at the 75th percentile to pass Core Web Vitals, and each one needs a different kind of fix.

    MetricWhat it measuresGood thresholdUsual fix owner
    LCPTime to render the largest visible element2.5 s or lessHosting, images, fonts, CDN
    INPDelay from interaction to next frame200 ms or lessFront-end JavaScript, tag manager
    CLSUnexpected layout movement0.1 or lessImage dimensions, ads, fonts
    FID (retired)Delay before first input handler startedWas 100 ms or lessReplaced by INP in March 2024

    Budget-wise, the three metrics cost different amounts to fix. In the ranges we quote for Saudi clients, LCP work often costs SAR 8,000–25,000 because it centres on hosting, images and a CDN such as Cloudflare. INP work is more expensive, typically SAR 12,000–45,000, because it requires developers who can read performance traces and refactor JavaScript safely. Full Core Web Vitals remediation for a large store can reach SAR 60,000–90,000 before 15% VAT.

    Highlight: the INP checklist we use

    1) Pull 28-day field INP per template from Search Console. 2) Install web-vitals attribution on the five busiest templates. 3) List every third-party tag with its owner and purpose. 4) Record traces at 4x CPU throttling for the top five interactions. 5) Fix in order: remove, defer, yield, render cheaper. 6) Set a performance budget of 200 ms INP and 50 ms maximum task length in the release checklist. 7) Re-check field data after 28 days.


    Frequently Asked Questions about INP

    What is a good Interaction to Next Paint score?

    A good Interaction to Next Paint score is 200 milliseconds or less, measured at the 75th percentile of real page visits on mobile and desktop separately. Scores between 200 and 500 milliseconds need improvement, and anything above 500 milliseconds is rated poor. Google uses field data from the Chrome User Experience Report, so lab tests alone cannot confirm a pass.

    Why did Google replace FID with INP?

    First Input Delay only measured the wait before the browser began handling the first interaction, so most sites passed it while still feeling slow. INP measures the full latency of all clicks, taps and key presses during a visit, including handler time and painting. Google made INP a Core Web Vital in March 2024 because it reflects real responsiveness far more accurately.

    Does INP affect Google rankings?

    INP is one of the three Core Web Vitals that feed Google’s page experience signals, so it can influence rankings, but relevance and content quality matter far more. In practice, a poor INP score rarely sinks a strong page. Its bigger impact is on conversions, because visitors abandon buttons, filters and forms that respond slowly, especially on mid-range mobile phones.

    How do I find which element causes a slow INP?

    Install the open-source web-vitals library with attribution to report the element, event type and phase timings for slow interactions from real users. Then reproduce the interaction in Chrome DevTools with CPU throttling at 4x or 6x and record a performance trace. The long task around the tap shows which script owns the time, whether first-party code or a third-party tag.

    How much does it cost to fix INP for a website in Saudi Arabia?

    In the ranges we quote, a focused INP remediation sprint for a Saudi corporate site or Salla, Zid or Shopify store costs about SAR 12,000–45,000 before 15% VAT, roughly $3,200–12,000. Large custom e-commerce platforms with complex front ends can need SAR 60,000–90,000 for full Core Web Vitals work. The main cost driver is how much third-party and legacy JavaScript the site carries.

    Can WordPress sites pass INP?

    Yes. WordPress sites pass INP when they use a lightweight theme, a small number of well-built plugins and disciplined tag management. Page builders that output very large DOMs, and plugins that load sliders, pop-ups and chat on every page, are the usual problems. Removing unused plugins and deferring widgets until someone interacts often moves a WordPress site into the good range.

    How long does it take for INP improvements to show in Search Console?

    Search Console and PageSpeed Insights use a rolling 28-day window of Chrome field data, so a fix released today is fully reflected after about four weeks. You will see partial improvement within one to two weeks as new visits replace old ones. Your own real-user monitoring shows the change within days, which is why we set it up before releasing fixes.

    Making Interaction to Next Paint part of every release

    Interaction to Next Paint rewards sites that respond the moment a visitor taps. Measure it in the field, find the slow phase, remove or defer the scripts that block the main thread, and keep handlers focused on the visible update first.

    For Saudi businesses selling to mobile-first customers, that discipline protects conversions during every Ramadan, White Friday and National Day campaign. Add a 200 ms INP budget to your release checklist so each new app, pixel or feature has to earn its place.

    Find out what is slowing your taps

    Send us your URL and we will return a field-data INP review with the three slowest interactions, their owners and a fix estimate in SAR.

    Get a free consultation See pricing
    Tags: Interaction to Next Paint, INP, Core Web Vitals, web performance, JavaScript optimisation, long tasks, page experience, mobile speed Saudi Arabia, technical SEO, Chrome DevTools

    Want this handled for you?

    We build and optimise sites like this every week. Book a free 30-minute call and we will tell you exactly what we would change on yours.

    Get a free site review

    Keep reading

    Free strategy session

    Let’s build something worth finding.

    Tell us where you want the business to be in twelve months. We will come back with a costed plan, a realistic timeline, and the numbers we expect to move — no obligation, no jargon.

    • 30-minute call, no pitch deck
    • Fixed-price proposal in 48 hours
    • You own everything we build

    Talk to a developer

    Not a sales team

    Response time
    Within 1 business hour
    Where we work
    UK, USA & the Gulf
    Contracts
    No lock-in, monthly rolling
    Working since
    2023
    infobestwebdeveloper.org
    Free consultation
    en_USEnglish