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

Last updated: March 13, 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.

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.method, http.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.

Naming convention: Use snake_case names that describe the action that occurred — for example, checkout_completed, feature_flag_evaluated, video_played. Avoid names that start with browser. as this prefix is reserved for SDK-emitted events.