Feilsporing: Fang feilene de besøkende støter på, og se hva som førte til dem
Finn ut hvilke bugs som rammer flest besøkende, hvor i koden de oppstår og hva hver besøkende gjorde etterpå. Gratis på alle planer, i samme dashboard som trafikken og opptakene dine.
Laster inn live-dashboardet
2min
Opptak før feilBehold opptil to minutter før en feil som et opptak, også for besøk du vanligvis ikke tar opp.
0feil fra utvidelser
Bare dine egne bugsFeil fra de besøkendes nettleserutvidelser hoppes over, og bots sorteres ut før noe blir lagret.
1skript
Ett skript til altAnalyse, feil og sesjonsavspilling lastes inn fra én script-tag. Bruker du allerede Betterlytics? Legg til ett attributt.
0cookies
Ingen cookies, ingen IP-erFeil lagres uten cookies, IP-adresser eller query strings, så personvernet til de besøkende er ivaretatt.
Fra «det funker ikke» til linje 142
De fleste besøkende som støter på en bug, forsvinner uten å si fra til deg. Betterlytics viser linjen som kastet feilen, nettleseren det skjedde i, og hvor ofte.
Til venstre strømmer vage meldinger om prissiden forbi: tre like e-poster om at oppgradering ikke går, en melding om at det ikke skjer noe når man velger en plan, en supportchat, et uskarpt skjermbilde, en gjetning på hvilken nettleser det er, en lapp der det står at det funker på min maskin, en P1-sak om at oppgraderinger har feilet siden mandag, og en supportinnboks med 14 uleste. Til høyre er den samme bugen samlet i én feilgruppe: en TypeError kastet i selectPlan på linje 142 i pricing.js og kalt fra onClick i plan-card.js, i Chrome på macOS i Danmark, på /pricing, 1 206 ganger.
Gjette ut fra feilrapporter
Fikse ut fra stack trace
Se hva de gjorde før og etter
En stack trace viser hvor koden feilet. Besøket rundt feilen viser hva som utløste den og hva den besøkende gjorde etterpå.
Et sesjonsforløp med åtte hendelser. Før feilen kom den besøkende inn på forsiden, åpnet /pricing og valgte en plan. Ett sekund senere kom en TypeError, kastet i selectPlan på linje 142 i pricing.js i Chrome 129 på macOS, på en datamaskin i Danmark. Etterpå lastet den besøkende /pricing på nytt, valgte en plan igjen, fikk den samme feilen og gikk til /contact i stedet for å oppgradere.
Kom inn på forsiden, åpnet prissiden og valgte en plan.
Kastet i selectPlan på linje 142 i pricing.js, med nettleseren, operativsystemet og landet den skjedde i.
Lastet siden på nytt, fikk feilen igjen og gikk så til /contact i stedet for å oppgradere.
Gå gjennom listen sammen
Statusene deles med teamet ditt, så alle jobber ut fra samme liste, og ingen jakter på en bug som allerede er fikset.
Les dashboardguidenLøs, ignorer, fjern som løst
Merk rettede feil som løst, og ignorer dem som ikke betyr noe, så listen bare viser bugene som fortsatt må fikses.
Se hvem den rammer
Følg med på om en feil øker eller avtar og hvilke nettlesere og enheter den rammer mest.
Filtrer som i analysen din
Filtrer feil på side, nettleser, operativsystem, land og mer, akkurat som i analysen din, og se om en bug bare rammer noen besøkende.
Bla gjennom forekomstene
Klikk deg gjennom hver forekomst med sitt eget besøk og sin egen enhet, og finn mønsteret, for eksempel en bug som bare dukker opp på iOS.
Overlat bugen til agenten din
Kodeagenten din kan slå opp feil via den innebygde MCP-serveren og jobbe med rettelsen rett ved siden av koden din.
Fra klage til rettelse med ett spørsmål
Spør Claude Code, Cursor eller en hvilken som helst MCP-klient om en klage. Den finner feilen som hører til, leser stack trace og sesjonsforløp, og åpner filen stacken peker på.
Fungerer medOg alle andre klienter som snakker MCP over HTTP.
Begynn å fange feil med ett attributt
Velg hva som skal fanges, og kopier kodesnutten. Feilsporingen kjører i samme skript som analysen din.
Velg hva som skal fanges
<script async src="https://betterlytics.io/analytics.js" data-site-id="YOUR_SITE_ID" data-track-errors="true"></script>import betterlytics from '@betterlytics/tracker' betterlytics.init('YOUR_SITE_ID', { trackErrors: true,})
Ofte stilte spørsmål
Hva er feilsporing?
Feilsporing, også kalt feilovervåking eller error tracking, registrerer JavaScript-feilene de besøkende støter på, og grupperer gjentakelser av samme bug, så du ser hvilke som skjer oftest. Betterlytics fanger dem med det samme skriptet som måler sidevisningene dine, og tar vare på sesjonen hver feil oppsto i.
Er feilsporing gratis?
Ja. Feilsporing er inkludert i alle planer, også gratisplanen. Hver feil teller som én hendelse i den månedlige hendelseskvoten din, akkurat som en sidevisning.
Hvilke feil fanges opp?
Unntak som ikke fanges, og avviste promises som ingen håndterer, hver med sin stack trace og siden den skjedde på. Du kan også fange opp console.error-kall. En mislykket forespørsel fanges bare opp når koden din lar feilen være uhåndtert. Bilder og skript som ikke lastes inn, holdes utenfor, fordi annonseblokkere og ustabile forbindelser ellers ville oversvømme listen din med dem.
Fanger den feil på serversiden?
Nei. Den dekker feil i frontend, altså JavaScript som kjører i de besøkendes nettlesere. Feil i serverkoden, API-rutene eller bakgrunnsjobbene dine fanges ikke opp.
Blir feil fra nettleserutvidelser og bots filtrert bort?
Ja. Skriptet hopper over feil med en stack trace som peker inn i en nettleserutvidelse, så en besøkendes annonseblokker eller passordbehandler ikke dukker opp som din bug. Feil fra bots, headless-nettlesere og testverktøy som Playwright forkastes før de lagres, akkurat som sidevisningene deres.
Fungerer det med React, Next.js og Vue?
Ja. Skriptet fanger feil på alle nettsteder, uansett hvilket rammeverk de bruker. Feil som rammeverket fanger selv, for eksempel i en error boundary i React eller i feilhåndtereren til Vue, logges som regel med console.error i stedet for å bli kastet, så slå på innsamling av console.error for å se dem også.
Hvordan grupperes feil?
Alle forekomster av samme bug havner i én gruppe med en løpende telling, så hver bug bare står én gang i listen din i stedet for å dukke opp hver gang en besøkende støter på den. Feil av samme type som kastes fra samme sted i koden din, teller som én bug, selv om meldingene er forskjellige.
Støtter dere source maps?
Nei. Stack traces viser koden slik nettleseren kjørte den, så frames fra en minifisert bundle peker inn i den minifiserte filen.
Samler feilsporing inn personopplysninger?
Den bruker ingen cookies, akkurat som resten av Betterlytics. Meldinger lagres slik koden din skrev dem, så hold personopplysninger unna dem, og la innsamling fra konsollen være av hvis loggene dine kan inneholde slike opplysninger.
Kan en løpsk løkke bruke opp hendelsene mine?
Hver side sender høyst 10 feil av samme type hvert tiende sekund, så selv en løkke som kaster feil i hver frame, ikke blir dyr. Ignorerer du en gruppe, forsvinner den fra listen, men nye forekomster teller fortsatt som hendelser til du har rettet årsaken.
Hvordan fungerer det sammen med sesjonsavspilling?
Hvis et besøk med en feil ble tatt opp, lenker feilen til opptaket, med en rød markør ved hver feil på tidslinjen. Du kan dessuten beholde opptil to minutter før hver feil som et opptak, også for besøk som sesjonsavspillingen ellers ikke ville ta opp.
Fang din første feil i dag
Legg til Betterlytics-skriptet, eller ett attributt hvis du allerede har det, så begynner feilene å dukke opp i dashboardet ditt. Gratis på alle planer.