Kort fortalt: INP handler om hvor hurtigt et klik/tap “føles” responsivt.
Hvad måler det?
- Tiden fra en brugerinteraktion til næste visuelle opdatering.
Hvorfor betyder det noget?
- Langsom respons giver friktion og gør UX tung.
Hvilken indflydelse har INP?
INP rammer især den del af oplevelsen der sker efter siden er “kommet frem”: menuen åbner, en knap reagerer, en formular validerer, en accordion folder ud, eller et filter opdaterer et produktgrid.
Når INP er dårlig, opleves siden typisk som:
- “tung” på mobil, selvom den måske loader hurtigt
- hakkende ved scroll/klik
- uforudsigelig (klik registreres, men UI opdaterer sent)
Det kan påvirke:
- engagement (folk gider ikke interagere)
- konvertering (formularer og checkout føles træge)
- support/tiltro (oplevelsen virker “buggy”)
Hvornår blev INP indført?
INP blev introduceret som en mere brugernær måling end FID, fordi FID i praksis kun målte en lille del af interaktioner (første input). Over tid blev INP den primære interaktivitetsmåling i Core Web Vitals.
Det vigtige praktisk set er: INP kræver at man tænker i samlet interaktion og ikke kun “første klik”.
Hvad er “god” INP?
Tommelregler:
- God: under ca. 200 ms
- Skal forbedres: 200–500 ms
- Dårlig: over 500 ms
For sites med tunge UI’er, meget tredjepart eller store JS-bundles kan det være svært at ramme 200 ms konsekvent på lav-end mobil. Derfor er prioritering og måling vigtig.
Hvordan måler man INP?
INP kan måles på to niveauer:
Feltdata (rigtige brugere)
- Search Console (Core Web Vitals rapport)
- CrUX (Chrome UX Report) via værktøjer
Feltdata er “facit” for hvordan brugere oplever dit site, men det er ofte svært at debugge direkte.
Lab og debugging
- Chrome DevTools Performance (find long tasks og event handlers)
- Lighthouse (indikatorer og hints)
- Real User Monitoring (RUM) hvis du instrumenterer selv
Det man typisk vil finde er:
- lange tasks før/under interaktionen
- tunge event handlers (klik/scroll/input)
- layout thrashing (måling/DOM writes i forkert rækkefølge)
Typiske årsager
- For meget JavaScript på main thread
- Lange tasks (tunge event handlers)
- Tredjeparts scripts
Typiske forbedringer
- Reducér/udskyd JavaScript
- Split bundler og fjern unødvendige biblioteker
- Flyt arbejde væk fra main thread hvor muligt
Praktiske optimeringer (det der oftest flytter mest)
1) Reducér JavaScript i “critical path”
Hvis du sender meget JS ved første load, får du ofte både dårlig INP og dårlig LCP.
Konkrete greb:
- fjern features der ikke bruges
- byt tunge biblioteker ud med små alternativer
- undgå at initialisere widgets før de er synlige
2) Code splitting og lazy loading af UI
Konkrete greb:
- split per route og per feature (filter, søgning, editor)
- load komponenter ved interaktion (fx når modal åbnes)
3) Tredjepart: mål og skær hårdt
Tredjepart (tracking, chat, consent, AB-test) er en klassisk INP-killer.
Konkrete greb:
- udskyd scripts til efter consent eller efter load
- load kun på sider der har behov
- erstat tunge scripts med server-side tracking eller lettere alternativer
4) Find og fjern long tasks
Konkrete greb:
- bryd store loops op
- debounce/throttle input events
- undgå at gøre tungt arbejde på hver scroll
5) DOM-arbejde: undgå layout thrashing
Typisk fejl:
- læs layout (getBoundingClientRect) og skriv styles i skiftevis rækkefølge
Konkrete greb:
- batche DOM reads, derefter DOM writes
- brug CSS til animationer når det er muligt (transform/opacity)
Tjekliste
- Fjernet/udskudt tredjepart i critical path
- Code splitting implementeret
- Ingen tydelige long tasks under interaktioner
- Input/scroll events er throttle/debounce hvor relevant
- Store UI-områder initialiseres først når de bruges
FAQ
Kan INP fixes “kun” med et CDN?
Nej. CDN kan forbedre TTFB og asset-levering, men INP handler primært om CPU/JavaScript og hvad der sker i browseren under interaktioner.
Hvis klik føles træge, er det typisk long tasks, tunge event handlers, store re-renders eller tredjepart der kører samtidig med input.
Er INP mest et problem på mobil?
Ofte ja. Mobilenheder har lavere CPU-budget, så parsing/execution og store DOM-opdateringer bliver dyrere.
Derfor kan en side føles “fin” på desktop, men tung på mobil – og feltdata vil typisk afspejle mobil-virkeligheden bedre end en hurtig desktop-kørsel.
Hvad er den mest effektive start, hvis jeg vil forbedre INP hurtigt?
Start med én konkret interaktion (menu, filter, formular) og profilér den i DevTools Performance.
Find den største long task omkring interaktionen (ofte tredjepart eller én tung handler), og fjern/udskyd/optimer den først. INP-arbejde uden “mål → ændring → mål” ender næsten altid i gæt.
Næste skridt fra begreb til handling
Guides og blogindlæg der matcher begrebets emne - ud fra fælles tags og sidens fokus.
Fjern eller udsæt tunge tredjeparts scripts uden at ødelægge funktionalitet
Følg en praktisk guide til at finde, vurdere og udsætte tredjeparts scripts, så de ikke ødelægger LCP, INP og den samlede brugeroplevelse.
Sådan finder du lange tasks i DevTools og forbedrer INP
Lær hvordan du bruger DevTools til at finde lange tasks, tunge event handlers og JavaScript der gør siden træg at bruge.
Optimer cookie banner uden CLS og INP problemer
Lær hvordan du bygger eller justerer cookie bannere, så de ikke skubber indhold, blokerer interaktion eller gør siden tungere end nødvendigt.
Hvordan tredjeparts scripts gør din hjemmeside langsom
Få overblik over hvordan chat widgets, tracking, consent, video embeds og andre tredjeparts scripts påvirker LCP, INP, CLS og TTFB.
Cookie banner og Core Web Vitals: den oversete årsag til dårlig brugeroplevelse
Se hvordan cookie bannere og consent scripts kan påvirke load, layout og interaktion, og lær hvordan du undgår at de ødelægger brugeroplevelsen.
INP vs FID: hvorfor INP erstattede FID og hvad du skal optimere
Lær hvorfor INP har erstattet FID, hvad forskellen betyder i praksis, og hvordan du finder og løser JavaScript-problemer, der gør siden tung at bruge.