For the complete documentation index, see llms.txt. Every page on this site is also served as Markdown: append `.md` to any URL, or send `Accept: text/markdown`.
Skip to content

Glossary term

Interaction to Next Paint (INP)

Interaction to Next Paint (INP) is the Core Web Vital that measures responsiveness: how long a page takes to paint visible feedback after a click, tap or key press. It reports roughly the slowest interaction of a visit, read at the 75th percentile of real page loads. Good is 200 milliseconds or less; above 500 milliseconds is poor.

7 days free · card required

of OpenAI's requests were ChatGPT-User, a fetch a person's question triggered
~3%
n=7,536 OpenAI requests
of Anthropic's were Claude-User, the same kind of fetch
~35%
n=104 Anthropic requests
of our most-fetched pages had a ChatGPT-User fetch: the pages to check INP on first
7 of 30
n=30 pages
Analyst agentAnalyst · counted the fetchesattensira.com AI traffic log, read over the Attensira MCP on 2026-10-04 · n=143,601 AI-crawler requests · to
Karl-Gustav KallasmaaKarl-Gustav Kallasmaa, Founder & CEO

Last updated

Key facts

Interaction to Next Paint is the Core Web Vital for responsiveness. It asks a narrow question: when someone clicks, taps or types, how long until the browser paints a frame showing that something happened? It answers with one number for the whole visit.

The web.dev reference describes it as a stable Core Web Vital that uses the Event Timing API to observe the latency of every interaction a user made with the page, then reports a value that all, or nearly all, of them were beneath. It exists because load metrics miss most of the visit: Chrome usage data shows 90% of a user's time on a page is spent after it loads.

What are the INP thresholds?

Measured at the 75th percentile of field page loads, split by mobile and desktop:

INP at p75Verdict
200 ms or lessGood
Above 200 ms, up to 500 msNeeds improvement
Above 500 msPoor

Both halves of that sentence matter. It is the 75th percentile, so the typical visit passing is not enough: if a quarter of visits are slower than the threshold, the page fails. And it is field data, real visits on real devices, which is why a fast laptop on office wifi is not a measurement.

Which interactions does INP count?

Only three input types: a mouse click, a tap on a touchscreen, and a key press on a physical or onscreen keyboard. Hovering, zooming and scrolling are not observed, though a gesture that contains a click or tap can still be measured.

An interaction is the group of event handlers that fire during one gesture. A tap includes pointerdown, pointerup and click; a keystroke includes keydown, keypress and keyup. The longest event in the group sets that interaction's latency. Interactions inside iframes count too.

The final value is usually the worst interaction. On pages with many interactions one highest value is ignored for every 50, so a random hiccup does not define an otherwise responsive page. Most visits have fewer than 50 interactions, so in practice the worst one is what you see.

What makes an interaction slow?

An interaction's latency splits into three spans, and knowing which one is large is the whole of diagnosis:

  • Input delay: from the input until any handler starts. Long tasks already running on the main thread show up here.
  • Processing duration: the time all the handlers for that frame take to run. A handler doing too much shows up here.
  • Presentation delay: from the end of the handlers until the frame is painted. Heavy layout, style recalculation or a very large DOM shows up here.

INP deliberately excludes the eventual effects of an interaction, such as network fetches and asynchronous updates. It measures how long the next paint is blocked. Showing immediate feedback and finishing the work afterwards is a legitimate fix, not a trick.

Do AI crawlers trigger INP?

No, and this is the mix-up worth clearing up. INP needs a person in a browser clicking, tapping or typing. An answer engine's crawler fetches your HTML over HTTP and leaves. Attensira's AI traffic documentation states the constraint plainly: AI crawlers do not execute JavaScript, so a browser script has never seen one.

The case that looks closest to a visit is a fetch a person triggered: someone asks Claude or ChatGPT a question and the assistant fetches your page to answer it. attensira.com counts crawler requests in its edge middleware, the only layer where a crawler is visible, and in the 30 days to 4 October 2026 35% of Anthropic's 104 requests and 3% of OpenAI's 7,536 were of that kind; the band below lists the pages ChatGPT-User reached. A person was waiting on every one of them, and still none ran a script, clicked a button or produced an INP value. The person got the assistant's answer, not your page. If attensira.com had a 900 ms INP, every one of those fetches would have read the page just the same.

So the two jobs are separate. Whether an answer engine can read and quote a page depends on access, server response time and text that exists in the HTML. Whether the person who clicks through from that answer has a good visit is where INP matters, because they land on the same page as everyone else.

Which pages did a person's question send an assistant to?

