Documentation

Metrics

TTFB, FCP, LCP, TBT, CLS, DOM size, blocking scripts and further signals.

Why these metrics matter

turbometrics does not only show a score, but the metrics behind it. It is exactly these values that help you spot real causes instead of just judging a result.

The most important metrics show up again in the scan report, in comparisons and in part also in alerts.

TTFB

Time to First Byte shows how quickly the server responds to the first request.

High TTFB values often point to:

  • slow hosting
  • slow backend logic
  • caching problems
  • external dependencies ahead of the response

A good TTFB does not solve every problem, but a poor TTFB slows down almost everything that follows.

Reference values (turbometrics scan assessment):

Value Assessment
Under 500 ms Good
500–1,200 ms Notable
Over 1,200 ms Critical

These thresholds refer to the internal scan assessment. Google's CrUX reference values (≤ 800 ms / ≤ 1,800 ms) are aimed at real user data and deliberately differ from them – both are documented further down this page.

FCP

First Contentful Paint shows when visible content first appears. It matters for the first impression while loading.

Reference values (turbometrics scan assessment):

Value Assessment
Under 1,600 ms Good
1,600–2,500 ms Notable
Over 2,500 ms Critical

A late FCP can mean that:

  • CSS or JS is blocking early rendering
  • the server responds late
  • large resources are loaded ahead of visible content

LCP

Largest Contentful Paint measures when the most important visible main content has loaded. LCP is especially important in the product, because it is closely tied to the perceived loading experience.

A poor LCP is often caused by:

  • large images
  • heavy above-the-fold content
  • a slow server response
  • blocking resources

TBT

Total Blocking Time measures how long the browser main thread was blocked while the page was rendering. Blocked means: JavaScript runs for so long that the browser can neither respond to input nor update the screen.

TBT is made up of the blocking portions of all long tasks – that is, the time each one spends beyond 50 ms.

Reference values:

Value Assessment
Under 200 ms Good
200–600 ms Room for improvement
Over 600 ms Critical

High TBT values usually point to:

  • heavy or poorly loaded JavaScript
  • third-party scripts (tracking, chat, consent)
  • missing prioritisation when loading scripts

CLS

Cumulative Layout Shift shows whether content jumps while loading. A low CLS matters for a stable user experience.

A poor CLS is often caused by:

  • images without fixed dimensions
  • fonts or banners that shift the layout afterwards
  • components that are displayed dynamically

Requests and data volume

Besides runtime values, the structure and weight of the page matter too:

  • many requests add coordination and loading overhead
  • large data volumes slow down mobile connections in particular
  • large fonts, images and scripts often show up again among the biggest slowdowns

Resource breakdown

In the developer tab, turbometrics shows a breakdown of the loaded resources by type:

Type Content
JS JavaScript files
CSS Stylesheets
IMG Images
FONT Font files
VIDEO Video files

The breakdown is based on browser runtime data. If JS data is not available (e.g. for cached resources), the static analysis value is used and marked accordingly.

Long tasks

Long tasks are tasks that block the browser main thread for longer than 50 ms. The blocking time is the portion beyond 50 ms – this time feeds directly into TBT.

turbometrics shows for each long task:

  • the start time (measured from page load)
  • the total duration
  • the blocking time (colour-coded by severity)
  • the likely cause (script URL, as far as it can be determined)

The likely cause is determined by overlap with the resource timings and is an approximation, not a proven fact.

DOM size

The number of all DOM elements on the page. From around 1,500 elements onwards, the browser becomes noticeably slower at rendering and at JavaScript operations.

Reference values:

Elements Assessment
Under 800 Good
800–1,500 Okay
Over 1,500 Elevated (Lighthouse reference value)
Over 3,000 Critical

A typical cause: page builders such as Elementor or Divi often produce a great many nested wrapper elements.

Blocking scripts

The number of external JavaScript files that are included without async or defer. These scripts block the browser while it parses the HTML, until they have been fully loaded and executed.

Reference values:

Count Assessment
0 Optimal
1–3 Acceptable
More than 3 Should be reduced

The affected script URLs are listed in the report.

Images without explicit dimensions

Images without width and height attributes can cause layout shifts while loading (CLS), because the browser cannot reserve space for them.

turbometrics shows the number of affected images as well as the total number of images detected on the page.

Browser runtime

turbometrics looks not only at static preflight data, but also at the browser runtime. That gives you a better view of what actually happens while the page renders.

This matters for:

  • differences between mobile and desktop
  • third parties that stand out
  • late runtime requests
  • heavy front-end JavaScript

Reading metrics correctly

No metric stands on its own. Good interpretation combines:

  • the measured value
  • the score breakdown
  • the biggest slowdowns
  • problems and recommendations
  • the history or the baseline

That turns a number into a usable technical assessment.

Real user data (CrUX)

In addition to its own measurements, turbometrics shows – where available – CrUX data (Chrome User Experience Report). This is anonymised field data that Google aggregates from real Chrome sessions.

What CrUX measures:

Metric Meaning
LCP Largest Contentful Paint – when the main content becomes visible
INP Interaction to Next Paint – response time to user input
CLS Cumulative Layout Shift – visual stability while loading
TTFB Time to First Byte – server response time

Important limitations:

  • Only Chrome users are included – Firefox, Safari and other browsers are not covered
  • The data covers the last 28 days and updates weekly
  • Desktop data requires a minimum number of Chrome users on that domain – if there is not enough data, no desktop value is shown
  • CrUX data reflects real user behaviour, not a lab measurement – depending on the audience, region and device, it can differ considerably from your own scan values

Reference values (according to Google):

Metric Good Room for improvement Critical
LCP ≤ 2,500 ms ≤ 4,000 ms > 4,000 ms
INP ≤ 200 ms ≤ 500 ms > 500 ms
CLS ≤ 0.1 ≤ 0.25 > 0.25
TTFB ≤ 800 ms ≤ 1,800 ms > 1,800 ms

CrUX data complements your own scan values – it shows how the page performs for real users, not just in the lab.

Further reading

Technical signals in the developer tabScoring & methodologyProblems & recommendationsBaselines & comparison