Dash0 Raises $110M Series B at $1B Valuation

Last updated: June 19, 2026

Understand Web Event Types

The Dash0 Web SDK emits a defined set of event types. Each type has a fixed event.name, a specific set of attributes, and a body payload. Understanding what each type contains helps you write more precise filters and interpret query results correctly.

The Dash0 Web SDK automatically captures the following event types. The supported types include:

  1. browser.page_view — fired on every navigation, for both full page loads and single-page application route transitions.
  2. browser.navigation_timing — detailed browser loading pipeline breakdown recorded once per full page load.
  3. browser.web_vital — LCP, CLS, and INP measurements, updated throughout the session as the user interacts with the page.
  4. browser.request — every asynchronous HTTP request made by the frontend, including status code, duration, and trace correlation context.
  5. browser.error — unhandled JavaScript exceptions and unhandled promise rejections.
  6. Custom events — any named event emitted via trackEvent() in your application code.

Details on the event types are outlined below.

browser.page_view

Fired every time the user navigates to a URL — either via a full browser reload or a client-side route change in a single-page application.

Sub-types:

Sub-typeDescription
Page LoadFull browser reload. Always accompanied by a browser.navigation_timing event at the same timestamp.
Page TransitionSPA route change. No navigation timing data is recorded because the browser does not reload the DOM.

Key attributes: url.path, url.full, page.load.id, page.url.domain

browser.navigation_timing

Recorded once per full page load. Contains a detailed breakdown of the browser's loading pipeline.

Key fields in the body:

FieldDescription
domContentLoadedEventEndWhen the DOM was fully parsed
loadEventEndWhen all page resources (images, scripts) finished loading
responseEndWhen the last byte of the HTTP response was received
encodedBodySizeCompressed size of the response body

This event is the primary source of data for understanding server response time and DOM construction cost.

browser.web_vital

Records a Core Web Vital measurement. Web vitals can be emitted multiple times per session — values are updated as the user interacts with the page.

Measured vitals:

NameFull nameWhat it measures
LCPLargest Contentful PaintHow long it takes for the largest visible element to render
CLSCumulative Layout ShiftHow much the page layout shifts unexpectedly during load
INPInteraction to Next PaintHow quickly the page responds to user input

Body format: { delta: <change since last measurement>, name: "LCP" | "CLS" | "INP", value: <current value> }

Why values change: Each time the user interacts with the page — clicking a button, navigating to a new section, loading more data — the browser recalculates the web vital and emits an updated event. The delta field tells you how much the score changed from the previous measurement.

browser.request

Recorded for every asynchronous HTTP request made by the frontend. Captures timing from the browser's perspective (not the server's).

Key attributes: http.request.method, http.response.status_code, url.full, http.request_content_length, http.response_content_length

Trace correlation: If the backend is instrumented with OpenTelemetry, the request carries a traceparent header. Dash0 uses this to link the browser.request event to the corresponding backend trace, enabling end-to-end correlation from frontend click to database query.

browser.error

Recorded when an unhandled JavaScript exception or unhandled promise rejection occurs.

Key attributes: exception.type, exception.message, exception.stacktrace, url.path

Custom events

Any event emitted via trackEvent() in your application code. The event name, body, and attributes are entirely defined by you.

Further Reading

  • About Web Events. Overview of the Web Events Explorer where all event types are displayed, including descriptions of each built-in event type.
  • Analyze Page Views. Shows how to investigate browser.page_view and browser.navigation_timing events in detail.
  • Monitor JavaScript Errors. Explains how to use the JavaScript Errors view to investigate browser.error events.
  • Track HTTP Requests. Covers browser.request events and how they link to backend traces using trace correlation context.
  • Use Custom Events. Describes how to instrument and use custom events alongside the built-in browser event types.