Core Web Vitals Troubleshooting

Find below some common questions related to Core Web Vitals metrics

Delay in CLS on realtime

CLS is a user-centric metric that measures visual stability of a page as a user browses through it during the entire lifespan of the page. It takes into consideration things like async resource loading, dynamic DOM elements, scroll bounded animations or actions, lazy loading, etc.

The fact that the metrics have to take into consideration the whole lifespan of the page is what adds the delay. Marfeel tracks user presence every few seconds and sends the data back to the ingestion system via unload beacons. The nature of the browser unload beacons implementation doesn’t systematically trigger them. For these situations Marfeel ingest system has a mechanism to terminate unexplicitly terminated page sessions (i.e users that didn’t close the browser or browser tab but locked the phone directly). CLS is computed once the page lifecycle can be considered terminated, not before.

This is what makes the metric unstable during aprox 10min, which is what it takes our system to consider unterminated page sessions completed (if no presence event or unload beacon triggered) and the time window that CLS needs to be properly calculated.

Why are we only seeing this delay on CLS?

The other CWVs metrics, except for INP, are not user interaction based which means that their measurement is deterministic and can be consolidated almost instantly.

Why is it only happening in some domains?

For websites featuring interactions that lead to layout shifts while navigating pages, it’s worth mentioning that this metric may display greater fluctuations until the system recognizes the conclusion of the page’s lifespan.