At a glance
Largest Contentful Paint p75 over time, daily or monthly time-series of mobile LCP measured from CrUX. The drift-detection view that surfaces gradual performance degradation (or improvement) the static crux_lcp_p75 snapshot can’t show. Critical for monitoring because LCP drift often happens slowly (added third-party tags, image-quality drift on uploaded content, CDN config changes) and goes unnoticed until it crosses a threshold weeks later.
| What it counts | Time-series of largest_contentful_paint p75 across the rolling 28-day CrUX window, sampled at the cadence Vortex IQ refreshes (daily by default; monthly snapshots for long-term comparison). The metric value at each timestamp reflects the trailing 28 days of real-user data. |
| Sample type | Field data sourced from CrUX. Lab-data trend is captured via psi_score_trend which tracks Lighthouse score over time. |
| Why trend matters more than snapshot | A snapshot can show “LCP is 3,200ms today”; the trend shows “LCP was 2,400ms three months ago and has crept up 800ms”. Drift detection is the value: gradual degradation often goes unnoticed in spot-checks but accumulates into ranking-impact territory. |
| Common drift patterns | (1) Slow up-drift (50-100ms/month): typical pattern when third-party tags accumulate without explicit cleanup. (2) Step regression (300-1,000ms in a single week): typically a deploy or content upload that introduced a new render-blocker. (3) Slow down-drift (improvement): post-optimisation absorption over the 28-day rolling window. (4) Cyclical (peak season variations): high-traffic periods (BFCM, Prime Day) often show LCP degradation due to server load. |
| Reading the trend | Look at: (a) direction (up = bad, down = good); (b) slope (slow = drift, steep = regression); (c) inflection points (when did it change? cross-reference with deploy log); (d) band crossing (when did it cross 2,500ms threshold?). |
| The 28-day rolling smoothing | Each daily data point is a 28-day rolling p75. Sharp regressions appear gradually in the trend view because they’re being averaged with 27 days of pre-regression data. A real-world LCP regression from 2,400ms to 4,200ms produces a gradual trend rise over 28 days, not an instant cliff. |
| Sample size threshold | Each daily point requires sufficient real-user volume in the trailing 28 days. Low-traffic sites may have null trend values. |
| Currency | n/a, time-series of milliseconds. |
| Time window | 28D rolling × T (current + historical). |
| Alert trigger | current value > 2,500ms OR 7-day rolling delta > +500ms (regression). |
| Sentiment key | psi_lcp |
| Roles | owner, marketing, operations |
Calculation
Calculated automatically from your Website Performance (PageSpeed + CrUX) data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
A UK-based BigCommerce fashion store, mobile LCP trend over 6 months ending Wednesday 15 May 26.| Month | LCP p75 (mobile) | Δ vs prior | Notes |
|---|---|---|---|
| Nov 25 | 2,380ms | (baseline) | Healthy; in good band |
| Dec 25 | 2,460ms | +80ms | Modest drift |
| Jan 26 | 2,720ms | +260ms | Crossed into “needs improvement” band |
| Feb 26 | 3,180ms | +460ms | New hero carousel deployed (heavier images) |
| Mar 26 | 3,840ms | +660ms | Klaviyo + Tidio + Hotjar tags added in marketing-driven push |
| Apr 26 | 4,420ms | +580ms | Holiday hero campaign (BFCM-prep) hero images |
| May 26 | 4,820ms | +400ms | Current state, “poor” band |
| Cumulative drift Nov→May | +2,440ms (+103%) | 6-month silent regression |
- The site has more than doubled its LCP over 6 months without anyone noticing. Each individual month-over-month change looked modest (80-660ms); cumulatively the LCP has gone from healthy good-band (2,380ms) to failing poor-band (4,820ms). No single deploy was clearly catastrophic; the drift is the story.
- Three distinct contributing events can be identified from the inflection points: (a) Feb 26 hero carousel deploy (+460ms): a marketing-driven design refresh that added heavier hero imagery without performance review; (b) Mar 26 marketing-stack expansion (+660ms): three new third-party tags added in a single sprint to support a new email and chat strategy; (c) Apr 26 BFCM-prep campaign images (+580ms): heavy seasonal imagery uploaded without optimisation discipline.
- Each contributing event individually felt acceptable to the team that made it. The hero carousel was visually stunning; the marketing stack expanded customer engagement; the BFCM imagery was on-brand. None of the teams making changes saw the cumulative LCP impact because nobody was watching the trend.
- The recovery path requires reversing each contribution thoughtfully. Image format conversion + responsive variants for hero + product images recovers ~1,500-2,000ms. Third-party tag deferral + GTM audit recovers another 400-600ms. Aggressive caching + CDN tuning recovers another 200-400ms. Cumulative recovery target: 4,820ms → 2,200-2,400ms over a focused 6-week optimisation cycle.
- Future protection: trend monitoring as a guardrail. Set an alert at +200ms vs 30-day baseline so the next 200ms drift is caught immediately and traced to its cause. Prevents the next 6-month cumulative regression. The Vortex Mind Pre-Launch Readiness report can fire alerts on this signal.
- The 28-day rolling window’s effect on the trend curve is visible in the smoothness. A real-world step regression (e.g. the Mar 26 marketing-stack add) appears as a gradual rise over 28 days rather than a vertical cliff. For attribution work, look 7-14 days before the inflection to find the actual regression event date.
- Identify the dominant trend direction. Up over months = drift; sharp step = single regression event.
- Cross-reference inflection points with deploy log + content management activity. Most regressions trace to a specific date.
- Decompose into component contributions. Was it third-party? First-party? Content uploads? Each cause has a different fix.
- Plan recovery to undo each contribution. Multi-week cycle typical for accumulated drift.
| Time horizon | Action |
|---|---|
| First 1 hour | Identify whether trend is drift (slow rise) or regression (step). |
| First 4 hours | Cross-reference inflection points with deploy log. |
| First 7 days | Begin recovery work (image optimisation typically first). |
| First 30 days | Trend reflects optimisations as 28-day rolling window absorbs. |
| Ongoing | Set alert for +200ms drift to prevent recurrence. |
Sibling cards merchants should reference together
| Card | Why merchants reach for it |
|---|---|
crux_lcp_p75 | Static snapshot; this card is the time-series view. |
crux_inp_trend | INP trend; pair for full CWV trend picture. |
crux_cls_trend | CLS trend. |
crux_pass_rate_trend | All-three pass rate trend. |
psi_score_trend | Lab Performance Score over time. |
crux_regression_timeline | Regression detection across all CWV. |
psi_biggest_regression | Per-URL regression view. |
psi_image_optimisation | Common LCP fix lever. |
psi_third_party_cost | Third-party drift commonly causes LCP regression. |
Reconciling against the vendor’s own dashboard
Where to look:- GSC → Core Web Vitals report, surfaces 90-day trend.
- CrUX Dashboard via Looker Studio, Google’s official CrUX explorer with deeper trend analysis.
- CrUX BigQuery dataset, monthly snapshots back to 2018 for long-term historical analysis.
| Reason | Direction | What to do |
|---|---|---|
| Aggregation cadence. Vortex IQ samples daily; CrUX BigQuery samples monthly. | Different granularity | Use Vortex IQ for short-term drift detection; BigQuery for long-term historical. |
| Window timing. Vortex IQ refreshes daily; CrUX has 1-2 day lag. | Vortex IQ lags | Wait for next refresh. |
| Smoothing. Each Vortex IQ data point is the 28-day rolling p75 at that timestamp; not a snapshot of the day. | Smoothed | Sharp regressions appear as gradual rises in the trend view. |
crux_lcp_p75, psi_score_trend).
Quick rule for support tickets: if a merchant says “I deployed a fix yesterday but the trend hasn’t moved”, the 28-day rolling window means yesterday’s fix is one day in a 28-day average. Wait 7-14 days for partial movement; 28 days for full reflection.
Known limitations / merchant FAQs
My LCP has crept up 800ms over 6 months. Where do I start the recovery? Cross-reference inflection points with deploy + content-management activity. Most cumulative drift traces to specific events (a deploy, a content upload, a third-party tag addition); identifying the events lets you reverse them. Tools to use: deploy log, GTM audit log, CMS image-upload log, theme version history. My trend looks flat but my LCP is in the poor band. What do I do? The site has a stable but bad LCP. No drift means no recent regression; the issue is structural rather than progressive. Address structural issues: image format conversion, render-blocking CSS, slow server response. The optimisation playbook is the same as for a recently-regressed site, just no need for inflection-point investigation. My deploy fixed LCP but the trend hasn’t moved. Why? The 28-day rolling window. Each daily data point includes 27 days of pre-deploy data plus 1 day of post-deploy. Wait 7 days for partial movement (then ~25 percent of the window is post-deploy); 14 days for substantial movement; 28 days for full reflection. Why is my trend so smooth when I know my deploys have spikes? The 28-day rolling window smooths spikes. Sharp single-day regressions appear as gradual rises in the trend view. For attribution work, the inflection point in the trend lags the actual regression event by ~7-14 days; look earlier than the visible inflection. Should I use trend or snapshot? Both. Snapshot answers “where am I now”; trend answers “where am I going”. Use snapshot for ranking-impact decisions today; use trend for drift detection and recovery planning. Can Vortex IQ alert me when LCP starts drifting? Yes; alert trigger7-day rolling delta > +500ms catches step regressions; current value > 2,500ms catches threshold crossings. Configure in Vortex IQ → Alerts.
Why does my trend show null for some recent days?
Insufficient CrUX data for those windows. Sites with low or fluctuating traffic occasionally drop below the 1,000-session threshold; the metric returns null for affected days. Use lab data (psi_lab_lcp) as the fallback for those gaps.
Can I export this trend to share with stakeholders?
The Vortex IQ dashboard supports CSV export; the underlying CrUX BigQuery dataset is also publicly queryable for long-form reporting. The Vortex Mind Pre-Launch Readiness report includes trend snapshots in its outputs.