ChatGPT-User, the agent that fetches because someone asked ChatGPT, was seen on these seven of our 30 most-fetched pages. Each fetch read the HTML and produced no INP value. The person who then clicks through lands on the same page, so these are the pages to check INP on first.

Top-30 pages where ChatGPT-User was seen, 30 days
Top-30 pages where ChatGPT-User was seen, 30 days
PageClaude-User also seen
/Yes
/pricingYes
/features/content-optimizationYes
/generative-engine-optimizationNo
/answer-engine-optimizationNo
/auditYes
/compareYes
Analyst agentAnalyst · reads this workspace's crawler logattensira.com edge middleware, 30 most-fetched pages, read over the Attensira MCP · · 143,601 AI-crawler requests

How do you fix a poor INP?

Start from field data, not a lab run, and find which interactions are slow. Then match the fix to the span:

  1. Input delay: break up long tasks, defer non-critical scripts, and move third-party work off the critical path.
  2. Processing duration: do less in the handler; paint feedback first and schedule the rest.
  3. Presentation delay: shrink the DOM the interaction touches and avoid layout thrashing.

Search Console's Core Web Vitals report groups URLs by status from field data, which is the usual starting point for finding which templates fail. See Core Web Vitals for the other two metrics in the set.

What goes wrong with INP work?

  • Testing on a fast machine. p75 field data is what counts; a developer laptop is not a sample.
  • Treating it as an AI visibility lever. Crawlers never interact, so INP work does not change what an answer engine can read.
  • Fixing load speed for an interaction problem. A fast first paint and a slow click handler are different defects.
  • Ignoring third-party scripts. Tag managers and widgets are a common source of input delay.

Does Attensira measure INP?

No. Attensira does not run a browser on your site or collect field interaction data, so it has no INP number to show you; use Search Console or your real-user monitoring for that. Its own page reads do not help either, and the docs say why: when a page is read for the agent, the fallback is a plain HTTP fetch with no JavaScript rendering, the same view a crawler gets. That is the useful split. INP tells you how the page behaves for the person who clicks through from an answer. Attensira tells you whether the answer exists: which engines name or cite the page, and, with crawler logs installed, whether their crawlers fetched it at all. Fix INP for the people who arrive; fix access and wording for the answers that send them.

Questions about Interaction to Next Paint (INP)

What does INP measure?
Responsiveness. web.dev describes INP as a stable Core Web Vital that observes the latency of all interactions a user has made with the page, using the Event Timing API, and reports a single value which all, or nearly all, interactions were beneath.
What is a good INP score?
Measured at the 75th percentile of field page loads and segmented by mobile and desktop: 200 milliseconds or less is good, above 200 and up to 500 milliseconds needs improvement, and above 500 milliseconds is poor.
Which interactions count?
Only three types: clicking with a mouse, tapping on a touchscreen, and pressing a key on a physical or onscreen keyboard. web.dev states that hovering, zooming and scrolling are not observed for INP.
Is INP just the worst interaction on the page?
Usually, but not always. For most pages the worst interaction is reported. On pages with many interactions, one highest interaction is ignored for every 50, so a single random hiccup does not define an otherwise responsive page.
Does INP affect whether ChatGPT or Perplexity can read my page?
No. INP is measured from people clicking and typing in a browser. AI crawlers fetch HTML over HTTP and do not run JavaScript, so they never interact with the page and never produce an INP value. Whether a crawler can read you depends on access, server response and server-rendered text.
Why does INP matter more than load-time metrics alone?
Because most of a visit happens after the page loads. web.dev cites Chrome usage data showing that 90% of a user's time on a page is spent after it loads, which a load metric never sees.

Where do these facts come from?

2 sources: each statement with the page it came from and the day it was checked.

  1. web.dev states that an INP at or below 200 milliseconds at the 75th percentile means good responsiveness, above 500 milliseconds means poor responsiveness, and that Chrome usage data shows 90% of a user's time on a page is spent after it loads.

    web.dev · retrieved

  2. Attensira's AI-traffic documentation states that AI crawlers do not execute JavaScript, so a client-side beacon has never seen one; on attensira.com in the 30 days to 4 October 2026, the edge middleware classed 35% of Anthropic's 104 self-identified requests and 3% of OpenAI's 7,536 as triggered by a person, and none of PerplexityBot's, bingbot's or Googlebot's (8,991 requests from these five operators in all, of 143,601 AI-crawler requests). Among the 30 most-fetched pages, ChatGPT-User was seen on seven: /, /pricing, /features/content-optimization, /generative-engine-optimization, /answer-engine-optimization, /audit and /compare, and Claude-User on five of those seven.

    docs.attensira.com · retrieved

Want whatever it takes to win the answer?

7 days free · card required