Your Core Web Vitals assessment fails when one or more of the three metrics—Largest Contentful Paint (LCP), First Input Delay (FID), or Cumulative Layout Shift (CLS)—fall outside Google's thresholds for at least 75% of page visits. LCP must be under 2.5 seconds, FID under 100 milliseconds, and CLS below 0.1. Google uses real Chrome user data (CrUX) aggregated over 28 days, so even if your lab tests look clean, field performance determines the verdict. The most common culprits are oversized hero images or videos that delay LCP, render-blocking CSS and JavaScript that push interactivity past the FID threshold, and unstyled elements or ad slots that shift layouts after load. Server response times over 600ms compound the problem, especially for sites on shared hosting or running heavy WordPress setups without object caching. Third-party scripts—analytics, chat widgets, ad networks—routinely sabotage all three metrics if loaded synchronously or without proper resource hints. Check PageSpeed Insights and Search Console's Core Web Vitals report to see which URLs fail and which metric is the blocker. If LCP is the issue, compress images to WebP, lazy-load below-the-fold content, and use a CDN. For CLS, reserve space for images and embeds with explicit width and height attributes, and avoid injecting content above existing elements. FID is now transitioning to Interaction to Next Paint (INP), so minimize main-thread blocking with code splitting and defer non-critical JavaScript. At Ottawa SEO, we prioritize LCP fixes first because they deliver the biggest perceived speed gain for users and typically move the needle faster than hunting down every CLS micro-shift. We also test on real 3G throttling, not just desktop lab conditions, since Canadian mobile networks vary widely outside urban cores. If you're failing despite clean local tests, your CDN might be misconfigured or your origin server is choking under real traffic—run a proper load test before assuming the frontend is the problem.